This method is tested on a fully updated Debian 12 install.
Step 1: Install docker and docker-compose:
$ sudo apt install docker.io docker-compose -y
Step 2: Create a folder in the home directory of a sudo user:
$ mkdir SNOWFLAKE-PROXY
Step 3: Create a docker-compose file and edit it with nano:
$ touch docker-compose.yml && nano docker-compose.yml
Step 4: Paste the following content into the file:
services:
snowflake-proxy:
network_mode: host
image: thetorproject/snowflake-proxy:latest
container_name: snowflake-proxy
restart: unless-stopped
# For a full list of Snowflake Proxy CLI parameters see
# https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/tree/main/proxy?ref_type=heads#running-a-standalone-snowflake-proxy
#command: [ "-ephemeral-ports-range", "30000:60000" ]
watchtower:
image: containrrr/watchtower
container_name: watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: snowflake-proxy
Step 5: Exit nano and execute the containers for the first time:
$ sudo docker-compose up
Wait until the containers fully started and then exit with "CTRL" + "C".
Step 6: Running in the background:
$ sudo docker-compose up -d
To see if everything worked, you can read the logs live: Look for completed connections:
$ sudo docker logs -f snowflake-proxy