Tropic Host

SearXNG: ce este și cum îți instalezi propriul motor de căutare pe un VPS

7 min citire
Tropic
SearXNG: ce este și cum îți instalezi propriul motor de căutare pe un VPS

Language: ro

SearXNG: propriul motor de căutare fără urmărire pe un VPS

Un motor de căutare obișnuit poate asocia o interogare cu o adresă IP, cookie-uri și istoricul activității. SearXNG schimbă traseul: browserul se conectează la instanța ta, aceasta interoghează mai multe motoare de căutare externe și combină răspunsurile într-o singură pagină.

Sursele externe văd adresa serverului SearXNG, nu cookie-urile utilizatorului. Serviciul nu îți construiește un profil publicitar. Totuși, aceasta nu înseamnă anonimat complet: proprietarul unei instanțe publice poate păstra tehnic jurnale, iar după ce deschizi un link, site-ul de destinație interacționează din nou cu browserul.

Vom analiza capacitățile SearXNG și vom instala propria instanță pe un VPS cu HTTPS și protecție prin parolă.

Ce este SearXNG și cum funcționează

SearXNG este un motor de metacăutare gratuit și open-source. Nu menține propriul index de site-uri: serviciul preia rezultate de la motoarele de căutare și sursele specializate configurate, le normalizează și le afișează într-o singură interfață.

Browser → your SearXNG → search engines
                         ↓
                  combined results

Pentru fiecare interogare, SearXNG:

  1. determină categoria căutării: web, imagini, știri, videoclipuri sau o altă categorie;
  2. contactează sursele selectate în numele serverului;
  3. nu le trimite cookie-urile utilizatorului și folosește un profil de browser aleatorizat pentru solicitările trimise;
  4. combină răspunsurile într-o singură pagină de rezultate.

Viteza depinde de sistemele externe: acestea pot răspunde lent, pot afișa un CAPTCHA sau pot bloca adresa IP. SearXNG este un strat intermediar administrat, nu un index autonom.

De ce este SearXNG mai interesant decât un singur motor de căutare

Surse diferite într-o singură pagină de rezultate

Poți combina motoare de căutare generale cu surse specializate: enciclopedii, hărți, publicații științifice, depozite, servicii de știri sau cataloage de imagini. Acest lucru ajută atunci când o pagină obișnuită de rezultate este încărcată cu pagini SEO sau găsește greu informații de nișă.

La momentul pregătirii acestui articol, documentația enumera 272 de integrări, dintre care 83 erau activate implicit. Aceasta nu înseamnă că toate sunt la fel de stabile.

Setul depinde de configurare. Câteva surse stabile funcționează de obicei mai rapid decât activarea tuturor surselor simultan.

Comenzi rapide

Scurtăturile îți permit să selectezi temporar un motor, o categorie sau o limbă:

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

Comanda !! redirecționează utilizatorul direct către un motor de căutare extern. Protecția SearXNG nu se mai aplică în acest mod.

Căutare pentru browser și propriile instrumente

SearXNG acceptă OpenSearch, deci poate fi setat ca motor de căutare implicit al browserului. Este disponibilă și o API HTTP cu răspunsuri JSON, CSV sau RSS, dacă administratorul a activat formatele necesare.

O singură instanță poate servi drept backend de căutare pentru un panou intern, un bot, un script de cercetare sau un asistent AI local. API-ul ar trebui expus numai după configurarea autentificării și a limitelor de rată.

Cât de privat este SearXNG

Ce faceCe nu face
Nu trimite cookie-urile browserului către motoarele de căutare externeNu oferă anonimat complet
Ascunde IP-ul utilizatorului în spatele IP-ului serveruluiNu protejează utilizatorul după deschiderea unui site din rezultate
Elimină publicitatea terță și unii parametri de urmărireNu garantează că proprietarul serverului altcuiva nu păstrează jurnale
Poate face proxy pentru imaginiNu înlocuiește un VPN, Tor sau protecția browserului

O instanță publică este convenabilă pentru a testa serviciul, dar trebuie să ai încredere în administratorul ei, iar un IP partajat are șanse mai mari să fie limitat.

Propriul server îți oferă control asupra jurnalelor, surselor și accesului, dar nu face browserul anonim.

Instanță publică, server de acasă sau VPS

OpțiuneAvantajeLimitări
Instanță publicăNu trebuie instalat nimicÎncredere în proprietar, supraîncărcare, CAPTCHA
Server de acasăControl complet fără închirierea unui VPSDispozitivul trebuie să ruleze continuu; accesul extern este mai greu de configurat
Propriul VPSFuncționare 24/7, domeniu, HTTPS, acces de pe dispozitive diferiteContainerele trebuie actualizate și securitatea trebuie monitorizată

Propria instanță SearXNG este utilă pentru o familie, o echipă, un dezvoltator sau instrumente AI locale. Pentru căutări ocazionale, o instanță publică este mai simplă.

De ce fel de VPS are nevoie SearXNG

Încărcarea depinde de numărul de utilizatori, surse și interogări simultane. Configurații practice de pornire:

ScenariuCPURAMStocare
Un utilizator1 vCPU1 GB10 GB
Familie sau echipă mică2 vCPU2 GB20 GB
API și servicii suplimentare2–4 vCPUde la 4 GBde la 30 GB

Nu este necesar un disc mare. Calitatea rețelei, o adresă IP stabilă și RAM disponibilă sunt mai importante.

Un VPS Linux de la tropic.host este potrivit pentru acest scenariu: poți începe cu o configurație mică și poți crește resursele pe măsură ce adaugi utilizatori sau acces API. Când alegi un plan, este mai util să investești în RAM și calitatea rețelei decât să plătești în plus pentru capacitatea de stocare.

Instalarea SearXNG pe un VPS cu Docker Compose

Acest exemplu folosește Ubuntu 24.04 LTS, search.example.com, Valkey și Caddy. Direcționează înregistrarea DNS A către server și deschide porturile 80 și 443.

1. Instalează Docker și creează un director

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

Creează un fișier .env cu domeniul și un secret aleatoriu:

printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
  "$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env

2. Creează docker-compose.yml

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. Configurează SearXNG

Creează searxng/settings.yml:

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

Creează searxng/limiter.toml:

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

Limitatorul reduce riscul ca boții să supraîncarce instanța și ca motoarele de căutare externe să-i restricționeze mai repede adresa IP.

4. Adaugă o parolă și HTTPS

Generează un hash pentru o parolă puternică:

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

Inserează hash-ul rezultat în Caddyfile:

{$SEARXNG_HOSTNAME} {
    basic_auth {
        searchuser INSERT_HASH_HERE
    }

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

Caddy stochează hash-ul, nu parola în text simplu. În locul autentificării Basic Auth, serviciul poate fi restricționat și la un VPN.

5. Pornește containerele

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

Deschide https://search.example.com. Caddy va obține automat un certificat TLS, după care browserul va solicita numele de utilizator searchuser și parola. Jurnalele SearXNG sunt disponibile cu această comandă:

sudo docker compose logs -f searxng

Ce trebuie configurat după pornire

Păstrează doar sursele utile, alege limba și setarea SafeSearch, apoi adaugă SearXNG în browser prin OpenSearch. Pentru actualizare, rulează:

sudo docker compose pull
sudo docker compose up -d

Fă o copie de siguranță pentru .env, Caddyfile și directorul searxng. Activează API-ul JSON numai când este necesar și nu-l lăsa fără parolă și limitare de rată.

Greșeli frecvente

GreșealăConsecințăSoluție
Faci instanța publicăBoții creează încărcare, iar IP-ul este restricționat mai desFolosește o parolă, un VPN sau autentificare unică
Activezi prea multe surseRezultate lente și expirarea solicitărilorPăstrează câteva motoare stabile
Tratezi SearXNG ca pe propriul indexUnele rezultate dispar când sistemele externe eșueazăȚine cont de dependența sa de surse
Te aștepți la anonimat completSite-ul de destinație poate urmări în continuare browserulFolosește protecția browserului, un VPN sau Tor
Îl rulezi fără HTTPSInterogările și parola sunt transmise nesigurFolosește un reverse proxy cu TLS

Concluzie

SearXNG combină surse diferite într-o singură interfață, reduce personalizarea și oferă un serviciu unic de căutare pentru browser, scripturi sau AI local. O instanță publică este suficientă pentru testare. Pentru utilizare regulată, propriul server cu HTTPS, autentificare, limitator și un set restrâns de surse stabile este o alegere mai bună.

Poți începe cu 1 GB de RAM. Mărește resursele pe măsură ce crește numărul de utilizatori, când activezi API-ul sau când rulezi containere suplimentare.

FAQ

Este SearXNG complet anonim?

Nu. Ascunde unele date față de motoarele de căutare externe, dar administratorul instanței poate păstra jurnale. După ce deschizi un site, se aplică propriile mecanisme de urmărire ale acestuia.

Este SearXNG mai bun decât Google?

Rezolvă o problemă diferită. Google este de obicei mai rapid și personalizează mai intens rezultatele. SearXNG îți oferă mai mult control, îți permite să combini surse și depinde mai puțin de un profil de utilizator.

Pot folosi SearXNG fără un VPS?

Da. Poți folosi o instanță publică, un computer de acasă, un NAS sau un mini-server. Un VPS este necesar pentru acces 24/7 din orice rețea.

Câtă memorie RAM este necesară?

Pentru un utilizator, 1 GB este un punct de pornire rezonabil. Pentru o familie, o echipă, API sau containere suplimentare, sunt de preferat 2–4 GB.

Poate fi conectat SearXNG la un browser sau la un AI?

Da. Un browser poate folosi OpenSearch, iar aplicațiile pot folosi API-ul HTTP. Accesul la API trebuie protejat prin autentificare și un limitator.