Tropic Host

SearXNG: nedir ve VPS'te kendi arama motorunuzu nasıl kurarsınız?

6 dk okuma
Tropic
SearXNG: nedir ve VPS'te kendi arama motorunuzu nasıl kurarsınız?

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 results

Her sorgu için SearXNG:

  1. arama kategorisini belirler: web, görseller, haberler, videolar veya başka bir kategori;
  2. sunucu adına seçilen kaynaklarla iletişim kurar;
  3. kullanıcının çerezlerini onlara göndermez ve giden istekler için rastgele bir tarayıcı profili kullanır;
  4. 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öndermezTam anonimlik sağlamaz
Kullanıcının IP'sini sunucunun IP'sinin arkasına gizlerSonuç sitesini açtıktan sonra kullanıcıyı korumaz
Üçüncü taraf reklamları ve bazı izleme parametrelerini kaldırırBaşkasının sunucusunun sahibinin log tutmadığını garanti etmez
Görselleri proxy'leyebilirVPN, 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çenekAvantajlarSınırlamalar
Genel instanceKurulum gerekmezSahibe güven, aşırı yük, CAPTCHA
Ev sunucusuVPS kiralamadan tam kontrolCihaz sürekli çalışmalı; dış erişimi yapılandırmak daha zordur
Kendi VPS'iniz7/24 çalışma, alan adı, HTTPS, farklı cihazlardan erişimContainer'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ı:

SenaryoCPURAMDepolama
Bir kullanıcı1 vCPU1 GB10 GB
Aile veya küçük ekip2 vCPU2 GB20 GB
API ve ek hizmetler2–4 vCPU4 GB'tan itibaren30 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/searxng

Alan 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 .env

2. 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/0

searxng/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 ps

https://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 searxng

Baş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

HataSonuçÇözüm
Instance'ı herkese açmakBotlar yük oluşturur, IP daha sık kısıtlanırParola, VPN veya single sign-on kullanın
Çok fazla kaynak etkinleştirmekYavaş sonuçlar ve zaman aşımıBirkaç kararlı motor bırakın
SearXNG'i kendi dizini sanmakHarici sistemler başarısız olduğunda bazı sonuçlar kaybolurKaynaklara bağımlılığı hesaba katın
Tam anonimlik beklemekHedef site tarayıcıyı yine izleyebilirTarayıcı koruması, VPN veya Tor kullanın
HTTPS olmadan çalıştırmakSorgular ve parola güvensiz gönderilirTLS 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.