SearXNG: VPS'te kendi izleme yapmayan arama motorunuz
Geleneksel bir arama motoru sorguyu IP adresi, çerezler ve etkinlik geçmişiyle ilişkilendirebilir. SearXNG rotayı değiştirir: tarayıcı sizin instance'ınıza bağlanır; instance birkaç harici arama motoruna sorgu gönderir ve yanıtlarını tek bir sayfada birleştirir.
Harici kaynaklar kullanıcının çerezlerini değil SearXNG sunucusunun adresini görür. Hizmet kendi başına bir reklam profili oluşturmaz. Ancak bu tam anonimlik değildir: genel bir instance'ın sahibi teknik olarak log tutabilir ve bir bağlantıyı açtıktan sonra hedef web sitesi tarayıcıyla yeniden iletişim kurar.
SearXNG'in yeteneklerini inceleyip HTTPS ve parola korumasıyla VPS'te kendi instance'ımızı kuracağız.
SearXNG nedir ve nasıl çalışır?
SearXNG ücretsiz ve açık kaynaklı bir meta arama motorudur. Kendi web sitesi dizinini tutmaz; yapılandırılmış arama motorlarından ve özel kaynaklardan sonuçları alır, normalleştirir ve tek bir arayüzde gösterir.
Browser → your SearXNG → search engines
↓
combined resultsHer sorgu için SearXNG:
- arama kategorisini belirler: web, görseller, haberler, videolar veya başka bir kategori;
- sunucu adına seçilen kaynaklarla iletişim kurar;
- kullanıcının çerezlerini onlara göndermez ve giden istekler için rastgele bir tarayıcı profili kullanır;
- yanıtları tek bir sonuç sayfasında birleştirir.
Hız harici sistemlere bağlıdır: yavaş yanıt verebilir, CAPTCHA gösterebilir veya IP adresini engelleyebilirler. SearXNG yönetilen bir aracı katmandır; bağımsız bir dizin değildir.
SearXNG neden tek bir arama motorundan daha ilginç?
Farklı kaynakları tek sonuç sayfasında birleştirme
Genel amaçlı arama motorlarını ansiklopediler, haritalar, bilimsel yayınlar, depolar, haber hizmetleri veya görsel katalogları gibi özel kaynaklarla birleştirebilirsiniz. Geleneksel bir sonuç sayfası SEO sayfalarıyla dolduğunda veya niş içerikleri bulmakta zorlandığında bu yaklaşım yardımcı olur.
Bu makale hazırlanırken belgelerde 272 entegrasyon listeleniyor, bunların 83'ü varsayılan olarak etkin görünüyordu. Bu, hepsinin aynı derecede kararlı olduğu anlamına gelmez.
Küme yapılandırmaya bağlıdır. Her şeyi aynı anda etkinleştirmek yerine birkaç kararlı kaynak genellikle daha hızlı çalışır.
Hızlı komutlar
Kısayollar bir motoru, kategoriyi veya dili geçici olarak seçmenizi sağlar:
!wp docker compose — search Wikipedia
!images northern lights — search for images
:en !wp proxy server — search Wikipedia in English!! komutu kullanıcıyı doğrudan harici bir arama motoruna yönlendirir. Bu modda SearXNG koruması artık uygulanmaz.
Tarayıcı ve kendi araçlarınız için arama
SearXNG OpenSearch'ü destekler; bu nedenle tarayıcının varsayılan arama motoru yapılabilir. Yönetici gerekli biçimleri etkinleştirdiyse JSON, CSV veya RSS yanıtları veren bir HTTP API de kullanılabilir.
Tek bir instance dahili bir dashboard, bot, araştırma script'i veya yerel yapay zekâ asistanı için arama backend'i olabilir. API yalnızca kimlik doğrulama ve rate limit yapılandırıldıktan sonra dışarı açılmalıdır.
SearXNG ne kadar özeldir?
| Yaptığı | Yapmadığı |
|---|---|
| Tarayıcı çerezlerini harici arama motorlarına göndermez | Tam anonimlik sağlamaz |
| Kullanıcının IP'sini sunucunun IP'sinin arkasına gizler | Sonuç sitesini açtıktan sonra kullanıcıyı korumaz |
| Üçüncü taraf reklamları ve bazı izleme parametrelerini kaldırır | Başkasının sunucusunun sahibinin log tutmadığını garanti etmez |
| Görselleri proxy'leyebilir | VPN, Tor veya tarayıcı korumasının yerini tutmaz |
Hizmeti denemek için genel bir instance kullanışlıdır, ancak yöneticisine güvenmeniz gerekir ve paylaşılan IP'nin rate limit'e takılma ihtimali daha yüksektir.
Kendi sunucunuz loglar, kaynaklar ve erişim üzerinde kontrol verir, ancak tarayıcıyı anonim hâle getirmez.
Genel instance, ev sunucusu veya VPS
| Seçenek | Avantajlar | Sınırlamalar |
|---|---|---|
| Genel instance | Kurulum gerekmez | Sahibe güven, aşırı yük, CAPTCHA |
| Ev sunucusu | VPS kiralamadan tam kontrol | Cihaz sürekli çalışmalı; dış erişimi yapılandırmak daha zordur |
| Kendi VPS'iniz | 7/24 çalışma, alan adı, HTTPS, farklı cihazlardan erişim | Container'lar güncellenmeli ve güvenlik izlenmeli |
Kendi SearXNG instance'ınız aile, ekip, geliştirici veya yerel yapay zekâ araçları için kullanışlıdır. Ara sıra yapılan aramalar için genel instance daha basittir.
SearXNG ne tür bir VPS ister?
Yük; kullanıcı, kaynak ve eşzamanlı sorgu sayısına bağlıdır. Pratik başlangıç yapılandırmaları:
| Senaryo | CPU | RAM | Depolama |
|---|---|---|---|
| Bir kullanıcı | 1 vCPU | 1 GB | 10 GB |
| Aile veya küçük ekip | 2 vCPU | 2 GB | 20 GB |
| API ve ek hizmetler | 2–4 vCPU | 4 GB'tan itibaren | 30 GB'tan itibaren |
Büyük bir diske gerek yoktur. Ağ kalitesi, kararlı IP adresi ve boş RAM daha önemlidir.
Bu senaryo için tropic.host Linux VPS'i uygundur: küçük bir yapılandırmayla başlayıp kullanıcı veya API erişimi ekledikçe kaynakları artırabilirsiniz. Plan seçerken depolama kapasitesine fazla ödeme yapmak yerine RAM ve ağ kalitesine yatırım etmek daha yararlıdır.
Docker Compose ile VPS'e SearXNG kurulumu
Bu örnekte Ubuntu 24.04 LTS, search.example.com, Valkey ve Caddy kullanılır. DNS A kaydını sunucuya yönlendirin ve 80 ile 443 portlarını açın.
1. Docker'ı kurup bir dizin oluşturun
sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker
sudo mkdir -p /opt/searxng/searxng
cd /opt/searxngAlan adı ve rastgele bir gizli anahtarla .env dosyası oluşturun:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. docker-compose.yml oluşturun
name: searxng
services:
searxng:
image: docker.io/searxng/searxng:latest
restart: unless-stopped
environment:
SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
SEARXNG_SECRET: ${SEARXNG_SECRET}
SEARXNG_VALKEY_URL: valkey://valkey:6379/0
volumes:
- ./searxng:/etc/searxng:rw
- searxng-cache:/var/cache/searxng
depends_on: [valkey]
valkey:
image: docker.io/valkey/valkey:9-alpine
restart: unless-stopped
command: valkey-server --save 30 1 --loglevel warning
volumes:
- valkey-data:/data
caddy:
image: docker.io/caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
environment:
SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
depends_on: [searxng]
volumes:
searxng-cache:
valkey-data:
caddy-data:
caddy-config:3. SearXNG'i yapılandırın
searxng/settings.yml oluşturun:
use_default_settings: true
general:
instance_name: "Private Search"
search:
safe_search: 1
autocomplete: ""
formats: [html]
server:
limiter: true
image_proxy: true
valkey:
url: valkey://valkey:6379/0searxng/limiter.toml oluşturun:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]Limiter, botların instance'ı aşırı yüklemesi ve harici arama motorlarının IP adresini daha erken kısıtlaması riskini azaltır.
4. Parola ve HTTPS ekleyin
Güçlü bir parola için hash oluşturun:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'Oluşan hash'i Caddyfile içine ekleyin:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSERT_HASH_HERE
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy düz metin parola yerine hash'i saklar. Basic Auth yerine hizmet yalnızca VPN ile de sınırlandırılabilir.
5. Container'ları başlatın
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose pshttps://search.example.com adresini açın. Caddy otomatik olarak TLS sertifikası alır; ardından tarayıcı searchuser kullanıcı adını ve parolayı ister. SearXNG günlükleri:
sudo docker compose logs -f searxngBaşlangıçtan sonra neleri yapılandırmalı?
Yalnızca yararlı kaynakları bırakın, dili ve SafeSearch ayarını seçin, ardından OpenSearch üzerinden SearXNG'i tarayıcıya ekleyin. Güncellemek için:
sudo docker compose pull
sudo docker compose up -d.env, Caddyfile ve searxng dizinini yedekleyin. JSON API'yi yalnızca gerektiğinde etkinleştirin; parola ve rate limiting olmadan açık bırakmayın.
Yaygın hatalar
| Hata | Sonuç | Çözüm |
|---|---|---|
| Instance'ı herkese açmak | Botlar yük oluşturur, IP daha sık kısıtlanır | Parola, VPN veya single sign-on kullanın |
| Çok fazla kaynak etkinleştirmek | Yavaş sonuçlar ve zaman aşımı | Birkaç kararlı motor bırakın |
| SearXNG'i kendi dizini sanmak | Harici sistemler başarısız olduğunda bazı sonuçlar kaybolur | Kaynaklara bağımlılığı hesaba katın |
| Tam anonimlik beklemek | Hedef site tarayıcıyı yine izleyebilir | Tarayıcı koruması, VPN veya Tor kullanın |
| HTTPS olmadan çalıştırmak | Sorgular ve parola güvensiz gönderilir | TLS içeren reverse proxy kullanın |
Sonuç
SearXNG farklı kaynakları tek arayüzde birleştirir, kişiselleştirmeyi azaltır ve tarayıcılar, script'ler veya yerel yapay zekâ için tek bir arama hizmeti sunar. Denemek için genel bir instance yeterlidir. Düzenli kullanımda HTTPS, kimlik doğrulama, limiter ve birkaç kararlı kaynakla kendi sunucunuz daha iyi bir seçimdir.
1 GB RAM ile başlayabilirsiniz. Kullanıcı sayısı arttığında, API'yi etkinleştirdiğinizde veya ek container'lar çalıştırdığınızda kaynakları artırın.
SSS
SearXNG tamamen anonim mi?
Hayır. Bazı verileri harici arama motorlarından gizler, ancak instance yöneticisi log tutabilir. Bir web sitesini açtıktan sonra onun kendi izleme mekanizmaları geçerli olur.
SearXNG Google'dan daha mı iyi?
Farklı bir sorunu çözer. Google genellikle daha hızlıdır ve sonuçları daha fazla kişiselleştirir. SearXNG size daha fazla kontrol verir, kaynakları birleştirmenizi sağlar ve kullanıcı profiline daha az dayanır.
SearXNG'i VPS olmadan kullanabilir miyim?
Evet. Genel bir instance, ev bilgisayarı, NAS veya mini sunucu kullanabilirsiniz. Her ağdan 7/24 erişim için VPS gerekir.
Ne kadar RAM gerekir?
Bir kullanıcı için 1 GB ile başlamak mantıklıdır. Aile, ekip, API veya ek container'lar için 2–4 GB tercih edilir.
SearXNG bir tarayıcıya veya yapay zekâya bağlanabilir mi?
Evet. Tarayıcı OpenSearch kullanabilir, uygulamalar da HTTP API'yi kullanabilir. API erişimi kimlik doğrulama ve limiter ile korunmalıdır.
