Tropic Host

SearXNG: ni nini na jinsi ya kusakinisha injini yako ya utafutaji kwenye VPS

Kusoma kwa 6 min
Tropic
SearXNG: ni nini na jinsi ya kusakinisha injini yako ya utafutaji kwenye VPS

Language: sw

SearXNG: injini yako ya utafutaji isiyofuatilia kwenye VPS

Injini ya kawaida ya utafutaji inaweza kuunganisha hoja ya utafutaji na anwani ya IP, vidakuzi na historia ya shughuli. SearXNG hubadilisha njia hiyo: kivinjari huunganishwa na mfano wako, ambao huuliza injini kadhaa za nje za utafutaji na kuunganisha majibu yao kwenye ukurasa mmoja.

Vyanzo vya nje huona anwani ya seva ya SearXNG badala ya vidakuzi vya mtumiaji. Huduma yenyewe haijengi wasifu wa matangazo. Hata hivyo, hii si kutokujulikana kamili: mmiliki wa mfano wa umma anaweza kitaalamu kuhifadhi kumbukumbu, na baada ya kufungua kiungo, tovuti lengwa huwasiliana tena na kivinjari moja kwa moja.

Tutachunguza uwezo wa SearXNG na kusakinisha mfano wetu kwenye VPS ukiwa na HTTPS na ulinzi wa nenosiri.

SearXNG ni nini na inafanyaje kazi

SearXNG ni injini ya metatafutaji ya bure yenye msimbo huria. Haitunzi faharasa yake ya tovuti: huduma hupata matokeo kutoka injini za utafutaji na vyanzo maalumu vilivyosanidiwa, huyarekebisha kuwa muundo mmoja, kisha kuyaonyesha kwenye kiolesura kimoja.

Browser → your SearXNG → search engines
                         ↓
                  combined results

Kwa kila hoja, SearXNG:

  1. huamua kategoria ya utafutaji: wavuti, picha, habari, video au kategoria nyingine;
  2. huwasiliana na vyanzo vilivyochaguliwa kwa niaba ya seva;
  3. haiwatumii vidakuzi vya mtumiaji na hutumia wasifu wa kivinjari wa nasibu kwa maombi yanayotoka;
  4. huunganisha majibu kuwa ukurasa mmoja wa matokeo.

Kasi inategemea mifumo ya nje: inaweza kujibu polepole, kuonyesha CAPTCHA au kuzuia anwani ya IP. SearXNG ni safu ya mpatanishi inayosimamiwa, si faharasa inayojitegemea.

Kwa nini SearXNG inavutia zaidi kuliko injini moja ya utafutaji

Vyanzo tofauti kwenye ukurasa mmoja wa matokeo

Unaweza kuunganisha injini za jumla za utafutaji na vyanzo maalumu: ensaiklopidia, ramani, machapisho ya kisayansi, hazina za msimbo, huduma za habari au katalogi za picha. Hii husaidia wakati ukurasa wa kawaida wa matokeo umejaa kurasa za SEO au unapata shida kupata nyenzo za mada maalumu.

Wakati wa kuandaa makala hii, nyaraka ziliorodhesha miunganisho 272, ambapo 83 ilikuwa imewezeshwa kwa chaguo-msingi. Hii haimaanishi kwamba yote ni thabiti kwa kiwango sawa.

Seti hiyo inategemea usanidi. Vyanzo vichache vilivyo thabiti kwa kawaida hufanya kazi haraka kuliko kuwezesha kila kitu kwa wakati mmoja.

Amri za haraka

Njia fupi hukuruhusu kuchagua injini, kategoria au lugha kwa muda:

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

Amri ya !! humpeleka mtumiaji moja kwa moja kwenye injini ya nje ya utafutaji. Ulinzi wa SearXNG hautumiki tena katika hali hii.

Utafutaji kwa kivinjari na zana zako

SearXNG inasaidia OpenSearch, hivyo inaweza kuwekwa kuwa injini ya kawaida ya utafutaji ya kivinjari. API ya HTTP yenye majibu ya JSON, CSV au RSS pia inapatikana ikiwa msimamizi amewezesha miundo inayohitajika.

Mfano mmoja unaweza kutumika kama sehemu ya nyuma ya utafutaji kwa dashibodi ya ndani, bot, hati ya utafiti au msaidizi wa AI wa ndani. API inapaswa kufichuliwa tu baada ya uthibitishaji na mipaka ya kasi kusanidiwa.

SearXNG ni ya faragha kwa kiwango gani

InachofanyaIsichofanya
Haitumi vidakuzi vya kivinjari kwa injini za nje za utafutajiHaitoi kutokujulikana kamili
Huficha IP ya mtumiaji nyuma ya IP ya sevaHamlindi mtumiaji baada ya kufungua tovuti ya matokeo
Huondoa matangazo ya wahusika wengine na baadhi ya vigezo vya ufuatiliajiHaihakikishi kwamba mmiliki wa seva ya mtu mwingine hahifadhi kumbukumbu
Inaweza kupitisha picha kupitia proksiHaichukui nafasi ya VPN, Tor au ulinzi wa kivinjari

Mfano wa umma ni rahisi kujaribu huduma, lakini lazima umwamini msimamizi wake, na IP iliyoshirikiwa ina uwezekano mkubwa wa kuwekwa chini ya kikomo cha kasi.

Seva yako mwenyewe hukupa udhibiti wa kumbukumbu, vyanzo na ufikiaji, lakini haifanyi kivinjari kisijulikane.

Mfano wa umma, seva ya nyumbani au VPS

ChaguoFaidaMapungufu
Mfano wa ummaHakuna cha kusakinishaKumwamini mmiliki, mzigo mkubwa, CAPTCHA
Seva ya nyumbaniUdhibiti kamili bila kukodisha VPSKifaa lazima kiendelee kufanya kazi; ufikiaji wa nje ni mgumu zaidi kusanidi
VPS yako mwenyeweUendeshaji wa 24/7, kikoa, HTTPS, ufikiaji kutoka vifaa tofautiKontena lazima zisasishwe na usalama ufuatiliwe

Mfano wako wa SearXNG ni muhimu kwa familia, timu, msanidi programu au zana za AI za ndani. Kwa utafutaji wa mara chache, mfano wa umma ni rahisi zaidi.

SearXNG inahitaji VPS ya aina gani

Mzigo unategemea idadi ya watumiaji, vyanzo na hoja zinazoendeshwa kwa wakati mmoja. Mipangilio ya kuanzia ya vitendo:

HaliCPURAMHifadhi
Mtumiaji mmoja1 vCPU1 GB10 GB
Familia au timu ndogo2 vCPU2 GB20 GB
API na huduma za ziada2–4 vCPUkuanzia 4 GBkuanzia 30 GB

Diski kubwa si lazima. Ubora wa mtandao, anwani thabiti ya IP na RAM iliyo wazi ni muhimu zaidi.

VPS ya Linux kutoka tropic.host inafaa kwa hali hii: unaweza kuanza na usanidi mdogo na kuongeza rasilimali unapoongeza watumiaji au ufikiaji wa API. Wakati wa kuchagua mpango, ni bora kuwekeza kwenye RAM na ubora wa mtandao kuliko kulipia zaidi nafasi ya hifadhi.

Kusakinisha SearXNG kwenye VPS kwa Docker Compose

Mfano huu unatumia Ubuntu 24.04 LTS, search.example.com, Valkey na Caddy. Elekeza rekodi ya A ya DNS kwenye seva na ufungue milango 80 na 443.

1. Sakinisha Docker na uunde saraka

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

Unda faili la .env lenye kikoa na siri ya nasibu:

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

2. Unda 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. Sanidi SearXNG

Unda 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

Unda searxng/limiter.toml:

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

Kikomo hupunguza hatari ya bots kuulemea mfano na kusababisha injini za nje za utafutaji kuzuia anwani yake ya IP mapema.

4. Ongeza nenosiri na HTTPS

Tengeneza hash ya nenosiri imara:

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

Ingiza hash iliyotengenezwa kwenye Caddyfile:

{$SEARXNG_HOSTNAME} {
    basic_auth {
        searchuser INSERT_HASH_HERE
    }

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

Caddy huhifadhi hash badala ya nenosiri lililo wazi. Badala ya Basic Auth, huduma inaweza pia kuzuiwa kwa VPN.

5. Anzisha kontena

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

Fungua https://search.example.com. Caddy itapata cheti cha TLS moja kwa moja, kisha kivinjari kitaomba jina la mtumiaji na nenosiri la searchuser. Kumbukumbu za SearXNG zinapatikana kwa amri hii:

sudo docker compose logs -f searxng

Nini cha kusanidi baada ya kuanza

Baki na vyanzo muhimu tu, chagua lugha na mpangilio wa SafeSearch, kisha ongeza SearXNG kwenye kivinjari kupitia OpenSearch. Ili kuisasisha, endesha:

sudo docker compose pull
sudo docker compose up -d

Fanya nakala ya .env, Caddyfile na saraka ya searxng. Wezesha JSON API tu inapohitajika, na usiiache bila nenosiri na kikomo cha kasi.

Makosa ya kawaida

KosaMatokeoSuluhisho
Kufanya mfano uwe wa ummaBots huunda mzigo na IP huzuiwa mara nyingi zaidiTumia nenosiri, VPN au kuingia mara moja
Kuwezesha vyanzo vingi sanaMatokeo polepole na muda kuishaBaki na injini chache thabiti
Kuichukulia SearXNG kama faharasa yakeBaadhi ya matokeo hupotea mifumo ya nje inaposhindwaZingatia utegemezi wake kwa vyanzo
Kutazamia kutokujulikana kamiliTovuti lengwa bado inaweza kufuatilia kivinjariTumia ulinzi wa kivinjari, VPN au Tor
Kuiendesha bila HTTPSHoja na nenosiri hupitishwa bila usalamaTumia reverse proxy yenye TLS

Hitimisho

SearXNG huunganisha vyanzo tofauti kwenye kiolesura kimoja, hupunguza ubinafsishaji na hutoa huduma moja ya utafutaji kwa kivinjari, hati au AI ya ndani. Mfano wa umma unatosha kuijaribu. Kwa matumizi ya kawaida, seva yako mwenyewe yenye HTTPS, uthibitishaji, kikomo na vyanzo vichache thabiti ni chaguo bora zaidi.

Unaweza kuanza na 1 GB ya RAM. Ongeza rasilimali kadiri idadi ya watumiaji inavyoongezeka, unapowezesha API au unapoendesha kontena za ziada.

FAQ

Je, SearXNG haijulikani kabisa?

Hapana. Huficha baadhi ya data kutoka kwa injini za nje za utafutaji, lakini msimamizi wa mfano anaweza kuhifadhi kumbukumbu. Baada ya kufungua tovuti, mifumo yake ya kufuatilia hutumika.

Je, SearXNG ni bora kuliko Google?

Hutatua tatizo tofauti. Google kwa kawaida ni ya haraka zaidi na hubinafsisha matokeo kwa kiwango kikubwa. SearXNG hukupa udhibiti zaidi, hukuruhusu kuunganisha vyanzo na haitegemei sana wasifu wa mtumiaji.

Je, ninaweza kutumia SearXNG bila VPS?

Ndiyo. Unaweza kutumia mfano wa umma, kompyuta ya nyumbani, NAS au seva ndogo. VPS inahitajika kwa ufikiaji wa 24/7 kutoka mtandao wowote.

Ni RAM kiasi gani kinachohitajika?

Kwa mtumiaji mmoja, kuanza na 1 GB ni jambo linalofaa. Kwa familia, timu, API au kontena za ziada, 2–4 GB inapendekezwa.

Je, SearXNG inaweza kuunganishwa na kivinjari au AI?

Ndiyo. Kivinjari kinaweza kutumia OpenSearch, huku programu zikitumia HTTP API. Ufikiaji wa API unapaswa kulindwa kwa uthibitishaji na kikomo.