Esta guía te ayudará a configurar un proxy Snowflake independiente en un servidor para ayudar a los usuarios censurados a conectarse a la red Tor El único requerimiento es conectividad a Internet, sin embargo, una de las principales ventajas de los proxies Snowflake independientes es que pueden ser instalados en servidores, y ofrecen un ancho de banda más alto y una opción más confiable para usuarios detrás de NATs y cortafuegos restrictivos. Por lo tanto, recomendamos especialmente:

  1. Conectividad 24/7 a Internet
  2. Un NAT uno a uno (puedes usar esta herramienta para comportamiento de NAT para probar qué tipo de NAT tienes. Las propiedades deseables son mapeo independiente de la dirección, y filtrado independiente o bien dependiente de la dirección)

Hay varias maneras de configurar y mantener un proxy snowflake independiente.

Configuración con Docker

Primero debes tener Docker y docker-compose instalados.

Tenemos una imagen Docker para facilitar la configuración de un proxy snowflake. Primero descarga docker-compose.yml. Luego, despliega el proxy ejecutando:

docker-compose up -d snowflake-proxy

Ahora deberías ver la salida:

Creating snowflake-proxy ... done

¡y tu proxy está corriendo!

Ansible

Ahora hay un rol ansible para instalar un proxy snowflake en Debian creado por Jacobo Nájera: https://galaxy.ansible.com/nvjacobo/snowflake

Compilar y ejecutar desde el código fuente

  1. Primero necesitarás instalar y configurar Go para compilar el código independiente proxy-go. Si estás corriendo Ubuntu o Debian, puedes instalar Go ejecutando apt install golang. También puedes visitar https://golang.org/dl/. Necesitarás Go 1.13+ para correr el proxy Snowflake.

  2. Clona el código fuente.

    git clone https://git.torproject.org/pluggable-transports/snowflake.git
    
  3. Compila el proxy snowflake.
    cd snowflake/proxy
    go build
    
  4. Ejecuta el proxy snowflake.

Para nuestras instancias proxy-go en snowflake-broker, nosotros manejamos instancias proxy-go usando runit. Sin embargo, un simple comando nohup también te permitirá correr una instancia en segundo plano.

   nohup ./proxy &