Self-host SearXNG su un VPS.
Il suo metasearch privato, 70+ fonti upstream.
SearXNG interroga Google, Bing, DuckDuckGo, Wikipedia e settanta altri — senza mai dire a nessuno di loro chi sta chiedendo. Tre comandi Docker, un reverse proxy, un bookmarklet — e il motore di ricerca predefinito di ogni browser in casa sua è il suo.
- 01
SearXNG è un frontend metasearch — nessun indice proprio; le query vengono distribuite a 70+ motori upstream e aggregate. Completamente self-hosted significa che nessun altro vede le sue query.
- 02
La sfida strutturale è la reputazione IP degli upstream — gli IP dei datacenter vengono colpiti da CAPTCHA. Mitigare con la distribuzione su più motori, limiti di frequenza moderati, e un host il cui spazio IP non è nella mappa di calore degli abusi.
- 03
Il valore composto è tutto ciò che si può costruire sopra — ricerca AI Perplexica, integrazione browser predefinita, alias di ricerca personalizzati — tutto supportato dal proprio SearXNG privato.
Cosa è davvero SearXNG. Metasearch, non search.
SearXNG è un'applicazione Python che, quando si invia una query, la distribuisce a molti motori di ricerca upstream in parallelo — Google, Bing, DuckDuckGo, Brave, Mojeek, Wikipedia, GitHub, arXiv, IMDb, Reddit, decine di altri a seconda della configurazione — e fonde i risultati in un elenco classificato con deduplicazione e attribuzione delle fonti. Non ha un proprio crawler né un proprio indice; il valore è l'aggregazione più il proxy per la privacy.
Dal punto di vista dell'utente: si digita una query, si ottengono risultati che assomigliano a una normale pagina di ricerca. Dal punto di vista dell'upstream: è arrivata una query dall'IP dell'istanza SearXNG, senza cookie, senza referrer, senza identificatore utente. Dal punto di vista dell'utente: l'istanza SearXNG non registra le sue query (configurazione predefinita), e anche se compromessa, non detiene nessun profilo di ricerca storico da divulgare.
Categorie oltre al web: SearXNG ha supporto integrato per la ricerca di immagini (su più motori), video, notizie, mappe, scienza, file (indici BitTorrent, FTP), social media. La pagina dei risultati ha tab per ciascuna. Il routing per categoria significa che è possibile eseguire un profilo di ricerca «solo codice» che interroga solo GitHub, GitLab e SourceGraph, o un profilo «solo notizie», o qualsiasi altro.
La funzionalità killer per un lettore attento alla privacy: SearXNG espone un'API JSON. Qualsiasi cosa che abbia bisogno di risultati di ricerca — un launcher desktop, un comando CLI, un chatbot, un agente AI — può chiamare il proprio SearXNG invece di Google. Questo trasforma SearXNG da motore di ricerca in backend di ricerca per l'intera toolchain.
Il muro della reputazione IP. Perché gli IP degli hyperscaler vengono bloccati con CAPTCHA.
I motori di ricerca upstream si proteggono dagli scraper limitando la frequenza e bloccando con CAPTCHA il traffico da IP considerati abusivi. I range degli hyperscaler (AWS, GCP, Azure, DigitalOcean, i pool più grandi di Hetzner e OVH) sono quelli più bloccati, perché quei range sono dove girano la maggior parte degli scraper. Il risultato: SearXNG su un AWS Lightsail inizia a restituire risultati Google vuoti entro dieci query, mentre lo stesso SearXNG su un IP di datacenter meno trafficato gira per mesi senza problemi.
Mitigazione 1 — scegliere l'host con cura. Un VPS NordBastion si trova in datacenter nordici i cui range di IP non rientrano nella tipica mappa di calore degli abusi da scraper. I range più piccoli e meno affollati significano che l'IP ha una reputazione neutrale, che è ciò di cui SearXNG ha bisogno a livello di upstream.
Mitigazione 2 — distribuire aggressivamente su più upstream. Modificare settings.yml per abilitare molti upstream: non solo Google + Bing, ma anche Brave, Mojeek, Qwant, Startpage, Marginalia, oltre a quelli specifici per categoria (Wikipedia, GitHub, Reddit). Più upstream si abilitano, meno traffico ne vede ognuno, meno è probabile che uno inizi a limitare le frequenze.
Mitigazione 3 — limitare la frequenza dei propri utenti. SearXNG ha limiti di frequenza integrati per IP (limiter.toml). Ottimizzarli in modo che un singolo utente non possa accidentalmente generare traffico con pattern da scraper. Il default di 10 richieste/minuto è generalmente corretto per uso personale.
Mitigazione 4 — Tor specificamente per Google. SearXNG supporta il proxy delle query upstream tramite Tor. Per Google in particolare, che è il più aggressivo sui CAPTCHA, instradare le query attraverso Tor (using_tor_proxy: true sul blocco del motore google) scambia un po' di latenza per un pool di reputazione molto più fresco.
L'installazione Docker. Quindici minuti da «VPS fresco» a «browser predefinito».
1. Installare Docker. curl -fsSL https://get.docker.com | sh — Compose v2 è incluso nello stesso pacchetto su Debian/Ubuntu moderni.
2. Clonare il template ufficiale searxng-docker. git clone https://github.com/searxng/searxng-docker.git && cd searxng-docker — questo è il docker-compose.yml mantenuto upstream che raggruppa SearXNG con un sidecar Valkey/Redis (per il limitatore di frequenza e la cache) e un reverse proxy Caddy.
3. Configurare. Modificare .env: impostare SEARXNG_HOSTNAME=search.example.com (il suo sottodominio), LETSENCRYPT_EMAIL=[redacted-user]@[redacted-host] (usato da Caddy per la registrazione ACME). Aprire searxng/settings.yml: impostare server.secret_key con un openssl rand -hex 32 fresco, personalizzare il titolo/instance_name, abilitare i motori desiderati.
4. Avvio. docker compose up -d — il primo avvio scarica le immagini SearXNG, Valkey e Caddy, genera il certificato TLS, avvia lo stack. Visitare https://search.example.com e la home page di SearXNG viene renderizzata.
5. Verificare i motori. Cercare qualcosa di comune; verificare che i risultati vengano restituiti. Aprire Preferenze → Motori e verificare che ogni upstream abilitato mostri verde. Se Google mostra rosso con un errore CAPTCHA, passare alla mitigazione Tor-proxy del capitolo 2.
Questo è l'installazione. Aggiornamenti: docker compose pull && docker compose up -d una volta a settimana — la community SearXNG pubblica correzioni entro 48 ore quando un upstream cambia il suo pattern di scraping, quindi stare al passo è la differenza tra «tutti i motori funzionano» e «Google è rotto da tre settimane».
Browser predefinito. Desktop, mobile, terminale.
Firefox. Visitare https://search.example.com una volta; cliccare il menu di overflow della barra degli indirizzi (...) → «Aggiungi motore di ricerca»; Impostazioni → Ricerca → Motore di ricerca predefinito → SearXNG. La barra degli indirizzi ora ricerca tramite il suo SearXNG. Bonus: impostare Suggerimenti di ricerca → disattivato (i suggerimenti di SearXNG vanno a una terza parte per default; disabilitare per mantenere i tasti premuti in locale).
Chrome / Brave / Edge. chrome://settings/searchEngines → Aggiungi → nome «SearXNG», scorciatoia «s», URL https://search.example.com/?q=%s — impostare come predefinito. Stesso flusso su Brave e Edge.
iOS Safari. Safari non consente di aggiungere motori di ricerca personalizzati direttamente, ma l'estensione open-source Privacy Redirect (o il più capace plugin Mojo Search Extensions) permette di arrivarci. In alternativa: installare Brave o Firefox iOS, impostare SearXNG come default, usarlo per le ricerche.
Android. Firefox Android — stesso flusso del desktop. Brave Android — stesso flusso del desktop. Il percorso dei suggerimenti da tastiera su Chrome Android stock è l'unico caso scomodo; usare Firefox lì.
Terminale. alias s='function _s(){ xdg-open "https://search.example.com/?q=$*"; }; _s' — aggiunge un comando «s la propria query di ricerca». Su macOS sostituire xdg-open con open.
Hardening. Rendere l'istanza genuinamente priva di log.
Disabilitare i log di accesso di Caddy. Il Caddyfile predefinito nel template searxng-docker registra ogni richiesta in un file JSON. Ogni query di ricerca digitata appare in quel log. Modificare il Caddyfile per aggiungere log { output discard } all'interno del blocco del sito SearXNG; ricaricare Caddy. L'applicazione ora non scrive nessun log per-query da nessuna parte.
Disabilitare il proxy favicon. SearXNG recupera di default i favicon per i domini dei risultati, il che dà a ciascun dominio un segnale che qualcuno l'ha cercato. settings.yml: search.favicon_resolver: '' lo disabilita.
Disabilitare i suggerimenti di ricerca. I suggerimenti di completamento automatico vengono inoltrati a un endpoint di terze parti per default. settings.yml: search.suggestion_resolver: '' mantiene i suggerimenti della barra degli indirizzi in locale.
Disabilitare il proxy immagini se non necessario. SearXNG fa proxy delle immagini dei risultati attraverso sé stesso per la privacy; questo costa banda sul VPS. Se non si usa la ricerca per immagini, disabilitarla (server.image_proxy: false). Se la si usa, lasciarla attiva — sta facendo il suo lavoro.
Limitare per IP o basic auth. Le istanze pubbliche di SearXNG attirano traffico bot che non si vuole consumare il proprio budget upstream. Aggiungere un blocco basic_auth Caddy (un utente, una password) o limitare il sito per remote_ip { ... } ai propri IP casalinghi e da viaggio. La maggior parte degli operatori lo fa alla fine.
Andare oltre — Perplexica AI sopra. Il suo ChatGPT-search privato.
Perplexica è un clone open-source di Perplexity AI — un'interfaccia di ricerca AI che prende una domanda in linguaggio naturale, esegue ricerche mirate per raccogliere fonti, poi sintetizza una risposta con citazioni. La parte interessante è il backend: Perplexica usa SearXNG come motore di ricerca, e un'API di completamento chat compatibile con OpenAI (Ollama che esegue Llama / Mistral / Qwen localmente, o LiteLLM che fa proxy verso un provider remoto) come modello linguistico. Entrambe le metà possono essere self-hosted, nessuna ha bisogno di toccare una terza parte.
Installare. git clone https://github.com/ItzCrazyKns/Perplexica.git, modificare config.toml per puntare SEARXNG a http://searxng:8080 (il container esistente dal capitolo 3), impostare OLLAMA su http://ollama:11434 o il proprio endpoint LiteLLM, docker compose up -d. Perplexica è ora in esecuzione su una seconda porta, completamente collegato al proprio SearXNG.
Cosa si ottiene. Un'interfaccia web che assomiglia e si comporta come Perplexity — digitare una domanda, osservare la ricerca attraverso il proprio SearXNG, osservare la sintesi delle fonti, ottenere una risposta con citazioni. Tutto avviene sul suo VPS; nessuna terza parte vede la domanda, le ricerche o la risposta. Per uso di livello ricerca, la struttura con fonti citate è molto più onesta del formato a paragrafo non attribuito che i prodotti AI hosted tendono ad adottare.
Costo in risorse. SearXNG rimane piccolo. Perplexica stesso è una piccola app Next.js. Il costo del modello linguistico è la variabile — eseguire Ollama con un modello 7B richiede 8 GB di RAM, un modello 70B ne richiede 64. Per uso moderato, puntare Perplexica a un endpoint remoto compatibile con OpenAI (LiteLLM davanti a uno dei provider di inferenza rispettosi della privacy) e il VPS rimane leggero.
Domande, con risposta.
Otto domande che emergono prima, durante e dopo il deployment di un'istanza SearXNG privata.
Cos'è SearXNG e come è diverso da DuckDuckGo?
SearXNG è un motore metasearch rispettoso della privacy — non ha un proprio indice di ricerca; invece, quando si interroga, inoltra la query a 70+ motori upstream (Google, Bing, DuckDuckGo, Wikipedia, Brave, Mojeek, centinaia di quelli specializzati) e aggrega i risultati. DuckDuckGo è un singolo servizio di ricerca che fa proxy dei propri risultati da Bing più il proprio crawler. La differenza pratica: SearXNG fornisce risultati più numerosi, ampi e meno filtrati, con l'opzione di escludere qualsiasi upstream di cui non ci si fida.
Cosa mi dà il self-hosting di SearXNG che le istanze pubbliche non danno?
Tre cose. Una: nessuno su un'istanza di terze parti può vedere le sue query — le istanze pubbliche sono gestite da volontari con cui non si ha alcun rapporto, e un amministratore zelante può registrare le query. Due: personalizzazione — scegliere i propri upstream, il proprio weighting, le proprie categorie predefinite, la propria UI senza compromessi. Tre: accesso API — il suo SearXNG self-hosted è il backend di privacy per tutto il resto (Perplexica AI, scraper personalizzati, il suo alias terminale per «cerca»).
Cos'è il muro della reputazione IP di cui continuo a leggere?
Quando SearXNG interroga Google o Bing dall'IP del VPS, quegli upstream vedono «ancora un altro IP di datacenter che fa richieste dall'aspetto automatizzato». Gli IP degli hyperscaler (AWS, GCP, Hetzner, DigitalOcean) sono i peggiori — vengono bloccati con CAPTCHA o con limite 429 entro poche query. Gli IP di datacenter più piccoli e meno trafficati sopravvivono più a lungo. La mitigazione: scegliere un host il cui spazio IP non fa parte della tipica mappa di calore degli abusi, e configurare SearXNG per distribuire le query su molti upstream in modo che nessuno veda abbastanza traffico da iniziare a limitare le frequenze.
Quante risorse VPS servono?
Pochissime. SearXNG è I/O-bound (in attesa di risposte HTTP upstream), non CPU-bound. 1 vCPU e 512 MB di RAM gestiscono un singolo utente comodamente. Il tier Ravelin ($5.90/mese) è comodamente sovradimensionato e permette di eseguire SearXNG, Perplexica, Vaultwarden e altri piccoli servizi sullo stesso box.
Posso impostare SearXNG come motore di ricerca predefinito in Firefox o Chrome?
Sì — entrambi i browser supportano il rilevamento automatico OpenSearch. Una volta che il suo SearXNG è su https://search.example.com, visitarci con Firefox; il menu di overflow della barra degli indirizzi offre «Aggiungi motore di ricerca». Su Chrome, fare clic destro sulla barra degli indirizzi e «Gestisci motori di ricerca»; SearXNG appare nell'elenco rilevato. Impostarlo come predefinito e la ricerca dalla barra degli indirizzi passa ora attraverso la propria istanza privacy.
L'istanza SearXNG registra le mie query?
Per default no — è tutto il punto. SearXNG viene fornito con la registrazione disabilitata a livello applicativo. Il web server davanti (Caddy, Nginx) per default scrive log di accesso che includono l'URL della richiesta, che include la query di ricerca. Il capitolo di hardening in questa guida tratta come disattivare quei log di accesso in modo che l'istanza diventi genuinamente priva di log.
Cos'è Perplexica e perché viene menzionato in questa guida?
Perplexica è un clone open-source di Perplexity AI — un'interfaccia di ricerca AI che prende una domanda in linguaggio naturale, esegue query di ricerca per raccogliere fonti, e sintetizza una risposta con citazioni. Usa SearXNG come backend di ricerca. Self-hostare entrambi significa ottenere un'interfaccia di ricerca AI privata dove l'AI gira localmente (Ollama o LiteLLM davanti a un endpoint compatibile con OpenAI) e le ricerche passano per il proprio SearXNG. La combinazione è l'analogo rispettoso della privacy di ChatGPT search.
Perché ospitare SearXNG su un VPS privacy piuttosto che su uno qualsiasi economico?
Perché l'IP da cui SearXNG interroga vede ogni ricerca effettuata. Questo è lo stesso problema dei metadati del DNS — una terza parte che monitora il DNS sa ovunque si vada. Un SearXNG su un VPS affittato con la propria identità reale, fatturato sulla propria carta, in una giurisdizione che impone la tenuta dei log ai datacenter, non ha risolto il problema; lo ha solo spostato. Un VPS nordico no-KYC pagato in crypto mantiene il livello dei metadati allineato con le garanzie di privacy fornite dal livello applicativo.
Un VPS nordico per la sua ricerca privata. KYC-free, pagamento in crypto.
Ravelin (2 vCPU, 4 GB, $5.90/mese) gestisce SearXNG + Vaultwarden + un paio di altri piccoli servizi sullo stesso box. IP nordici che non sono stati usurati dagli scraper.
Ultima revisione · 2026-05-20 · Fonti · Documentazione upstream SearXNG, template searxng-docker, repository Perplexica, specifica OpenSearch description · Cadenza · annuale
Anonymous VPS hosting in 2026 — the cluster.
This guide is one spoke of a larger series. The pillar walks the three privacy layers end to end — the sibling spokes below dive into the specifics.
Three independent layers — signup, payment, network — explained, legal context included, common mistakes flagged.
Bitwarden-compatible password vault under your own control.
Files, calendar, contacts, photos — owned, not rented.
Postfix, Dovecot, SPF/DKIM/DMARC — deliverability included.
What “no KYC” actually means — and what it does not.