Recentemente criei um espelho .onion do meu website.
\ Porquê? Porque não? E também porque posso. Ah, e liberdade de expressão e anti-censura e todo esse jazz.
\ Gostaria de fingir que foi um grande desafio tecnológico, mas sendo totalmente sincero, foram apenas 3 comandos e 4 linhas de configuração.
\ Se você também gostaria de se tornar um membro da web obscura, aqui está como eu fiz:
Antes de entrarmos no "como" de tudo isso, provavelmente devo fornecer uma breve visão geral de como era minha stack antes de entrar no Universo Onion:
Primeiro, precisamos instalar o Tor. No Debian, está nos repositórios padrão:
sudo apt update sudo apt install tor
A seguir, precisamos configurar o Tor para criar um serviço oculto para nosso website. Abra o arquivo de configuração do Tor (/etc/tor/torrc) no seu editor de texto CLI favorito (é melhor que seja o vim, ou você está morto para mim). Não tenho interesse em executar um relay ou nó de saída no meu VPS, então fiz algumas alterações mínimas no arquivo de configuração, que deve ficar mais ou menos assim (comentários removidos para maior clareza):
# Disable SOCKS proxy since we aren't making outbound connections # through Tor SocksPort 0 # Make sure Tor runs as a daemon (i.e. in the background) RunAsDaemon 1 # Setup the hidden service on port 80, this is where we tell Tor to # create a .onion service for our web server HiddenServiceDir /var/lib/tor/hidden_service/ HiddenServicePort 80 # Disable inbound connections, since we aren't running a relay or # exit node ORPort 0 # Disable directory services, since we won't be mirroring directory # information to other Tor nodes DirPort 0
\ É isso. Todo o resto deve ser comentado usando caracteres #.
Agora, precisamos reiniciar o serviço Tor para aplicar nossas alterações:
sudo systemctl restart tor
Depois que o Tor reiniciar, ele gerará um novo serviço oculto para nós. Podemos encontrar nosso novo endereço .onion no HiddenServiceDir que especificamos anteriormente (/var/lib/tor/hidden_service/). Este diretório só pode ser lido pelo usuário debian-tor, então precisaremos usar sudo para ler o arquivo hostname dentro dele:
sudo cat /var/lib/tor/hidden_service/hostname
\ O que será impresso no terminal é seu novo endereço .onion. Deve ser algo parecido com isto:
jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion
Meu servidor Caddy serve meu website na porta 80 sem restrições de IP ou domínio, então não preciso fazer nenhuma alteração na minha configuração do Caddy, no entanto, se você configurou explicitamente seu servidor Caddy para responder apenas a certos domínios ou endereços IP, precisará adicionar um novo bloco de site para seu endereço .onion, que ficará mais ou menos assim:
http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion:80 { # Set up a reverse proxy, or serve static files, etc. }
\ Como você não pode obter certificados HTTPS para endereços .onion, precisará servir seu site através de HTTP simples. Não tenho certeza se isso é geralmente considerado aceitável dentro da rede Tor (talvez um dos meus dezenas de leitores possa me esclarecer), mas eu não exijo HTTPS para o meu site de qualquer forma, então funciona para os meus propósitos.
Se você quer que as pessoas encontrem seu site .onion, precisará anunciá-lo em algum lugar. Sou fã de sutileza, então configurei um cabeçalho Onion-Location no meu site principal que aponta para meu endereço .onion. Desta forma, qualquer pessoa visitando meu site regular com um navegador habilitado para Tor será automaticamente informada da existência do meu espelho .onion sem pop-ups intrusivos, banners ou elementos adicionais de UI.
\ Para fazer isso, você vai querer adicionar um cabeçalho ao seu bloco de site principal do Caddy assim:
header { Onion-Location http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion{uri} }
\ A razão pela qual eu adiciono esse {uri} no final é para que se alguém visitar uma página específica no meu site principal (por exemplo, https://flower.codes/some-post), o cabeçalho Onion-Location os direcionará para a página equivalente no meu site .onion (http://jytkco7clxwj4hhzaydhk4kr3hwzsdzyvtsc6zn2ivog5uma5pxowzad.onion/some-post), o que (pelo menos para mim) adiciona um polimento à experiência.
Brincadeira.
\ Neste ponto, seu espelho .onion deve estar funcionando. Você pode testá-lo visitando seu endereço .onion em qualquer navegador habilitado para Tor (como o Navegador Tor ou até mesmo o Brave, que tem suporte integrado ao Tor).


