diff --git a/apps/registry.json b/apps/registry.json index 3905f87..f7b5a7d 100644 --- a/apps/registry.json +++ b/apps/registry.json @@ -943,5 +943,27 @@ "path": "", "deterministicPassword": false, "torOnly": false + }, + { + "id": "snowflake", + "category": "Networking", + "name": "Tor Snowflake Proxy", + "version": "v2.1.0", + "tagline": "Help defeat internet censorship", + "description": "Snowflake is a system to defeat internet censorship. People who are censored can use Snowflake to access the internet. Their connection goes through Snowflake proxies, which are run by volunteers.\n\nIf your internet access is not censored, you should consider running a Snowflake proxy to help users in censored networks. There is no need to worry about which websites people are accessing through your proxy. Their visible browsing IP address will match their Tor exit node, not yours.", + "developer": "The Tor Project, Inc.", + "website": "https://snowflake.torproject.org/", + "dependencies": [], + "repo": "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/tree/main", + "support": "https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues", + "port": 3800, + "gallery": [ + "1.jpg", + "2.jpg", + "3.jpg" + ], + "path": "", + "deterministicPassword": false, + "torOnly": false } ] diff --git a/apps/snowflake/data/.gitkeep b/apps/snowflake/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/snowflake/docker-compose.yml b/apps/snowflake/docker-compose.yml new file mode 100644 index 0000000..3ecae43 --- /dev/null +++ b/apps/snowflake/docker-compose.yml @@ -0,0 +1,26 @@ +version: "3.7" + +services: + proxy: + image: getumbrel/snowflake:v2.1.0@sha256:875a513540a132752a4b09f5d6de4ed41399c5331265d6576dcfb5952bb22053 + restart: on-failure + stop_grace_period: 1m + command: "-log /data/snowflake.log -verbose" + volumes: + - ${APP_DATA_DIR}/data:/data + networks: + default: + ipv4_address: $APP_SNOWFLAKE_PROXY_IP + + web: + image: getumbrel/gotty:v1.0.1@sha256:100571d271cfbae25603acac216afce511eece9961218c6db427e0fa4a58716a + restart: on-failure + stop_grace_period: 1m + ports: + - $APP_SNOWFLAKE_PORT:$APP_SNOWFLAKE_PORT + command: --port $APP_SNOWFLAKE_PORT bash -c 'tail -n 10000 -f /snowflake/snowflake.log | grep "Traffic Relayed"' + volumes: + - ${APP_DATA_DIR}/data:/snowflake + networks: + default: + ipv4_address: $APP_SNOWFLAKE_IP \ No newline at end of file diff --git a/scripts/configure b/scripts/configure index b59ecd4..61b4380 100755 --- a/scripts/configure +++ b/scripts/configure @@ -247,6 +247,9 @@ APP_TAILSCALE_PORT="2100" APP_URBIT_BITCOIN_CONNECTOR_IP="10.21.21.81" APP_URBIT_BITCOIN_CONNECTOR_PORT="9090" APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT="55555" +APP_SNOWFLAKE_IP="10.21.21.82" +APP_SNOWFLAKE_PORT="3800" +APP_SNOWFLAKE_PROXY_IP="10.21.21.83" # Generate RPC credentials if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then @@ -494,6 +497,9 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" " sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_IP}/g" "${template}" sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_PORT}/g" "${template}" sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}/g" "${template}" + sed -i "s//${APP_SNOWFLAKE_IP}/g" "${template}" + sed -i "s//${APP_SNOWFLAKE_PORT}/g" "${template}" + sed -i "s//${APP_SNOWFLAKE_PROXY_IP}/g" "${template}" done ########################################################## diff --git a/templates/.env-sample b/templates/.env-sample index 40e97fa..e6881dc 100644 --- a/templates/.env-sample +++ b/templates/.env-sample @@ -144,4 +144,7 @@ APP_TAILSCALE_IP= APP_TAILSCALE_PORT= APP_URBIT_BITCOIN_CONNECTOR_IP= APP_URBIT_BITCOIN_CONNECTOR_PORT= -APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT= \ No newline at end of file +APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT= +APP_SNOWFLAKE_IP= +APP_SNOWFLAKE_PORT= +APP_SNOWFLAKE_PROXY_IP= \ No newline at end of file diff --git a/templates/torrc-server-sample b/templates/torrc-server-sample index 5fb60cf..3cb4cbc 100644 --- a/templates/torrc-server-sample +++ b/templates/torrc-server-sample @@ -213,3 +213,7 @@ HiddenServicePort 80 : # urbit-bitcoin-connector Hidden Service HiddenServiceDir /data/app-urbit-bitcoin-connector HiddenServicePort 80 : + +# snowflake Hidden Service +HiddenServiceDir /data/app-snowflake +HiddenServicePort 80 :