Esta guía te ayudará a configurar un puente WebTunnel compilado desde la fuente para ayudar a los usuarios censurados a conectarse a la red Tor.
0. Configura tu dominio y servidor web
Antes de continuar con las instrucciones a continuación, primero es necesario configurar tu dominio y servidor web.
Consulta la primera parte de la Guía WebTunnel para ver cómo configurar tu servidor web.
1. Instalar Golang
Para construir el binario del servidor WebTunnel, necesitas instalar Golang.
Puedes instalar Go en Debian ejecutando:
$ sudo apt install golang
2. Clonar y compilar
Clona el repositorio git de WebTunnel:
$ git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/webtunnel
Y compila el binario del servidor WebTunnel:
$ cd webtunnel/main/server
$ go build
Finalmente, copiar el binario en otra ubicación:
$ sudo cp server /usr/local/bin/webtunnel
3. Instalar Tor
En un sistema tipo Debian, instala Tor desde el repositorio Tor Debian.
$ sudo apt install apt-transport-https lsb-release
Y ejecuta estos comandos para habilitar el repositorio Tor Debian:
$ 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
Importar el llavero del Proyecto Tor:
$ wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null
Finalmente, actualizar la lista de paquetes e instalar Tor:
$ sudo apt update && sudo apt install tor deb.torproject.org-keyring -y
4. Edita tu torrc
Edita tu archivo de configuración Tor, generalmente situado en /etc/tor/torrc
y reemplaza su contenido con:
url=https://yourdomain/path
con tu URL de WebTunnel, incluido tu dominio y ruta secreta;
<address@email.com>
with your contact email address;
Nickname WebTunnetTest
con el apodo de tu puente.
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. Reiniciar Tor
Habilitar e iniciar tor:
$ sudo systemctl enable --now tor.service
O reinícialo si ya estaba en marcha, para que las configuraciones surtan efecto:
$ sudo systemctl restart tor.service
6. Edita y reinicia los permisos de tor de AppArmor
Para permitir que tor ejecute tu binario WebTunnel, edita el perfil system_tor
de AppArmor en /etc/apparmor.d/system_tor
y añade una entrada que permita a tor ejecutar 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,
Recarga el perfil de AppArmor:
$ sudo apparmor_parser -r /etc/apparmor.d/system_tor
Después de modificar el perfil y recargarlo, comprueba si el proceso tor puede ahora ejecutar /usr/local/bin/webtunnel
sin ninguna denegación de AppArmor.
Comprueba los registros del sistema (por ejemplo, dmesg
o /var/log/syslog
) para asegurarte de que el error no reaparece.
7. Supervisa los registros
Para confirmar que tu puente está funcionando sin problemas, deberíad ver algo como esto (generalmente en /var/log/syslog o ejecutar 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
Puedes monitorear el uso de tu puente WebTunnel en Búsqueda de repetidores.
Simplemente ingresa la <HASHED FINGERPRINT>
de tu puente en el formulario y haz clic "Search".
Después de haber configurado el puente, el puente tarda aproximadamente tres horas en aparecer en la Búsqueda de Relé.
8. Notas finales
Por defecto, tu puente WebTunnel se distribuirá automáticamente a través de la página web de los puentes, también conocida como distribuidor HTTPS
.
Este valor por defecto se aplica a menos que un operador configure explícitamente el ajuste BridgeDistribution
en el archivo torrc a una opción diferente.
Si se establece en cualquier opción que no sea HTTPS
, el puente no se distribuirá a los usuarios.
Si tienes problemas para configurar tu puente, echa un vistazo a nuestra sección de ayuda.
Si tu puente se está ejecutando, puedes probarlo copiando y pegando la línea del puente en el Navegador Tor.
Para construir tu línea de puente WebTunnel, necesitas copiar tu puente FINGERPRINT
, pero no lo confundas con tu huella digital hash, que es la huella digital que encontrará en el sitio web de Tor Relay Search.
Si copias la huella digital codificada en lugar de la huella digital del puente, no podrás conectarte.
Puedes encontrar la huella digital de tu puente en el archivo /var/lib/tor/fingerprint
.
Recuerda copiar solo la huella digital y no incluir el apodo del puente.
Finalmente, puedes reemplazar el contenido de la URL con tu dominio y ruta secreta.
Puedes encontrar esto en tu línea torrc en ServerTransportOptions
.
Ahora, solo reemplaza el contenido de abajo para crear tu línea puente WebTunnel. 10.0.0.2:443 es solo una dirección IP aleatoria que nunca se utiliza. Solo está ahí porque la especificación de transporte conectable requiere una dirección IP ahí.
webtunnel 10.0.0.2:443 FINGERPRINT url=https://yourdomain/path