SearXNG é um poderoso mecanismo de meta-pesquisa que você pode hospedar em qualquer lugar. Ao contrário dos mecanismos de pesquisa tradicionais, o SearXNG é um agregador de mecanismos. Isso significa que, em vez de processar as pesquisas por si só, ele usa outros mecanismos para fazer a pesquisa. Além disso, o SearXNG é incrivelmente leve e fácil de configurar, e você pode hospedá-lo em um sistema tão simples quanto um Raspberry Pi!
Por que instalar o SearXNG
Os mecanismos de pesquisa tornam incrivelmente conveniente navegar e descobrir a web. No entanto, usar um mecanismo de pesquisa público tem um preço – empresas de pesquisa modernas, como o Google, usam seus dados de pesquisa para criar um perfil altamente preciso de você.
Esse comportamento pode parecer intrusivo para indivíduos que desejam manter suas pesquisas privadas e anônimas. Por exemplo, os jornalistas que estão reportando sobre tópicos sensíveis e controversos podem não querer associar suas consultas de pesquisa com seus nomes.

Uma maneira de lidar com esse problema de privacidade é instalando e hospedando sua própria instância do SearXNG. Isso garante que somente você terá acesso aos seus logs de pesquisa.
O que você precisará
O SearXNG requer que você tenha algumas coisas prontas antes de poder instalá-lo:
- Um nome de domínio totalmente qualificado (FQDN): para usar o SearXNG, você precisa hospedá-lo através de um servidor web adequado com um domínio.
- Uma máquina acessível de fora da sua rede doméstica: pode ser um computador em sua casa que tenha um endereço IP estático ou um servidor virtual privado (VPS) dedicado que você está alugando no momento.
- Acesso root à sua máquina: isso ocorre porque o SearXNG exige que você instale algumas ferramentas do sistema para configurá-lo e hospedá-lo corretamente.
Este tutorial se concentra apenas na instalação e configuração do SearXNG em um Debian 11 VPS de DigitalOcean.

Instalando as dependências do SearXNG
Antes de instalar o SearXNG, você precisa criar uma conta de usuário separada em seu sistema:
sudo useradd -s /bin/bash -d /home/searx -m -G sudo searx sudo passwd searx

Isso permite isolar todos os comandos e arquivos ao instalar e configurar o SearXNG. Isso pode ser especialmente útil se você pretende hospedar o mecanismo de pesquisa em um VPS com vários serviços.
Uma vez feito, você precisa mudar para a nova conta de usuário executando su searx. A partir daí, agora você pode instalar todas as dependências necessárias para o SearXNG:
sudo apt install git nginx iptables iptables-persistent ufw certbot python3-certbox-nginx

Configurando seu firewall
Embora esta não seja uma etapa necessária, configurar seu firewall garante que qualquer sistema externo só possa acessar portas autorizadas por você. Isso pode ajudar a evitar que agentes mal-intencionados inundem sua máquina com solicitações infinitas.

Você pode usar os dois iptables e ufw para habilitar apenas as portas que o SearXNG precisa:
sudo iptables -I INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT sudo iptables -I INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT sudo netfilter-persistent save sudo ufw allow 80 sudo ufw allow 443
- Os dois
iptablescomandos criam uma nova regra que aceita qualquer nova conexão HTTP e HTTPS recebida em sua máquina. Isso, por sua vez, permite que seu sistema forneça a página da Web SearXNG para seus usuários. - o
netfilter-persistentO comando salva e recarrega todas as alterações feitas no firewall. Isso garante que sua máquina tenha as configurações corretas entre as reinicializações do sistema. - Por último, os dois
ufwOs comandos garantem que qualquer conexão atual em HTTP e HTTPS permaneça aberta durante a sessão.
Clonagem e instalação do SearXNG
A próxima coisa que você precisa fazer é baixar e instalar o SearXNG em sua máquina. Os desenvolvedores do programa oferecem um script de instalação simples que lida com a maioria das etapas de configuração complicadas.

Você pode obter este script de instalação clonando o arquivo do programa Repositório do GitHub:
git clone https://github.com/searxng/searxng searxng && cd searxng

Quando a clonagem estiver concluída, você poderá iniciar o processo de instalação:
sudo -H ./utils/searxng.sh install all
Embora esse processo seja amplamente automático, há casos em que o script solicita que você confirme as alterações que está fazendo. Por exemplo, quando o script SearXNG imprime uma lista de programas que irá instalar, você precisa pressionar S continuar.

Configurando o SearXNG
Uma vez que o SearXNG está em sua máquina, você precisa configurar um servidor web que irá transmiti-lo, porque o mecanismo de busca é apenas um processo que recebe solicitações e publica resultados. Isso significa que sem um servidor web adequado, não é possível interagir e usar o SearXNG.

No momento, o SearXNG suporta oficialmente o Apache e o Nginx. Esta seção se concentra na configuração do SearXNG como um serviço autônomo usando o Nginx.
Configurando o Nginx
Primeiro, você precisa criar um novo arquivo de configuração em “/etc/nginx/sites-available/”:
sudo nano /etc/nginx/sites-available/searxng
Você precisa então escrever um bloco de servidor dentro do arquivo que conterá a configuração do servidor web. Por exemplo, este é um bloco básico que estou usando para minha instância SearXNG:
server { # Ports. listen 80; listen [::]:80; # Hostname. server_name yetanothersearxserver.xyz; # Logging. access_log /dev/null; error_log /dev/null; # Searx Redirect. location / { uwsgi_pass unix:///usr/local/searxng/run/socket; include uwsgi_params; uwsgi_param HTTP_HOST $host; uwsgi_param HTTP_CONNECTION $http_connection; # see flaskfix.py uwsgi_param HTTP_X_SCHEME $scheme; uwsgi_param HTTP_X_SCRIPT_NAME /searxng; # see limiter.py uwsgi_param HTTP_X_REAL_IP $remote_addr; uwsgi_param HTTP_X_FORWARDED_FOR $proxy_add_x_forwarded_for; } }
- o
listenvariáveis informam ao Nginx que este servidor web transmite um serviço na porta 80. É importante alterar este valor se você já estiver executando um host virtual diferente em seu sistema. - o
server_nameé uma variável que deve conter um FQDN que aponte para sua máquina. No meu caso, meu servidor web usa “yetanothersearxserver.xyz”. - Tanto o
access_logeerror_logvariáveis informam ao Nginx onde salvar qualquer informação sobre suas consultas de pesquisa. Por exemplo, configurá-lo para “/dev/null” garante que você não está salvando nenhum log na máquina. - Por último, o
locationblock diz ao Nginx o que fazer sempre que um usuário se conectar ao servidor web.

Instalando SSL e habilitando SearXNG
A próxima coisa que você precisa fazer é criar um certificado SSL para sua instância SearXNG. Isso garante que todas as conexões feitas ao seu site sejam seguras.

Você pode facilmente habilitar o SSL gratuitamente inscrevendo-se com Vamos criptografarcertbot. Por exemplo, posso executar o seguinte comando para emitir um certificado para meu host SearXNG:
certbot --nginx yetanothersearxserver.xyz
Agora você pode habilitar seu site através do Nginx criando um link simbólico para a pasta “sites_enabled” do servidor web:
sudo ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/
Uma vez feito, você precisa recarregar o SearXNG e o Nginx para aplicar e habilitar suas configurações:
sudo systemctl reload nginx sudo service uwsgi restart searxng
Parabéns! Agora você sabe como criar e hospedar seu próprio mecanismo de pesquisa usando o SearXNG.
perguntas frequentes
É possível atualizar o SearXNG depois de instalá-lo?
Sim! Embora você não possa instalar o SearXNG por meio de um gerenciador de pacotes tradicional, é possível atualizar e migrar o mecanismo de pesquisa a partir da linha de comando. Por exemplo, você pode atualizar o SearXNG executando o seguinte comando: sudo /home/$USER/searxng/utils/searxng.sh instance update.
O script de instalação está me informando que o Redis não está disponível. Minha instalação falhou?
Não. Mas esse erro provavelmente fará com que sua instância SearXNG fique instável. Isso ocorre porque uma falha do Redis no SearXNG significa que ele está sendo executado em um sistema não SystemD e seu daemon de filtragem antibot não está em execução.
Para corrigir isso, você precisa desinstalar o SearXNG executando o seguinte comando: sudo /home/$USER/searxng/utils/searxng.sh remove all. Por fim, você também precisa ter certeza de que está usando o SystemD executando o seguinte: sudo systemctl --version.
É possível ver o que o SearXNG está fazendo atualmente?
Sim! Embora o SearXNG seja um daemon sem cabeça que é executado em segundo plano, é possível verificar o que ele está fazendo no momento. Isso é útil nos casos em que o SearXNG está encontrando alguns problemas e você não tem certeza do que está causando esses problemas. Por exemplo, posso acessar a tela de depuração do SearXNG executando o seguinte comando: sudo /home/$USER/searxng/utils/searxng.sh instance inspect.
Apoie o nosso trabalho ❤️
Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.




















