Esta guía te guiará a través de la instalación, operación y mantenimiento del proxy Snowflake en sistemas basados en Linux. Ejecutar un proxy Snowflake es una forma fácil de contribuir a los esfuerzos anti-censura del Proyecto Tor.

1. Instalar Go

Primero tendrás que instalar y configurar el compilador Go para construir el proxy autónomo a partir del código fuente. Inicia sesión con una cuenta de usuario con derechos sudo o directamente con root (en el último caso, omite la parte sudo en los siguientes comandos).

Si estás ejecutando Ubuntu o Debian, puedes instalar Go ejecutando sudo apt install golang. Si usas Fedora, Red Hat o Amazon Linux con sudo yum install golang o sudo dnf install golang.

Necesitarás Go 1.21 o posterior para ejecutar el proxy Snowflake. Por favor, compruebe su versión de Go utilizando el comando go version. Si no, descarga Go binary de la web oficial y sigue sus instrucciones de instalación.

2. Instalar git y clonar el repositorio Snowflake

En segundo lugar, necesitas el cliente git para descargar el código fuente de Snowflake.

Si utilizas Ubuntu o Debian, puedes instalar git ejecutando sudo apt install git. Si usas Fedora, Red Hat o Amazon Linux con sudo yum install git o sudo dnf install git. De lo contrario, consulta la documentación de tu sistema operativo.

Por favor, ejecute los siguientes pasos con la cuenta de usuario bajo la cual debe ejecutarse el proxy. No uses root.

Se recomienda crear una cuenta separada snowflake con derechos restringidos en el sistema.

Abre tu terminal y clona el código fuente:

git clone https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git

3. Desarrolla el proxy Snowflake

Después de clonar el repositorio, puede construir el binario proxy Snowflake ejecutando el comando:

cd snowflake/proxy
go build

4. Ejecuta el proxy Snowflake

Después de que stu proxy haya terminado de compilar, puedes ejecutarlo con el comando:

nohup ./proxy &

Nota: El comando nohup permite que el programa se ejecute en segundo plano incluso después de cerrar el terminal, y & pone el comando en segundo plano inmediatamente.

Si deseas guardar la salida del proxy en un archivo de registro, por ejemplo, para ver el uso del proxy, puedes utilizar:

nohup ./proxy >snowflake.log 2>&1 &

5. Asegúrate de que el proxy se inicia después de reiniciar el sistema

Edite tu crontab ejecutando el comando:

crontab -e

Ingresa la siguiente línea (ejemplo, adapta la trayectoria a tu situación)

@reboot nohup /home/snowflake/snowflake/proxy/proxy > /home/snowflake/snowflake/proxy/snowflake.log 2>&1 &

Verifica si esto funciona reiniciando el sistema y verificando el registro. Nota: En algunas instalaciones de Linux esto podría no funcionar.

6. Mantén actualizado tu proxy Snowflake

Para mantener actualizado tu proxy de snowflake, ejecuta los siguientes comandos cada pocas semanas (inicie sesión con la cuenta de usuario utilizada durante la instalación del proxy):

kill -9 $(pidof proxy)
cd snowflake/
git pull
cd proxy
go build
nohup ./proxy >snowflake.log 2>&1 &