SearXNG: mesin pencari sendiri tanpa pelacakan di VPS
Mesin pencari biasa dapat mengaitkan kueri dengan alamat IP, cookie, dan riwayat aktivitas. SearXNG mengubah alurnya: browser terhubung ke instans Anda, yang mengirim kueri ke beberapa mesin pencari eksternal dan menggabungkan jawabannya dalam satu halaman.
Sumber eksternal melihat alamat server SearXNG, bukan cookie pengguna. Layanan itu sendiri tidak membuat profil iklan. Namun, ini bukan anonimitas sempurna: pemilik instans publik secara teknis dapat menyimpan log, dan setelah Anda membuka tautan, situs tujuan kembali berinteraksi dengan browser.
Kita akan membahas kemampuan SearXNG dan memasang instans sendiri di VPS dengan HTTPS serta perlindungan kata sandi.
Apa itu SearXNG dan bagaimana cara kerjanya
SearXNG adalah mesin meta-pencarian gratis dan sumber terbuka. SearXNG tidak memelihara indeks situs web sendiri: layanan mengambil hasil dari mesin pencari dan sumber khusus yang dikonfigurasi, menormalkannya, lalu menampilkannya dalam satu antarmuka.
Browser → your SearXNG → search engines
↓
combined resultsUntuk setiap kueri, SearXNG:
- menentukan kategori pencarian: web, gambar, berita, video, atau kategori lain;
- menghubungi sumber yang dipilih atas nama server;
- tidak mengirim cookie pengguna kepada sumber dan menggunakan profil browser acak untuk permintaan keluar;
- menggabungkan respons menjadi satu halaman hasil.
Kecepatan bergantung pada sistem eksternal: sistem tersebut dapat merespons lambat, menampilkan CAPTCHA, atau memblokir alamat IP. SearXNG adalah lapisan perantara yang dikelola, bukan indeks mandiri.
Mengapa SearXNG lebih menarik daripada satu mesin pencari
Berbagai sumber dalam satu halaman hasil
Anda dapat menggabungkan mesin pencari umum dengan sumber khusus: ensiklopedia, peta, publikasi ilmiah, repositori, layanan berita, atau katalog gambar. Ini membantu ketika halaman hasil biasa dipenuhi halaman SEO atau kesulitan menemukan materi khusus.
Saat artikel ini disiapkan, dokumentasi mencantumkan 272 integrasi, 83 di antaranya diaktifkan secara default. Ini tidak berarti semuanya sama stabilnya.
Kumpulan sumber bergantung pada konfigurasi. Beberapa sumber yang stabil biasanya bekerja lebih cepat daripada mengaktifkan semuanya sekaligus.
Perintah cepat
Pintasan memungkinkan Anda memilih mesin, kategori, atau bahasa untuk sementara:
!wp docker compose — search Wikipedia
!images northern lights — search for images
:en !wp proxy server — search Wikipedia in EnglishPerintah !! mengarahkan pengguna langsung ke mesin pencari eksternal. Perlindungan SearXNG tidak lagi berlaku dalam mode ini.
Pencarian untuk browser dan alat Anda sendiri
SearXNG mendukung OpenSearch, sehingga dapat dijadikan mesin pencari default browser. API HTTP dengan respons JSON, CSV, atau RSS juga tersedia jika administrator mengaktifkan format yang diperlukan.
Satu instans dapat menjadi backend pencarian untuk dasbor internal, bot, skrip riset, atau asisten AI lokal. API sebaiknya hanya dibuka setelah autentikasi dan pembatasan laju dikonfigurasi.
Seberapa privatkah SearXNG
| Yang dilakukan | Yang tidak dilakukan |
|---|---|
| Tidak mengirim cookie browser ke mesin pencari eksternal | Tidak memberikan anonimitas sempurna |
| Menyembunyikan IP pengguna di balik IP server | Tidak melindungi pengguna setelah membuka situs hasil |
| Menghapus iklan pihak ketiga dan sebagian parameter pelacakan | Tidak menjamin pemilik server orang lain tidak menyimpan log |
| Dapat mem-proxy gambar | Tidak menggantikan VPN, Tor, atau perlindungan browser |
Instans publik nyaman untuk mencoba layanan, tetapi Anda harus memercayai administratornya, dan alamat IP bersama lebih mungkin terkena pembatasan laju.
Server sendiri memberi Anda kendali atas log, sumber, dan akses, tetapi tidak membuat browser menjadi anonim.
Instans publik, server rumah, atau VPS
| Pilihan | Keunggulan | Keterbatasan |
|---|---|---|
| Instans publik | Tidak perlu memasang apa pun | Harus memercayai pemilik, dapat kelebihan beban, CAPTCHA |
| Server rumah | Kendali penuh tanpa menyewa VPS | Perangkat harus terus menyala; akses eksternal lebih sulit dikonfigurasi |
| VPS sendiri | Beroperasi 24/7, domain, HTTPS, akses dari berbagai perangkat | Container harus diperbarui dan keamanan harus dipantau |
Instans SearXNG sendiri berguna untuk keluarga, tim, pengembang, atau alat AI lokal. Untuk pencarian sesekali, instans publik lebih sederhana.
VPS seperti apa yang dibutuhkan SearXNG
Beban bergantung pada jumlah pengguna, sumber, dan kueri yang berjalan bersamaan. Konfigurasi awal yang praktis:
| Skenario | CPU | RAM | Penyimpanan |
|---|---|---|---|
| Satu pengguna | 1 vCPU | 1 GB | 10 GB |
| Keluarga atau tim kecil | 2 vCPU | 2 GB | 20 GB |
| API dan layanan tambahan | 2–4 vCPU | mulai dari 4 GB | mulai dari 30 GB |
Disk besar tidak diperlukan. Kualitas jaringan, alamat IP yang stabil, dan RAM cadangan lebih penting.
Linux VPS dari tropic.host sesuai untuk skenario ini: Anda dapat memulai dengan konfigurasi kecil dan menambah sumber daya ketika pengguna atau akses API bertambah. Saat memilih paket, lebih bermanfaat berinvestasi pada RAM dan kualitas jaringan daripada membayar terlalu mahal untuk kapasitas penyimpanan.
Memasang SearXNG di VPS dengan Docker Compose
Contoh ini menggunakan Ubuntu 24.04 LTS, search.example.com, Valkey, dan Caddy. Arahkan catatan DNS A ke server dan buka port 80 serta 443.
1. Pasang Docker dan buat direktori
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/searxngBuat file .env dengan domain dan secret acak:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. Buat 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. Konfigurasikan SearXNG
Buat 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/0Buat searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]Limiter mengurangi risiko bot membebani instans dan membuat mesin pencari eksternal lebih cepat membatasi alamat IP-nya.
4. Tambahkan kata sandi dan HTTPS
Buat hash untuk kata sandi yang kuat:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'Masukkan hash yang dihasilkan ke dalam Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSERT_HASH_HERE
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy menyimpan hash, bukan kata sandi teks biasa. Selain Basic Auth, layanan juga dapat dibatasi hanya melalui VPN.
5. Jalankan container
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psBuka https://search.example.com. Caddy akan otomatis mendapatkan sertifikat TLS, kemudian browser akan meminta nama pengguna dan kata sandi searchuser. Log SearXNG tersedia dengan perintah berikut:
sudo docker compose logs -f searxngYang perlu dikonfigurasi setelah berjalan
Pertahankan hanya sumber yang berguna, pilih bahasa dan pengaturan SafeSearch, lalu tambahkan SearXNG ke browser melalui OpenSearch. Untuk memperbaruinya, jalankan:
sudo docker compose pull
sudo docker compose up -dCadangkan .env, Caddyfile, dan direktori searxng. Aktifkan API JSON hanya jika diperlukan, dan jangan membiarkannya tanpa kata sandi serta pembatasan laju.
Kesalahan umum
| Kesalahan | Akibat | Solusi |
|---|---|---|
| Membuat instans publik | Bot menambah beban dan IP lebih sering dibatasi | Gunakan kata sandi, VPN, atau single sign-on |
| Mengaktifkan terlalu banyak sumber | Hasil lambat dan timeout | Pertahankan beberapa mesin yang stabil |
| Menganggap SearXNG sebagai indeks sendiri | Sebagian hasil hilang ketika sistem eksternal gagal | Perhitungkan ketergantungannya pada sumber |
| Mengharapkan anonimitas sempurna | Situs tujuan masih dapat melacak browser | Gunakan perlindungan browser, VPN, atau Tor |
| Menjalankannya tanpa HTTPS | Kueri dan kata sandi dikirim secara tidak aman | Gunakan reverse proxy dengan TLS |
Kesimpulan
SearXNG menggabungkan berbagai sumber dalam satu antarmuka, mengurangi personalisasi, dan menyediakan satu layanan pencarian untuk browser, skrip, atau AI lokal. Instans publik cukup untuk mencobanya. Untuk penggunaan rutin, server sendiri dengan HTTPS, autentikasi, limiter, dan beberapa sumber stabil adalah pilihan yang lebih baik.
Anda dapat memulai dengan RAM 1 GB. Tambahkan sumber daya ketika jumlah pengguna bertambah, saat mengaktifkan API, atau ketika menjalankan container tambahan.
FAQ
Apakah SearXNG sepenuhnya anonim?
Tidak. SearXNG menyembunyikan sebagian data dari mesin pencari eksternal, tetapi administrator instans dapat menyimpan log. Setelah Anda membuka sebuah situs, mekanisme pelacakannya sendiri berlaku.
Apakah SearXNG lebih baik daripada Google?
SearXNG menyelesaikan masalah yang berbeda. Google biasanya lebih cepat dan lebih banyak mempersonalisasi hasil. SearXNG memberi Anda kendali lebih besar, memungkinkan penggabungan sumber, dan lebih sedikit bergantung pada profil pengguna.
Apakah SearXNG dapat digunakan tanpa VPS?
Ya. Anda dapat menggunakan instans publik, komputer rumah, NAS, atau server mini. VPS diperlukan untuk akses 24/7 dari jaringan mana pun.
Berapa banyak RAM yang diperlukan?
Untuk satu pengguna, memulai dengan 1 GB adalah hal yang wajar. Untuk keluarga, tim, API, atau container tambahan, 2–4 GB lebih disarankan.
Apakah SearXNG dapat dihubungkan ke browser atau AI?
Ya. Browser dapat menggunakan OpenSearch, sedangkan aplikasi dapat menggunakan API HTTP. Akses API harus dilindungi dengan autentikasi dan limiter.
