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ı
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.txtRSEC — 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ı
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.txtRover-SCLI — Komut Satırı Arayüzü
Rover-SCLI , tam özellikli bir terminal arama aracıdır.
Kurulum
# Clone the SCLI repository
git clone https://github.com/roversurf/rover-scli.git
cd rover-scli
# Install dependencies
pip install requests richKullanım
# 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 trR-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_srcr_uar_clir_svr_csrfArama API'si
Rover Arama API'si, web arama sonuçlarına programatik erişim sağlar.
Web Araması
curl -X GET "https://roversurf.com/api/search?q=hello+world®ion=global" \
-H "Accept: application/json"Yanıt Formatı
{
"results": [
{
"title": "Hello, World! - Wikipedia",
"url": "https://en.wikipedia.org/wiki/Hello_World",
"snippet": "A "Hello, World!" program is generally a simple...",
"favicon_url": "https://en.wikipedia.org/favicon.ico"
}
],
"total": 150,
"query": "hello world"
}Görsel Araması
curl -X GET "https://roversurf.com/api/search/images?q=aurora+borealis&size=large"Video Araması
curl -X GET "https://roversurf.com/api/search/videos?q=rust+programming"Haber Araması
curl -X GET "https://roversurf.com/api/search/news?q=technology®ion=us"Yapay Zeka Araması (Cortex)
curl -X GET "https://roversurf.com/api/search/ai?q=explain+quantum+computing"Sorgu Parametreleri
qArama sorgusu (gerekli)regionBölge kodu: global, us, gb, de, fr, tr, vb.langDil kodu (örn. en, tr)safeGüvenli arama filtresi (true/false)Analitik Parametreler (Otomatik)
Sadece /api/search ürünü tarafından detaylı kullanıcı analizi için kullanılır:
r_eiOlay Tanımlayıcır_sigDijital İmzar_vidZiyaretçi Kimliğir_oqOrijinal Sorgur_lpYerel TercihFavicon API
Favicon çözümleyici API yüksek çözünürlüklü bir favicon döndürür.
Kullanım
# 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.
{
"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
urlZorunlucurl -L "https://roversurf.com/api/favicon?url=vertexishere.com"metadataOpsiyonelcurl "https://roversurf.com/api/favicon?url=vertexishere.com&metadata=true"proxyOpsiyonelcurl -L "https://roversurf.com/api/favicon?url=https://example.com/favicon.ico&proxy=true"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
# 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
urlZorunlucurl "https://roversurf.com/api/fetch?url=https://api.github.com/users/octocat"api_keys_title
api_keys_desc
Nasıl Alınır
- Geliştirici Portalı sayfasına gidin. Geliştirici Portalı.
- Oluşturma işlemi çekirdek ekibine ayrılmıştır.
- İzin verildiğinde anahtarınız görünecektir.
Anahtarınızı Kullanma
# Include your API key in the request header
curl -X GET "https://roversurf.com/api/search?q=hello" \
-H "Authorization: Bearer YOUR_API_KEY"