Shopping cart

Subtotal $0.00

View cartCheckout

Building better devs

TnewsTnews
  • Home
  • Dicas
  • Chega de Google: Monte Seu Buscador Privado com SearXNG
Dicas

Chega de Google: Monte Seu Buscador Privado com SearXNG

Email : 4

Você sabe quantas buscas o Google registrou suas hoje?

Cada vez que você digita algo na barra de busca, o Google sabe. Sabe o que você pesquisou, quando pesquisou, de onde pesquisou, qual dispositivo usou e, claro, o que você clicou depois. Tudo isso vai para um perfil gigantesco que alimenta a máquina de anúncios mais lucrativa do planeta.

A maioria dos devs sabe disso. Poucos fazem algo a respeito. E olha, eu entendo: o Google entrega resultados bons. Mas “bom” tem um preço, e esse preço é cada pensamento seu indexado nos servidores de Mountain View.

Existe uma alternativa que agrega resultados de mais de 200 motores de busca (incluindo o próprio Google), não rastreia absolutamente nada e você pode hospedar na sua própria máquina em menos de 10 minutos. Chama SearXNG, tem 33 mil estrelas no GitHub, e depois que você configura, não tem volta.

O que é o SearXNG (e o que ele não é)

Primeiro, uma distinção importante: o SearXNG não é um motor de busca. Ele não tem índice próprio, não crawlea a web, não ranqueia páginas. Ele é um metabuscador, o que significa que quando você pesquisa “como fazer deploy com Docker”, ele dispara sua query simultaneamente para Google, Bing, DuckDuckGo, Brave, Wikipedia, Reddit e dezenas de outros motores, depois junta tudo, remove duplicatas, pontua os resultados e te entrega numa interface limpa, sem ads e sem tracking.

A sacada genial: quando o SearXNG faz essas requisições, ele usa o IP do servidor, não o seu. Ele não manda cookies, tokens de sessão ou headers identificadores. Para o Google, quem está pesquisando é um servidor aleatório na internet, não você.

O projeto é open source (licença AGPL-3.0), escrito em Python, mantido por uma comunidade ativa e tem mais de 9.500 commits no repositório oficial. Não é um projeto de garagem abandonado: é infraestrutura séria.

Por que devs deveriam se importar

“Mas eu uso aba anônima.” Não, você não está protegido. O modo incógnito impede que o navegador salve histórico local, mas o Google continua registrando tudo no lado do servidor. Seu IP, sua localização, seus padrões de busca, tudo continua sendo coletado.

“Mas eu uso DuckDuckGo.” Melhor, sem dúvida. Mas o DuckDuckGo ainda é um serviço centralizado, operado por uma empresa, com seus próprios servidores processando suas queries. Você está confiando que eles cumprem a promessa de privacidade. Com SearXNG self-hosted, não existe confiança: existe verificação. Você roda o código, você controla os logs, você decide o que acontece com cada byte.

Para devs especificamente, tem mais: quantas vezes por dia você pesquisa algo sensível no trabalho? Nomes de clientes, APIs internas, erros específicos de produção, vulnerabilidades. Cada uma dessas buscas vai para o perfil que o Google mantém sobre você. Com SearXNG rodando na sua rede local, essas queries nunca saem da sua máquina.

Como o SearXNG funciona por baixo

O fluxo é surpreendentemente elegante:

  1. Você digita sua busca na interface web do SearXNG
  2. O SearXNG formata a query para cada motor configurado (Google, Bing, etc.)
  3. As requisições saem do servidor SearXNG, sem nenhum dado identificador seu
  4. Os resultados voltam, são parseados, deduplicados e pontuados
  5. Você recebe uma página limpa com resultados agregados de múltiplas fontes

O SearXNG suporta mais de 262 motores de busca. Sim, duzentos e sessenta e dois. Não são só os genéricos: tem motores especializados para código (GitHub, GitLab, Codeberg), para papers acadêmicos (Google Scholar, Semantic Scholar, arXiv), para imagens, vídeos, notícias, mapas, torrents e muito mais.

Cada motor pode ser habilitado ou desabilitado individualmente. Você pode criar perfis de busca: um para programação que prioriza Stack Overflow e GitHub, outro para pesquisa acadêmica que foca em arXiv e PubMed, outro genérico para o dia a dia.

Instalação com Docker em 5 minutos

Chega de teoria. Vamos colocar para rodar.

Pré-requisitos

Você precisa de Docker e Docker Compose instalados. Se você é dev e não tem Docker em 2026, a gente precisa conversar.

docker-compose.yml

Crie um arquivo docker-compose.yml:


version: '3.8'

services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    ports:
      - "8080:8080"
    volumes:
      - ./searxng:/etc/searxng
    environment:
      - SEARXNG_BASE_URL=http://localhost:8080/
    restart: unless-stopped

Configuração básica

Antes de subir o container, crie a pasta de configuração:


mkdir -p searxng

Crie o arquivo searxng/settings.yml com a configuração mínima:


general:
  instance_name: "Meu Buscador"
  debug: false

search:
  safe_search: 0
  autocomplete: "google"
  default_lang: "pt-BR"

server:
  secret_key: "troque-por-uma-chave-aleatoria-longa"
  bind_address: "0.0.0.0"
  port: 8080

ui:
  default_theme: simple
  static_use_hash: true

engines:
  - name: google
    engine: google
    shortcut: g
    disabled: false

  - name: bing
    engine: bing
    shortcut: b
    disabled: false

  - name: duckduckgo
    engine: duckduckgo
    shortcut: ddg
    disabled: false

  - name: brave
    engine: brave
    shortcut: br
    disabled: false

  - name: github
    engine: github
    shortcut: gh
    disabled: false

  - name: stackoverflow
    engine: stackoverflow
    shortcut: so
    disabled: false

  - name: wikipedia
    engine: wikipedia
    shortcut: wp
    disabled: false

  - name: arxiv
    engine: arxiv
    shortcut: ax
    disabled: false

Subindo


docker compose up -d

Pronto. Acesse http://localhost:8080 e você tem seu buscador privado rodando. Sem conta, sem login, sem rastreamento.

Para gerar uma chave secreta forte:


openssl rand -hex 32

Configuração avançada para devs

A configuração básica já funciona, mas o SearXNG brilha quando você customiza para o seu workflow.

Bangs (atalhos de busca)

Assim como o DuckDuckGo, o SearXNG suporta bangs. Digite !gh react hooks e ele busca direto no GitHub. !so python asyncio vai direto para o Stack Overflow. !wp kubernetes busca na Wikipedia.

Você pode criar bangs customizados no settings.yml. Eu uso !mdn para Mozilla Developer Network e !docs para documentações oficiais.

Filtros por categoria

O SearXNG organiza motores em categorias: general, images, videos, news, music, files, it, science. Quando você pesquisa, pode clicar na aba de categoria ou adicionar !it para buscar só em motores de tecnologia.

API JSON

Quer integrar o SearXNG com suas ferramentas? Ele tem uma API JSON nativa:


curl "http://localhost:8080/search?q=docker+compose&format=json" | jq '.results[:3]'

A resposta vem estruturada com título, URL, conteúdo, motor de origem e score. Perfeito para alimentar scripts, bots ou até agentes de IA.

Inclusive, o LiteLLM já tem integração nativa com SearXNG para dar contexto de busca web para LLMs. Se você roda modelos locais, essa combinação é poderosa: seu modelo consulta a web através do seu próprio buscador privado, sem passar por nenhuma API de terceiros.

Rate limiting

Se você expõe sua instância na internet (por exemplo, para usar no celular fora de casa), configure rate limiting para evitar abuso:


server:
  limiter: true
  public_instance: false

outgoing:
  request_timeout: 3.0
  max_request_timeout: 10.0

SearXNG vs DuckDuckGo vs Brave Search vs Startpage

Característica SearXNG DuckDuckGo Brave Search Startpage
Open source Sim (AGPL-3.0) Parcial Não Não
Self-hosting Sim Não Não Não
Rastreamento Zero Mínimo (alegado) Mínimo Mínimo
Motores agregados 262+ Bing (principal) Próprio + Google Google (proxy)
API JSON Sim Não oficial Paga Não
Personalização Total Limitada Limitada Mínima
Requer confiança Não (você audita) Sim Sim Sim
Ads Não Sim Sim (opcional) Sim

A diferença fundamental: com SearXNG, você não precisa confiar em ninguém. O código é aberto, você hospeda, você controla. Com qualquer outro serviço, existe uma empresa entre você e sua privacidade.

Expondo na internet com HTTPS

Para usar fora da sua rede local (no celular, no trabalho), você precisa expor com HTTPS. A maneira mais simples é usar Caddy como reverse proxy:


version: '3.8'

services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    volumes:
      - ./searxng:/etc/searxng
    environment:
      - SEARXNG_BASE_URL=https://busca.seudominio.com/
    restart: unless-stopped

  caddy:
    image: caddy:latest
    container_name: caddy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - caddy_data:/data
    restart: unless-stopped

volumes:
  caddy_data:

O Caddyfile é ridiculamente simples:


busca.seudominio.com {
    reverse_proxy searxng:8080
}

O Caddy cuida do certificado SSL automaticamente via Let’s Encrypt. Sem nginx.conf de 50 linhas, sem certbot, sem cron de renovação.

Integrando como buscador padrão do navegador

Depois de subir sua instância, configure como buscador padrão:

Firefox:

  1. Acesse sua instância SearXNG
  2. Clique no cadeado na barra de endereço
  3. “Adicionar motor de busca”
  4. Vá em Configurações > Busca > Motor padrão

Chrome/Brave:

  1. Configurações > Motor de busca > Gerenciar motores
  2. Adicione: URL = http://localhost:8080/search?q=%s
  3. Defina como padrão

No celular funciona igual, desde que sua instância esteja acessível via HTTPS no seu domínio.

Casos de uso que você não pensou

Busca para agentes de IA

Se você trabalha com LLMs e agentes, o SearXNG é a peça que faltava. Em vez de pagar por APIs de busca (Google Custom Search cobra $5 por 1.000 queries), você usa a API JSON do seu SearXNG sem custo e sem limite.


import requests

def search(query: str, num_results: int = 5) -> list:
    response = requests.get(
        "http://localhost:8080/search",
        params={"q": query, "format": "json", "pageno": 1}
    )
    results = response.json().get("results", [])
    return [
        {"title": r["title"], "url": r["url"], "content": r["content"]}
        for r in results[:num_results]
    ]

Monitoramento de marca

Configure uma busca recorrente pelo nome da sua empresa ou produto e receba notificações quando algo novo aparecer. Um cron + curl na API do SearXNG + script de diff resolve isso em 20 linhas de bash.

Pesquisa acadêmica

Habilite arXiv, Semantic Scholar, PubMed e Google Scholar. Numa única busca, você agrega resultados de todas essas fontes. Para quem faz pesquisa, isso economiza horas de busca manual em cada plataforma.

Busca de código

Habilite GitHub, GitLab, Codeberg e Sourcegraph. Quando você precisa encontrar como outros projetos resolveram um problema específico, ter tudo agregado num lugar só é brutal.

Performance e confiabilidade

“Mas não é lento?” Depende. O SearXNG faz requisições paralelas para todos os motores habilitados. O tempo de resposta é o do motor mais lento, com timeout configurável (padrão: 3 segundos). Na prática, as buscas retornam em 1 a 3 segundos, o que é perfeitamente aceitável.

Se um motor estiver fora do ar ou demorar demais, o SearXNG simplesmente ignora e retorna os resultados dos outros. Sem erro, sem tela branca. A redundância de ter dezenas de motores significa que sua busca sempre funciona, mesmo quando o Google tem problemas (sim, acontece).

Para melhorar a performance, desabilite motores que você não usa. 262 motores é impressionante no papel, mas na prática você vai usar uns 15 a 20. Menos motores ativados = respostas mais rápidas.

Privacidade real, não marketing

Vamos falar sobre o que “privacidade” realmente significa aqui, porque muito serviço usa essa palavra como marketing.

Quando o Google diz que se preocupa com privacidade, ele quer dizer que encriptou a conexão entre você e os servidores dele. Os dados continuam sendo coletados, analisados e monetizados. É como um carteiro que promete não ler suas cartas, mas fotografa todos os envelopes.

Quando o DuckDuckGo diz que não rastreia, você precisa confiar na palavra deles. O código do servidor não é aberto. Você não pode auditar.

Com SearXNG self-hosted:

  • Sem logs por padrão. O servidor não registra suas buscas. Se quiser logs para debug, você ativa manualmente e controla o que é logado.
  • Sem cookies. Suas preferências são salvas no navegador via URL parameters ou cookies locais que nunca saem da sua máquina.
  • Sem tracking pixels. As páginas de resultado são HTML puro, sem scripts de terceiros.
  • Sem fingerprinting. Não existe código tentando identificar seu navegador ou dispositivo.
  • Código auditável. Mais de 33 mil pessoas deram estrela no GitHub. O código é revisado continuamente pela comunidade.

Quem já usa

O SearXNG não é um projeto obscuro. Existem dezenas de instâncias públicas mantidas por universidades, organizações de privacidade e entusiastas ao redor do mundo. Tem uma lista oficial de instâncias públicas onde você pode testar antes de decidir hospedar a sua.

Muitos devs usam SearXNG como backend de busca para ferramentas de RAG (Retrieval-Augmented Generation), o que explica o salto de popularidade em 2026. Com o boom de agentes de IA que precisam de acesso à web, ter um buscador sem limites de API e sem custo por query virou diferencial competitivo.

Próximos passos

Se você chegou até aqui e ainda está usando Google como buscador padrão, o mínimo que você pode fazer é testar uma instância pública do SearXNG por uma semana. Se gostar (e vai gostar), suba a sua em Docker. Leva 5 minutos.

O repositório oficial está no GitHub, a documentação é excelente e a comunidade no Matrix é ativa. Se travar em alguma configuração, provavelmente já tem alguém que resolveu o mesmo problema.

Seu histórico de busca diz mais sobre você do que qualquer rede social. Talvez seja hora de parar de entregar isso de graça.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts