Esta guía te ayudará a configurar un puente WebTunnel para ayudar a los usuarios censurados a conectarse a la red Tor. WebTunnel es un transporte conectable que intenta imitar las actividades de navegación web basadas en HTTPT.

Los requisitos para implementar un puente WebTunnel son:

  1. Un IPv4 estático (preferiblemente);
  2. La capacidad de exponer puertos TCP a Internet (asegúrate de que NAT no se interponga en su camino);
  3. A self-hosted website, including a configurable web server (such as CADDY or Apache) and a domain under your control;

La implementación de un puente WebTunnel implica configurar tanto un servidor web como un puente Tor con este transporte conectable. La primera parte de esta guía proporciona instrucciones detalladas para configurar tu servidor web para que admita WebTunnel. En la segunda parte, elegirás entre dos métodos para ejecutar el puente WebTunnel: usando Docker o compilando desde el código fuente.

Ten en cuenta que si no cumples con los requisitos para ejecutar un WebTunnel o un puente obfs4, ejecutar un Snowflake proxy es una excelente manera de ceder tu ancho de banda para ayudar a los usuarios a eludir la censura.

configuración del servidor web

Paso 1. Configura tu dominio

Si ya tienes un dominio de sitio web, puedes usar el dominio principal o crear un subdominio. En esta guía, el puente WebTunnel está alojado en el mismo servidor que tu sitio web, pero es posible alojarlo en un servidor diferente.

Step 2. Install CADDY

To coexist with other content on a single port, you should install a reverse proxy, such as CADDY. Install CADDY:

$ sudo apt install caddy

Step 3. Configure CADDY

3.1. Generate a random string

Cuando los clientes se conectan a tu servidor web, serán redirigidos a tu proxy WebTunnel cuando usen una ruta secreta. Puedes generar una cadena aleatoria ejecutando este comando:

$ echo $(cat /dev/urandom | tr -cd "qwertyuiopasdfghjklzxcvbnmMNBVCXZLKJHGFDSAQWERTUIOP0987654321"|head -c 24)

3.2. Create or edit an CADDY vhost

Edit your Caddyfile under /etc/caddy/Caddyfile. Here is a full Caddyfile example.

# Caddyfile example
example.com {
    # Webtunnel bridge
    route /$PATH {
        reverse_proxy http://127.0.0.1:15000 {
        header_up Upgrade {>Upgrade}
        header_up Connection {>Connection}

        header_up Host {host}
        header_up X-Real-IP {remote}
        header_up Front-End-Https on

        }
    }
        #Serve additional content
    root * /var/www/html
    file_server
}

3.3. Test the vhost configuration and reload CADDY

sudo systemctl reload caddy

Step 4. Configure your Tor WebTunnel bridge

¡Felicidades! Has configurado correctamente el servidor web para enviar solicitudes a tu puente Tor. Ahora, debes instalar y configurar el puente para recibir estas solicitudes del servidor web. Sigue la segunda parte de esta guía. You have two options available: either compile a Go binary from the source or use Docker.