SearXNG: seu próprio mecanismo de busca sem rastreamento em um VPS
Um mecanismo de busca comum pode associar uma consulta ao endereço IP, aos cookies e ao histórico de atividades. O SearXNG muda o caminho: o navegador acessa sua instância, que consulta vários mecanismos de busca externos e reúne as respostas em uma única página.
As fontes externas veem o endereço do servidor SearXNG, e não os cookies do usuário. O próprio serviço não cria um perfil publicitário. No entanto, isso não representa anonimato total: o proprietário de uma instância pública pode tecnicamente manter logs e, depois que você abre um link, o site de destino volta a interagir diretamente com o navegador.
Vamos conhecer os recursos do SearXNG e instalar nossa própria instância em um VPS com HTTPS e proteção por senha.
O que é o SearXNG e como ele funciona
O SearXNG é um metabuscador gratuito e de código aberto. Ele não possui um índice próprio de sites: o serviço obtém resultados de mecanismos de busca configurados e de fontes especializadas, padroniza esses resultados e os exibe em uma única interface.
Navegador → seu SearXNG → mecanismos de busca
↓
resultados combinadosA cada consulta, o SearXNG:
- identifica a categoria da busca: web, imagens, notícias, vídeos ou outra;
- consulta as fontes selecionadas em nome do servidor;
- não envia a elas os cookies do usuário e usa um perfil de navegador aleatório nas solicitações de saída;
- reúne as respostas em uma única página de resultados.
A velocidade depende dos sistemas externos: eles podem responder lentamente, exibir um CAPTCHA ou bloquear o endereço IP. O SearXNG é uma camada intermediária controlável, e não um índice autônomo.
Por que o SearXNG é mais interessante do que um único mecanismo de busca
Diferentes fontes em uma única página de resultados
É possível combinar mecanismos de busca gerais com fontes especializadas: enciclopédias, mapas, publicações científicas, repositórios, notícias ou catálogos de imagens. Isso ajuda quando uma página de resultados comum está sobrecarregada de páginas de SEO ou encontra com dificuldade materiais de nicho.
No momento em que este artigo foi preparado, a documentação listava 272 integrações, das quais 83 estavam ativadas por padrão. Isso não significa que todas sejam igualmente estáveis.
O conjunto depende da configuração. Algumas fontes estáveis costumam funcionar mais rápido do que todas as opções disponíveis ativadas ao mesmo tempo.
Comandos rápidos
Atalhos permitem selecionar temporariamente um mecanismo, uma categoria ou um idioma:
!wp docker compose — pesquisar na Wikipédia
!images aurora boreal — pesquisar imagens
:pt !wp servidor proxy — pesquisar em português na WikipédiaO comando !! redireciona o usuário diretamente para um mecanismo de busca externo. Nesse modo, a proteção do SearXNG deixa de se aplicar.
Busca para o navegador e para suas próprias ferramentas
O SearXNG oferece suporte ao OpenSearch, portanto pode ser definido como mecanismo de busca padrão no navegador. Também há uma API HTTP com respostas em JSON, CSV ou RSS, caso o administrador tenha permitido os formatos necessários.
Uma única instância pode se tornar o backend de busca de um painel interno, bot, script de pesquisa ou assistente de IA local. A API deve ser exposta somente depois da configuração de autenticação e limites de solicitações.
Qual é o nível de privacidade do SearXNG
| O que ele faz | O que ele não faz |
|---|---|
| Não envia os cookies do navegador aos mecanismos de busca externos | Não oferece anonimato total |
| Oculta o IP do usuário atrás do IP do servidor | Não protege o usuário depois que ele abre o site encontrado |
| Remove publicidade de terceiros e alguns parâmetros de rastreamento | Não garante que o proprietário de um servidor alheio não mantenha logs |
| Pode encaminhar imagens por proxy | Não substitui VPN, Tor nem as proteções do navegador |
Uma instância pública é prática para conhecer o serviço, mas é necessário confiar no administrador, e um endereço IP compartilhado recebe restrições com maior frequência.
Seu próprio servidor oferece controle sobre logs, fontes e acesso, mas não torna o navegador anônimo.
Instância pública, servidor doméstico ou VPS
| Opção | Vantagens | Limitações |
|---|---|---|
| Pública | Não é necessário instalar nada | Confiança no proprietário, sobrecarga, CAPTCHA |
| Servidor doméstico | Controle total sem alugar um VPS | O dispositivo precisa funcionar continuamente; o acesso externo é mais difícil de configurar |
| VPS próprio | Operação 24 horas por dia, domínio, HTTPS, acesso de diferentes dispositivos | É necessário atualizar os contêineres e monitorar a segurança |
Uma instância própria do SearXNG é útil para uma família, equipe, desenvolvedor ou ferramentas locais de IA. Para buscas ocasionais, uma instância pública é mais simples.
De que VPS o SearXNG precisa
A carga depende do número de usuários, das fontes e das consultas simultâneas. Configurações iniciais práticas:
| Cenário | CPU | RAM | Armazenamento |
|---|---|---|---|
| Um usuário | 1 vCPU | 1 GB | 10 GB |
| Família ou pequena equipe | 2 vCPU | 2 GB | 20 GB |
| API e serviços adicionais | 2–4 vCPU | a partir de 4 GB | a partir de 30 GB |
Não é necessário um disco grande. A qualidade da rede, um endereço IP estável e uma reserva de RAM são mais importantes.
Um VPS Linux da tropic.host é adequado para esse cenário: você pode começar com uma configuração pequena e aumentar os recursos à medida que adiciona usuários ou acesso à API. Ao escolher um plano, é mais útil investir em RAM e qualidade de rede do que pagar a mais por capacidade de armazenamento.
Como instalar o SearXNG em um VPS com Docker Compose
Neste exemplo, usaremos Ubuntu 24.04 LTS, search.example.com, Valkey e Caddy. Aponte o registro DNS A para o servidor e abra as portas 80 e 443.
1. Instale o Docker e crie um diretório
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/searxngCrie um arquivo .env com o domínio e um segredo aleatório:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. Crie 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. Configure o SearXNG
Crie 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/0Crie searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]O limiter reduz o risco de bots sobrecarregarem a instância e fazerem com que os mecanismos de busca externos restrinjam seu endereço IP mais rapidamente.
4. Adicione uma senha e HTTPS
Gere o hash de uma senha forte:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'SUBSTITUA_A_SENHA'Insira o hash obtido no arquivo Caddyfile:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser INSIRA_O_HASH
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}O Caddy armazena o hash, e não a senha em texto simples. Em vez do Basic Auth, o serviço também pode ficar restrito a uma VPN.
5. Inicie os contêineres
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psAbra https://search.example.com. O Caddy obterá automaticamente um certificado TLS e, em seguida, o navegador solicitará o nome de usuário searchuser e a senha. Os logs do SearXNG estão disponíveis com o comando:
sudo docker compose logs -f searxngO que configurar depois da inicialização
Mantenha apenas as fontes úteis, escolha o idioma e a configuração do SafeSearch e, depois, adicione o SearXNG ao navegador por meio do OpenSearch. Para atualizar, basta executar:
sudo docker compose pull
sudo docker compose up -dFaça backup de .env, Caddyfile e do diretório searxng. Ative a API JSON somente quando necessário e não a deixe sem senha nem limitação da frequência de solicitações.
Erros comuns
| Erro | Consequência | Solução |
|---|---|---|
| Abrir a instância para todos | Bots geram carga e o IP recebe restrições com maior frequência | Usar senha, VPN ou login único |
| Ativar fontes demais | Resultados lentos e timeouts | Manter apenas alguns mecanismos estáveis |
| Considerar o SearXNG um índice próprio | Parte dos resultados desaparece quando os sistemas externos falham | Levar em conta a dependência das fontes |
| Esperar anonimato total | O site encontrado ainda pode rastrear o navegador | Usar proteção do navegador, VPN ou Tor |
| Executar sem HTTPS | Consultas e senha são transmitidas de forma insegura | Usar um proxy reverso com TLS |
Conclusão
O SearXNG reúne diferentes fontes em uma única interface, reduz a personalização e oferece uma busca unificada ao navegador, a scripts ou a uma IA local. Uma instância pública é suficiente para conhecer o serviço. Para uso contínuo, é melhor ter seu próprio servidor com HTTPS, autenticação, limiter e um pequeno conjunto de fontes estáveis.
É possível começar com 1 GB de RAM. Aumente os recursos conforme crescer o número de usuários, ao ativar a API ou ao executar contêineres adicionais.
FAQ
O SearXNG é totalmente anônimo?
Não. Ele oculta alguns dados dos mecanismos de busca externos, mas o administrador da instância pode manter logs. Depois que você abre um site, os mecanismos de rastreamento desse site passam a valer.
O SearXNG é melhor que o Google?
Ele resolve outro problema. O Google geralmente é mais rápido e personaliza mais os resultados. O SearXNG oferece maior controle, permite combinar fontes e depende menos do perfil do usuário.
É possível usar o SearXNG sem um VPS?
Sim. Você pode usar uma instância pública, um computador doméstico, um NAS ou um minisservidor. Um VPS é necessário para acesso 24 horas por dia a partir de qualquer rede.
Quanta RAM é necessária?
Para um usuário, é razoável começar com 1 GB. Para uma família, equipe, API ou contêineres adicionais, é melhor ter de 2 a 4 GB.
É possível conectar o SearXNG a um navegador ou a uma IA?
Sim. O navegador pode usar o OpenSearch, enquanto programas podem usar a API HTTP. O acesso à API deve ser protegido por autenticação e por um limiter.
