Running Tor Project Snowflake Proxy in Kubernetes: To fight censorship
Scaling Tor Snowflake Proxy on Kubernetes
cloudwithdan
privacytor projectkuberneteshelm chartdevops
229 Words … ⏲ Reading Time:1 Minute, 2 Seconds
2026-01-30 12:00 +0000
A complete guide to deploying, monitoring, and contributing to internet freedom with a Helm chart
The Problem: Internet Censorship is Growing
Every day, millions of people around the world face internet censorship. Governments block access to news, social media, and communication tools. Journalists, activists, and ordinary citizens are cut off from the free flow of information.
The Tor network has long been a lifeline for these users, but censors have learned to block direct Tor connections. This is where Snowflake comes in.
What is Snowflake?
Snowflake is a pluggable transport for Tor that helps users in censored regions bypass internet restrictions. It works by using WebRTC, the same technology that powers video calls in your browser, to create ephemeral bridges that are difficult to block.
Quick Start
Installation
# Add the Helm repository
helm repo add tor-snowflake-proxy https://cloudwithdan.github.io/tor-snowflake-proxy-helm-chart
helm repo update
# Install with default settings
helm install snowflake tor-snowflake-proxy/tor-snowflake-proxy
# Or customize
helm install snowflake tor-snowflake-proxy/tor-snowflake-proxy \
--set replicaCount=1 \
--set autoscaling.enabled=true
Verify It’s Working
kubectl logs -l app.kubernetes.io/name=tor-snowflake-proxy --tail=50
You should see:
Using geoip file /usr/share/tor/geoip with checksum e6799d907824ac58cc...
Proxy starting
NAT type: restricted
And periodically:
In the last 1h0m0s, there were 73 completed successful connections.
Traffic Relayed ↓ 477195 KB, ↑ 93666 KB.
That’s it — you’re now helping users bypass censorship!
Monitoring
- Grafana dashboard with CPU, memory, and network metrics
Stay tuned for more posts!