No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with
62 additions and
1 deletions
apps/registry.json
apps/snowflake/data/.gitkeep
apps/snowflake/docker-compose.yml
scripts/configure
templates/.env-sample
templates/torrc-server-sample
@ -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
}
]
@ -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
@ -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>/${APP_URBIT_BITCOIN_CONNECTOR_IP}/g" "${template}"
sed -i "s/<app-urbit-bitcoin-connector-port>/${APP_URBIT_BITCOIN_CONNECTOR_PORT}/g" "${template}"
sed -i "s/<app-urbit-bitcoin-connector-server-port>/${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}/g" "${template}"
sed -i "s/<app-snowflake-ip>/${APP_SNOWFLAKE_IP}/g" "${template}"
sed -i "s/<app-snowflake-port>/${APP_SNOWFLAKE_PORT}/g" "${template}"
sed -i "s/<app-snowflake-proxy-ip>/${APP_SNOWFLAKE_PROXY_IP}/g" "${template}"
done
##########################################################
@ -144,4 +144,7 @@ APP_TAILSCALE_IP=<app-tailscale-ip>
APP_TAILSCALE_PORT=<app-tailscale-port>
APP_URBIT_BITCOIN_CONNECTOR_IP=<app-urbit-bitcoin-connector-ip>
APP_URBIT_BITCOIN_CONNECTOR_PORT=<app-urbit-bitcoin-connector-port>
APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT=<app-urbit-bitcoin-connector-server-port>
APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT=<app-urbit-bitcoin-connector-server-port>
APP_SNOWFLAKE_IP=<app-snowflake-ip>
APP_SNOWFLAKE_PORT=<app-snowflake-port>
APP_SNOWFLAKE_PROXY_IP=<app-snowflake-proxy-ip>
@ -213,3 +213,7 @@ HiddenServicePort 80 <app-tailscale-ip>:<app-tailscale-port>
# urbit-bitcoin-connector Hidden Service
HiddenServiceDir /data/app-urbit-bitcoin-connector
HiddenServicePort 80 <app-urbit-bitcoin-connector-ip>:<app-urbit-bitcoin-connector-port>
# snowflake Hidden Service
HiddenServiceDir /data/app-snowflake
HiddenServicePort 80 <app-snowflake-ip>:<app-snowflake-port>