Tropic Host

SearXNG: nədir və VPS-də öz axtarış sisteminizi necə quraşdırmaq olar

7 dəqiqə oxu
Tropic
SearXNG: nədir və VPS-də öz axtarış sisteminizi necə quraşdırmaq olar

Language: az

SearXNG: VPS-də öz izlənməsiz axtarış sisteminiz

Adi axtarış sistemi sorğunu IP ünvanı, kukilər və fəaliyyət tarixçəsi ilə əlaqələndirə bilər. SearXNG bu marşrutu dəyişir: brauzer sizin instansiyanıza qoşulur, həmin instansiya isə bir neçə xarici axtarış sisteminə sorğu göndərir və cavabları bir səhifədə birləşdirir.

Xarici mənbələr istifadəçinin kukilərini deyil, SearXNG serverinin ünvanını görür. Xidmətin özü reklam profili yaratmır. Lakin bu, tam anonimlik deyil: ictimai instansiyanın sahibi texniki olaraq logları saxlaya bilər, siz keçidi açdıqdan sonra isə hədəf sayt brauzerlə yenidən birbaşa əlaqə qurur.

SearXNG-nin imkanlarını nəzərdən keçirəcək və HTTPS, həmçinin parol qorunması ilə öz instansiyamızı VPS-də quraşdıracağıq.

SearXNG nədir və necə işləyir

SearXNG pulsuz, açıq mənbəli meta-axtarış sistemidir. O, veb-saytların öz indeksini saxlamır: xidmət nəticələri konfiqurasiya edilmiş axtarış sistemlərindən və ixtisaslaşmış mənbələrdən alır, onları normallaşdırır və vahid interfeysdə göstərir.

Browser → your SearXNG → search engines
                         ↓
                  combined results

Hər sorğu üçün SearXNG:

  1. axtarış kateqoriyasını müəyyənləşdirir: veb, şəkillər, xəbərlər, videolar və ya başqa kateqoriya;
  2. seçilmiş mənbələrlə serverin adından əlaqə saxlayır;
  3. istifadəçinin kukilərini onlara göndərmir və çıxan sorğular üçün təsadüfi brauzer profilindən istifadə edir;
  4. cavabları vahid nəticələr səhifəsində birləşdirir.

Sürət xarici sistemlərdən asılıdır: onlar gec cavab verə, CAPTCHA göstərə və ya IP ünvanını bloklaya bilər. SearXNG idarə olunan vasitəçi təbəqədir, müstəqil indeks deyil.

SearXNG niyə tək axtarış sistemindən daha maraqlıdır

Bir nəticələr səhifəsində müxtəlif mənbələr

Ümumi təyinatlı axtarış sistemlərini xüsusi mənbələrlə birləşdirə bilərsiniz: ensiklopediyalar, xəritələr, elmi nəşrlər, repozitoriyalar, xəbər xidmətləri və ya şəkil kataloqları. Bu, adi nəticələr səhifəsi SEO səhifələri ilə yükləndikdə və ya dar mövzuda material tapmaq çətin olduqda kömək edir.

Bu məqalə hazırlanarkən sənədləşmədə 272 inteqrasiya göstərilirdi və onlardan 83-ü standart olaraq aktiv idi. Bu, onların hamısının eyni dərəcədə stabil olduğu demək deyil.

Toplu konfiqurasiyadan asılıdır. Bir neçə stabil mənbə adətən hər şeyi eyni anda aktivləşdirməkdən daha sürətli işləyir.

Sürətli əmrlər

Qısa komandalar axtarış sistemini, kateqoriyanı və ya dili müvəqqəti seçməyə imkan verir:

!wp docker compose       — search Wikipedia
!images northern lights  — search for images
:en !wp proxy server     — search Wikipedia in English

!! əmri istifadəçini birbaşa xarici axtarış sisteminə yönləndirir. Bu rejimdə SearXNG qorunması artıq tətbiq olunmur.

Brauzer və öz alətləriniz üçün axtarış

SearXNG OpenSearch-i dəstəkləyir, ona görə də onu brauzerin standart axtarış sistemi kimi təyin etmək olar. Administrator lazımi formatları aktivləşdiribsə, JSON, CSV və ya RSS cavabları olan HTTP API də mövcuddur.

Bir instansiya daxili panel, bot, tədqiqat skripti və ya lokal AI köməkçisi üçün axtarış backend-i kimi işləyə bilər. API yalnız autentifikasiya və tezlik məhdudiyyətləri konfiqurasiya edildikdən sonra açılmalıdır.

SearXNG nə dərəcədə məxfidir

Nə edirNə etmir
Brauzer kukilərini xarici axtarış sistemlərinə göndərmirTam anonimlik təmin etmir
İstifadəçinin IP ünvanını serverin IP ünvanının arxasında gizlədirNəticə saytını açdıqdan sonra istifadəçini qorumur
Üçüncü tərəf reklamlarını və bəzi izləmə parametrlərini silirBaşqasının serverinin sahibinin log saxlamadığını zəmanət vermir
Şəkilləri proksi ilə ötürə bilərVPN, Tor və ya brauzer qorunmasını əvəz etmir

İctimai instansiya xidməti sınamaq üçün rahatdır, lakin onun administratoruna etibar etməlisiniz və ortaq IP ünvanının tezlik məhdudiyyətinə düşməsi daha ehtimaldır.

Öz serveriniz loglar, mənbələr və giriş üzərində nəzarət verir, amma brauzeri anonim etmir.

İctimai instansiya, ev serveri, yoxsa VPS

VariantÜstünlüklərMəhdudiyyətlər
İctimai instansiyaHeç nə quraşdırmaq lazım deyilSahibinə etibar, yüklənmə, CAPTCHA
Ev serveriVPS icarəyə götürmədən tam nəzarətCihaz daim işləməlidir; xarici girişi konfiqurasiya etmək daha çətindir
Öz VPS-iniz24/7 işləmə, domen, HTTPS, müxtəlif cihazlardan girişKonteynerlər yenilənməli və təhlükəsizlik izlənməlidir

Öz SearXNG instansiyanız ailə, komanda, proqramçı və ya lokal AI alətləri üçün faydalıdır. Təsadüfi axtarışlar üçün ictimai instansiya daha sadədir.

SearXNG üçün hansı VPS lazımdır

Yük istifadəçilərin, mənbələrin və paralel sorğuların sayından asılıdır. Praktik başlanğıc konfiqurasiyaları:

SsenariCPURAMYaddaş
Bir istifadəçi1 vCPU1 GB10 GB
Ailə və ya kiçik komanda2 vCPU2 GB20 GB
API və əlavə xidmətlər2–4 vCPU4 GB-dan30 GB-dan

Böyük disk lazım deyil. Şəbəkənin keyfiyyəti, sabit IP ünvanı və boş RAM daha vacibdir.

tropic.host-un Linux VPS-i bu ssenari üçün uyğundur: kiçik konfiqurasiya ilə başlayıb istifadəçilər və ya API girişi əlavə etdikcə resursları artıra bilərsiniz. Plan seçərkən yaddaş tutumuna artıq pul verməkdənsə, RAM-a və şəbəkə keyfiyyətinə sərmayə qoymaq daha faydalıdır.

SearXNG-ni VPS-də Docker Compose ilə quraşdırmaq

Bu nümunədə Ubuntu 24.04 LTS, search.example.com, Valkey və Caddy istifadə olunur. DNS A qeydini serverə yönləndirin və 80 və 443 portlarını açın.

1. Docker-i quraşdırın və qovluq yaradın

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

Domen və təsadüfi gizli açar ilə .env faylı yaradın:

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 yaradın

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-ni konfiqurasiya edin

searxng/settings.yml yaradın:

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 yaradın:

[botdetection]
trusted_proxies = [
  "127.0.0.0/8",
  "::1",
  "172.16.0.0/12",
]

Limiter botların instansiyanı həddən artıq yükləyərək xarici axtarış sistemlərinin onun IP ünvanını daha tez məhdudlaşdırması riskini azaldır.

4. Parol və HTTPS əlavə edin

Güclü parol üçün hash yaradın:

sudo docker run --rm caddy:2-alpine \
  caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'

Yaranmış hash-i Caddyfile-a daxil edin:

{$SEARXNG_HOSTNAME} {
    basic_auth {
        searchuser INSERT_HASH_HERE
    }

    reverse_proxy searxng:8080 {
        header_up X-Real-IP {remote_host}
    }
}

Caddy açıq parol əvəzinə hash-i saxlayır. Basic Auth əvəzinə xidməti yalnız VPN ilə də məhdudlaşdırmaq olar.

5. Konteynerləri başladın

sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps

https://search.example.com ünvanını açın. Caddy avtomatik olaraq TLS sertifikatı əldə edəcək, bundan sonra brauzer searchuser istifadəçi adını və parolunu istəyəcək. SearXNG logları bu əmr ilə əlçatandır:

sudo docker compose logs -f searxng

Başladıqdan sonra nəyi konfiqurasiya etməli

Yalnız faydalı mənbələri saxlayın, dili və SafeSearch parametrini seçin, sonra OpenSearch vasitəsilə SearXNG-ni brauzerə əlavə edin. Yeniləmək üçün icra edin:

sudo docker compose pull
sudo docker compose up -d

.env, Caddyfilesearxng qovluğunun ehtiyat nüsxəsini yaradın. JSON API-ni yalnız lazım olduqda aktivləşdirin və onu parol, həmçinin tezlik məhdudiyyəti olmadan saxlamayın.

Yayılmış səhvlər

SəhvNəticəHəll
İnstansiyanı ictimai etməkBotlar yük yaradır və IP daha tez-tez məhdudlaşdırılırParol, VPN və ya vahid girişdən istifadə edin
Həddindən artıq mənbə aktivləşdirməkYavaş nəticələr və vaxt aşımıBir neçə stabil mühərrik saxlayın
SearXNG-ni öz indeksi kimi qəbul etməkXarici sistemlər işləmədikdə bəzi nəticələr yox olurOnun mənbələrdən asılılığını nəzərə alın
Tam anonimlik gözləməkHədəf sayt hələ də brauzeri izləyə bilərBrauzer qorunması, VPN və ya Tor istifadə edin
HTTPS olmadan işlətməkSorğular və parol qorunmamış ötürülürTLS-li reverse proxy istifadə edin

Nəticə

SearXNG müxtəlif mənbələri bir interfeysdə birləşdirir, fərdiləşdirməni azaldır və brauzer, skriptlər və ya lokal AI üçün vahid axtarış xidməti təqdim edir. Sınamaq üçün ictimai instansiya kifayətdir. Müntəzəm istifadə üçün HTTPS, autentifikasiya, limiter və bir neçə stabil mənbə ilə öz serveriniz daha yaxşı seçimdir.

1 GB RAM ilə başlaya bilərsiniz. İstifadəçilərin sayı artdıqda, API-ni aktivləşdirdikdə və ya əlavə konteynerlər işlətdikdə resursları artırın.

FAQ

SearXNG tam anonimdir?

Xeyr. O, bəzi məlumatları xarici axtarış sistemlərindən gizlədir, lakin instansiyanın administratoru logları saxlaya bilər. Saytı açdıqdan sonra onun öz izləmə mexanizmləri tətbiq olunur.

SearXNG Google-dan yaxşıdır?

O, başqa problemi həll edir. Google adətən daha sürətlidir və nəticələri daha çox fərdiləşdirir. SearXNG sizə daha çox nəzarət verir, mənbələri birləşdirməyə imkan yaradır və istifadəçi profilindən daha az asılıdır.

SearXNG-dən VPS olmadan istifadə edə bilərəm?

Bəli. İctimai instansiyadan, ev kompüterindən, NAS-dan və ya mini serverdən istifadə edə bilərsiniz. İstənilən şəbəkədən 24/7 giriş üçün VPS lazımdır.

Nə qədər RAM tələb olunur?

Bir istifadəçi üçün 1 GB ilə başlamaq məqsədəuyğundur. Ailə, komanda, API və ya əlavə konteynerlər üçün 2–4 GB daha münasibdir.

SearXNG-ni brauzerə və ya AI-yə qoşmaq olar?

Bəli. Brauzer OpenSearch-dən, tətbiqlər isə HTTP API-dən istifadə edə bilər. API girişi autentifikasiya və limiter ilə qorunmalıdır.