Ce guide vous accompagnera dans l’installation, le fonctionnement et la maintenance du mandataire Snowflake sur les systèmes Linux. Faire fonctionner un mandataire Snowflake est un moyen simple de contribuer aux efforts du Projet Tor contre la censure.

1. Installez Go

Vous devrez d’abord installer et configurer le compilateur Go pour compiler le mandataire autonome à partir du code source. Veuillez vous connecter en utilisant un compte utilisateur avec les droits sudo ou directement avec root (dans ce dernier cas, omettez la partie sudo dans les commandes suivantes).

Si vous utilisez Ubuntu ou Debian, vous pouvez installer Go en exécutant sudo apt install golang. Si vous utilisez Fedora, Red Hat ou Amazon Linux, utilisez sudo yum install golang ou sudo dnf install golang.

Vous aurez besoin de Go 1.21 ou d’une version plus récente pour exécuter le mandataire Snowflake. Vérifiez votre version de Go avec la commande go version. Sinon, téléchargez le binaire Go depuis le site officiel et suivez ses instructions d’installation.

2. Installez git et clonez le dépôt de Snowflake

Ensuite, vous avez besoin du client git pour télécharger le code source de Snowflake.

Si vous utilisez Ubuntu ou Debian, vous pouvez installer git en exécutant sudo apt install git. Si vous utilisez Fedora, Red Hat ou Amazon Linux, avec sudo yum install git ou sudo dnf install git. Sinon, consultez la documentation de votre système d’exploitation.

Exécutez les étapes suivantes avec le compte utilisateur sous lequel le mandataire doit s’exécuter. N’utilisez pas root.

Il est recommandé de créer un compte snowflake séparé avec des droits restreints sur le système.

Ouvrez votre terminal et clonez le code source :

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

3. Compilez le mandataire Snowflake

Après avoir cloné le dépôt, vous pouvez compiler le binaire du mandataire Snowflake en exécutant la commande :

cd snowflake/proxy
go build

4. Exécutez le mandataire Snowflake

Une fois la compilation de votre mandataire terminée, vous pouvez l’exécuter avec la commande :

nohup ./proxy &

Remarque : la commande nohup permet au programme de continuer à s’exécuter en arrière-plan même après la fermeture du terminal, et & place immédiatement la commande en arrière-plan.

Si vous voulez enregistrer la sortie du mandataire dans un fichier journal, par exemple pour voir l’utilisation de votre mandataire, vous pouvez utiliser :

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

5. Assurez-vous que le mandataire est démarré après un redémarrage du système

Modifiez votre crontab en exécutant la commande :

crontab -e

Entrez la ligne suivante (exemple, adaptez les chemins à votre situation)

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

Veuillez vérifier que cela fonctionne en redémarrant le système et en consultant le journal. Remarque : sur certaines installations Linux, cela peut ne pas fonctionner.

6. Maintenez votre mandataire Snowflake à jour

Pour maintenir votre mandataire Snowflake à jour, exécutez les commandes suivantes toutes les quelques semaines (connectez-vous avec le compte utilisateur que vous avez utilisé lors de l’installation du mandataire) :

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