MPL-2.0 Lisanslı

Rover Dokümantasyonu

Açık kaynaklı, gizlilik odaklı arama motoru Rover'ı entegre etmek ve dağıtmak için ihtiyacınız olan her şey.

Tüm Roversurf projeleri, MPL-2.0 altında lisanslanmaktadır.


Rover

Rover kapsamlı arama motoru platformudur. RSEC'in tüm temel arka uç işlevlerini barındırır, ancak ek olarak web arayüzünü (frontend) de içerir.

Rover yapısı

text
rover/
├── api/            # FastAPI application & routers
├── crawler/        # Web spider & content extraction
├── indexer/        # Core indexing engine architecture
├── lib/            # Core libraries (DB, search engine, AI)
├── tools/          # Administrative & maintenance tools
├── web/            # Next.js web interface & frontend
└── requirements.txt

RSEC — Rover Search Engine Core

RSEC (Rover Search Engine Core), web ön yüzü hariç her şeyi barındıran tam arka uç deposudur.

RSEC yapısı

text
rsec/
├── api/            # FastAPI application & routers
├── crawler/        # Web spider & content extraction
├── indexer/        # Core indexing engine architecture
├── lib/            # Core libraries (DB, search engine, AI)
├── tools/          # Administrative & maintenance tools
└── requirements.txt

Rover-SCLI — Komut Satırı Arayüzü

Rover-SCLI , tam özellikli bir terminal arama aracıdır.

Kurulum

bash
# Clone the SCLI repository
git clone https://github.com/roversurf/rover-scli.git
cd rover-scli

# Install dependencies
pip install requests rich

Kullanım

bash
# Basic search
python rover_search.py "your search query"

# Search in a specific category
python rover_search.py "latest tech news" --tab news

# Interactive mode
python rover_search.py --interactive

# Specify region
python rover_search.py "weather" --region tr
İpucu: Etkileşimli modda kategoriler arasında Tab ile geçiş yapın.

R-Protocol (Ortak Parametreler)

Bu parametreler Rover ekosistemindeki tüm API'lerde (Arama ve Favicon) kimlik ve güvenlik doğrulaması için ortak kullanılır.

r_src
Rover kaynak tanımlayıcısı — isteğin geldiği sayfayı belirtir (r_src). Örn: hp (ana sayfa), srp (arama sonuçları).
Örnek: r_src=hp
r_ua
Rover platform veya eylem tanımlayıcısı — İsteğin yapıldığı cihaz ve arayüz tipini belirtir (Örn: windows_web, android_app).
Örnek: r_ua=windows_web
r_cli
Rover istemci tanımlayıcısı — İsteği yapan arayüzü belirtir (Örn: r_sapi).
Örnek: r_cli=r_sapi
r_sv
Rover arama doğrulama parametresi (r_sv).
Örnek: r_sv=R56789
r_csrf
Rover güvenlik/CSRF uyumluluğu için (r_csrf).
Örnek: r_csrf=R_abc123_xyz


Favicon API

Favicon çözümleyici API yüksek çözünürlüklü bir favicon döndürür.

Kullanım

bash
# Get high-res favicon (returns redirect or direct bytes)
curl -L "https://roversurf.com/api/favicon?url=vertexishere.com"

# Get metadata with all Rover tracking parameters
curl "https://roversurf.com/api/favicon?url=vertexishere.com&metadata=true&r_sv=12345&r_csrf=abcde&r_src=hp&r_ua=windows_web&r_cli=r_sapi"

# Get only color & URL info
curl "https://roversurf.com/api/favicon/color?url=vertexishere.com"

Renk Bilgisi Servisi (/color)

Sadece hedef URL'in yüksek çözünürlüklü ikon adresini ve ana renk kodunu almak için kullanılır. Sadece 1 adet (url) parametresi vardır.

json
{
  "status": "success",
  "url": "https://github.com",
  "best_favicon_url": "https://github.githubassets.com/favicons/favicon.svg",
  "color": "#24292e"
}

Çözümleme Mantığı

  • Sistem; Manifest, Apple Touch Icon ve standart Icon dosyalarını tarayarak mevcut en yüksek çözünürlüğü seçer.
  • SVG formatındaki ikonlar her zaman önceliklidir. Diğer formatlarda 128x128'e en yakın olan tercih edilir.

Renk Çıkarımı

UI'da dinamik kullanım için PIL tabanlı ColorFinder ile ikonun baskın rengini analiz eder.

CORS ve Byte Servisi

İkonlar, tarayıcı tabanlı CORS ve ORB kısıtlamalarını aşmak için doğrudan sunucu üzerinden ham byte olarak servis edilebilir.

Sorgu Parametreleri

urlZorunlu
İkonu alınacak hedef site adresi.
Örnek:
curl -L "https://roversurf.com/api/favicon?url=vertexishere.com"
metadataOpsiyonel
Eğer true gönderilirse resim yerine ikon URL'i ve renk bilgilerini içeren JSON döner.
Örnek:
curl "https://roversurf.com/api/favicon?url=vertexishere.com&metadata=true"
proxyOpsiyonel
CORS'u aşmak için görseli sunucu üzerinden proxy eder. Doğrudan favicon URL'lerinde CORS kısıtlamaları olduğunda kullanışlıdır.
Örnek:
curl -L "https://roversurf.com/api/favicon?url=https://example.com/favicon.ico&proxy=true"
Not:: Favicon API ayrıca tüm R-Protocol (Common) parametrelerini destekler.
Not: API, en iyi favicon URL'sine 302 yönlendirmesi döndürür.

Fetch API

Evrensel CORS bypass proxy. Herhangi bir harici kaynağı alır ve uygun başlıklarla sunar. JSON, HTML, görseller, videolar ve her içerik türünü destekler.

Kullanım

bash
# Fetch JSON data
curl "https://roversurf.com/api/fetch?url=https://api.github.com/users/octocat"

# Fetch HTML page
curl "https://roversurf.com/api/fetch?url=https://example.com"

# Fetch image (save to file)
curl "https://roversurf.com/api/fetch?url=https://httpbin.org/image/png" -o image.png

# With tracking parameters
curl "https://roversurf.com/api/fetch?url=https://api.github.com/users/octocat&r_src=hp&r_ua=linux_web"

Özellikler

  • İstemci tarafı istekler için CORS kısıtlamalarını aşar
  • Tüm içerik türlerini destekler (JSON, HTML, görseller, videolar, vb.)
  • Otomatik yönlendirme takibi
  • İzleme için analitik kayıt

Sorgu Parametreleri

urlZorunlu
Alınacak hedef URL. Geçerli bir HTTP/HTTPS URL'si olmalıdır.
Örnek:
curl "https://roversurf.com/api/fetch?url=https://api.github.com/users/octocat"
Not:: Fetch API ayrıca izleme için tüm R-Protocol (Common) parametrelerini destekler.

api_keys_title

api_keys_desc

Nasıl Alınır

  1. Geliştirici Portalı sayfasına gidin. Geliştirici Portalı.
  2. Oluşturma işlemi çekirdek ekibine ayrılmıştır.
  3. İzin verildiğinde anahtarınız görünecektir.

Anahtarınızı Kullanma

bash
# Include your API key in the request header
curl -X GET "https://roversurf.com/api/search?q=hello" \
  -H "Authorization: Bearer YOUR_API_KEY"
Güvenlik: Anahtarınızı asla istemci kodlarında ifşa etmeyin.