Table of Contents

About

This is a docker build for tor, the anonymizing network, plus the snowflake transport plugin.

Running

After building, execute:

docker run \
    -it \
    --restart=always \
    -p 9050:9050 \
    -p 9053:9053 \
    -v /local/storage/tor/etc:/etc/tor \
    wizardrysteamworks/tor-snowflake

where:

and then point a program supporting SOCKS proxies at the local address and 9050 tor port.

Note that the image will create a default configuration if it is not found in the local host directory at /local/storage/tor/etc.

Compose

Here is the corresponding Docker compose file:

version: "3.7"

services:
  tor-snowflake:
    image: docker.internal:5000/tor-snowflake:latest
    ports:
      - "9050:9050"     # SOCKS
      - "9053:9053"     # DNS
    volumes:
      - /mnt/docker/data/tor-snowflake/:/etc/tor
    healthcheck:
      test: [ "CMD", "/usr/local/bin/tor-check-circuit", "localhost", "8050", "tor" ]
      interval: 5m
      timeout: 3s

Filesystem Disposition

.
├── Dockerfile
└── rootfs
    ├── etc
    │   └── tor
    └── usr
        └── local
            ├── bin
            │   ├── run
            │   └── tor-check-circuit
            └── share
                └── tor-snowflake
                    └── torrc

8 directories, 4 files

Dockerfile

Unable to display file "https://svn.grimore.org/docker/build/tor-snowflake/Dockerfile": It may not exist, or permission may be denied.

Files

Here are the files that are placed under the rootfs filesystem path.

run

Unable to display file "https://svn.grimore.org/docker/build/tor-snowflake/rootfs/usr/local/bin/run": It may not exist, or permission may be denied.

tor-check-circuit

Unable to display file "https://svn.grimore.org/docker/build/tor-snowflake/rootfs/usr/local/bin/tor-check-circuit": It may not exist, or permission may be denied.

tor-check-circuit

Unable to display file "https://svn.grimore.org/docker/build/tor-snowflake/rootfs/usr/local/share/tor-snowflake/torrc": It may not exist, or permission may be denied.