Icon of Tor Snowflake Proxy app on Umbrel App Store

Tor Snowflake Proxy

Help defeat internet censorship

The Tor Project, Inc.

Open App Store on your umbrelOS device to install this app
Screenshot 1 of Tor Snowflake Proxy app on Umbrel App Store
Screenshot 2 of Tor Snowflake Proxy app on Umbrel App Store
Screenshot 3 of Tor Snowflake Proxy app on Umbrel App Store
About this app

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.

If 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.

What's new
Version v2.11.0last week

Various bugfixes and enhancements:

  • Fix data race warnings for tokens_t
  • Fix race condition in proxy connection count stats
  • Make NATPolicy thread-safe
  • Fix race conditions with error scope
  • Fix race condition with proxy isClosing variable
  • Issue 40454: Update broker metrics to count matches, denials, and timeouts
  • Add proxy event and metrics for failed connections
  • Issue 40377: Create CI artifact if shadow fails
  • Issue 40438: Copy base client config for each SOCKS connection
  • Fix minor data race in Snowflake broker metrics
  • Issue 40363: Process and read broker SQS messages more quickly
  • Issue 40419: delay before calling dc.Close() to improve NAT test on proxy
  • Add country stats to proxy prometheus metrics
  • Issue 40381: Avoid snowflake client dependency in proxy
  • Issue 40446: Lower broker ClientTimeout to 5 seconds in line with CDN77 defaults
  • Refactor out utls library into ptutil/utls
  • Issue 40414: Use /etc/localtime for CI
  • Issue 40440: Add LE self-signed ISRG Root X1 to cert pool
  • Proxy refactor to simplify tokens.ret() on error
  • Clarify ephemeral-ports-range proxy option
  • Issue 40417: Fixes and updates to CI containers
  • Issue 40178: Handle unknown client type better
  • Issue 40304: Update STUN server list
  • Issue 40210: Remove proxy log when offer is nil
  • Issue 40413: Log EventOnCurrentNATTypeDetermined for proxy
  • Use named return for some functions to improve readability
  • Issue 40271: Use pion SetIPFilter rather than our own StripLocalAddress
  • Issue 40413: Suppress logs of proxy events by default
  • Add IsLinkLocalUnicast in IsLocal
  • Fix comments
  • Bump versions of dependencies

Release information: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/releases

Compare to v2.7.0: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/compare/v2.7.0...v2.11.0

Version v2.7.02 years ago

Various bugfixes and enhancements:

  • fix(proxy): Correctly close connection pipe when dealing with error
  • Remove proxy churn measurements from broker.
  • fix(proxy): remove potential deadlock
  • Maintain backward compatability with old clients
  • Randomly select front domain from comma-separated list
  • Update dependencies
  • chore(deps): update module github.com/xtaci/kcp-go/v5 to v5.6.3
  • Remove Golang 1.20 from CI Testing
  • Update CI targets to test android from golang 1.21
  • Use ShouldBeNil to check for nil values
  • chore(deps): update module github.com/smartystreets/goconvey to v1.8.1
  • chore(deps): update module gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/goptlib to v1.5.0
  • chore(deps): update module github.com/pion/webrtc/v3 to v3.2.20
  • Update CI targets to include only Go 1.20 and 1.21
  • chore(deps): update module golang.org/x/net to v0.15.0
  • Update module golang.org/x/sys to v0.12.0

Release information: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/releases

Compare to v2.1.0: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/compare/v2.4.1...v2.7.0

Version 2.4.13 years ago

Various bugfixes and enhancements:

  • Issue 40224: Bug fix in utls roundtripper
  • Fix proxy command line help output
  • Issue 40123: Reduce multicast DNS candidates
  • Add ICE ephemeral ports range setting
  • Reformat using Go 1.19
  • Update CI tests to include latest and minimum Go versions
  • Issue 40184: Use fixed unit for bandwidth logging
  • Update gorilla/websocket to v1.5.0
  • Issue 40175: Server performance improvements
  • Issue 40183: Change snowflake proxy log verbosity
  • Issue 40117: Display proxy NAT type in logs

Full changelog: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/blob/7c154e5fd06693ddc4feb5962cab4a13aeebd405/ChangeLog

Compare to v2.1.0: https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/compare/v2.1.0...v2.4.1

Version 2.1.03 years ago
Information