Este guia ajudará você a configurar uma ponte WebTunnel compilada a partir do código-fonte para ajudar usuários censurados a se conectarem à rede Tor.
0. Configure seu domínio e servidor web
Antes de prosseguir com as instruções abaixo, é necessário configurar seu domínio e servidor web primeiro.
Consulte a primeira parte do guia do WebTunnel para ver como configurar seu servidor web.
1. Instale Golang
Para construir o binário do servidor WebTunnel, você precisa instalar o Golang.
Você pode instalar o Go no Debian executando:
$ sudo apt install golang
2. Clonar e compilar
Clone o repositório git do WebTunnel:
$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel
E compilar o binário do servidor WebTunnel:
$ cd webtunnel/main/server
$ go build
Por fim, copie o binário para outro local:
$ sudo cp server /usr/local/bin/webtunnel
3. Instale o Tor
On a Debian-like system, install Tor from the Tor Debian repository.
$ sudo apt install apt-transport-https lsb-release
E execute estes comandos para habilitar o repositório Debian Tor:
$ CODENAME=$(lsb_release -cs)
$ cat <<EOF > /etc/apt/sources.list.d/tor.list
deb [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
deb-src [signed-by=/usr/share/keyrings/tor-archive-keyring.gpg] https://deb.torproject.org/torproject.org $CODENAME main
EOF
Importe o chaveiro do Projeto Tor:
$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
Por fim, atualize sua lista de pacotes e instale o Tor:
$ sudo apt update && sudo apt install tor deb.torproject.org-keyring -y
4. Edite seu torrc
Edite seu arquivo de configuração Tor, geralmente localizado em /etc/tor/torrc e substitua seu conteúdo por:
url=https://yourdomain/path com a URL do seu WebTunnel, incluindo seu domínio e caminho secreto;
<address@email.com> with your contact email address;
Nickname WebTunnetTest pelo apelido da sua ponte.
BridgeRelay 1
ORPort 127.0.0.1:auto
AssumeReachable 1
ServerTransportPlugin webtunnel exec /usr/local/bin/webtunnel
ServerTransportListenAddr webtunnel 127.0.0.1:15000
ServerTransportOptions webtunnel url=https://yourdomain/path
ExtORPort auto
ContactInfo <address@email.com>
Nickname WebTunnelTest
SocksPort 0
5. Reinicie o Tor
Habilitar e iniciar tor:
$ sudo systemctl enable --now tor.service
Ou reinicie-o se ele já estiver em execução, para que as configurações entrem em vigor:
$ sudo systemctl restart tor.service
6. Edite e recarregue a permissão do AppArmor tor
Para permitir que o tor execute seu binário do WebTunnel, edite o perfil system_tor do AppArmor em /etc/apparmor.d/system_tor e adicione uma entrada permitindo que o tor execute o WebTunnel:
# During startup, tor (as root) tries to open various things such as
# directories via check_private_dir(). Let it.
/usr/local/bin/webtunnel ix,
Recarregue o perfil do AppArmor:
$ sudo apparmor_parser -r /etc/apparmor.d/system_tor
Depois de modificar o perfil e recarregá-lo, teste para ver se o processo tor agora pode executar /usr/local/bin/webtunnel sem nenhuma negação do AppArmor.
Verifique os logs do sistema (por exemplo, dmesg ou /var/log/syslog) para garantir que o erro não reapareça.
7. Monitore seus registros
Para confirmar se sua ponte está funcionando sem problemas, você deve ver algo assim (geralmente em /var/log/syslog ou executar sudo journalctl -e -u tor@default):
[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
Você pode monitorar o uso da sua ponte WebTunnel em Relay Search.
Basta digitar o <HASHED FINGERPRINT> da sua ponte no formulário e clicar em "Pesquisar".
Após configurar a ponte, leva aproximadamente três horas para que ela apareça na Pesquisa de Retransmissão.
8. Notas finais
Sua ponte WebTunnel será distribuída automaticamente por padrão através do site Bridges, também conhecido como distribuidor HTTPS.
Este padrão se aplica a menos que um operador configure explicitamente a configuração BridgeDistribution no arquivo torrc para uma opção diferente.
Se definido como qualquer opção diferente de HTTPS, a ponte não será distribuída aos usuários.
Se você estiver tendo problemas para configurar sua ponte, dê uma olhada em nossa seção de ajuda.
Se sua ponte estiver funcionando, você pode testá-la copiando e colando a linha da ponte no Navegador Tor.
Para construir sua linha de ponte do WebTunnel, você precisa copiar sua IMPRESSÃO DIGITAL de ponte, mas não a confunda com sua impressão digital com hash, que é a impressão digital que você encontrará no site Tor Relay Search.
Se você copiar a impressão digital com hash em vez da impressão digital da ponte, não conseguirá se conectar.
Você pode encontrar sua impressão digital de ponte no arquivo /var/lib/tor/fingerprint.
Lembre-se de copiar apenas a impressão digital e não incluir o apelido da ponte.
Por fim, você pode substituir o conteúdo da URL pelo seu domínio e caminho secreto.
Você pode encontrar isso na sua linha torrc em ServerTransportOptions.
Agora, basta substituir o conteúdo abaixo para criar sua linha de ponte do WebTunnel. 10.0.0.2:443 é apenas um endereço IP aleatório que nunca é usado. Ele está lá apenas porque a especificação de transporte conectável exige um endereço IP lá.
webtunnel 10.0.0.2:443 FINGERPRINT url=https://yourdomain/path