[anti-censorship-team] Third draft of Turbo Tunnel Snowflake packages

David Fifield david at bamsoftware.com
Thu Mar 19 23:36:42 UTC 2020


This revision of Turbo Tunnel–enabled Snowflake fixes a hang that would
occur if tor opened more than one SOCKS connection through the pluggable
transport client at a time: https://bugs.torproject.org/33519. What
would happen is the first SOCKS connection would get the only available
proxy, and the second would get none. Now, multiple SOCKS connections
may share the same proxy.

https://people.torproject.org/~dcf/pt-bundle/tor-browser-snowflake-turbotunnel-kcp-9.5a8-20200319/
https://people.torproject.org/~dcf/pt-bundle/tor-browser-snowflake-turbotunnel-quic-9.5a8-20200319/

To enable Snowflake the first time you run it:
 * Click "Configure"
 * Click "Tor is censored in my country"
 * Click "Select a built-in bridge"
 * Select "snowflake" from the menu
How to enable Snowflake when the browser is already running:
 * Go to about:preferences#tor (open the Preferences menu then click Tor
   on the left side)
 * Look at the "Bridges" section
 * Click "Use a bridge"
 * Click "Select a built-in bridge"
 * Select "snowflake" from the menu

The browser is set not to automatically install updates, because an
update would remove the Turbo Tunnel features. The browser will still
download updates and ask to install them, so you'll have to click "Not
Now" whenever it asks.

== How to run multiple browsers at once ==

If you want to run both browsers at the same time, or run them at the
some time as your usual Tor Browser, you have to make them use different
ports to avoid conflicts. The default ports are 9150 and 9151. What I
did is rename the "tor-browser_en-US" directory so I could have two of
them:
	tar xf tor-browser-snowflake-turbotunnel-kcp-9.5a8-20200223/tor-browser-linux64-9.5a8_en-US.tar.xz
	mv tor-browser_en-US tor-browser_en-US_kcp
	tar xf tor-browser-snowflake-turbotunnel-quic-9.5a8-20200223/tor-browser-linux64-9.5a8_en-US.tar.xz
	mv tor-browser_en-US tor-browser_en-US_quic
Then you can run each one with different ports:
	cd tor-browser_en-US_kcp
	TOR_SOCKS_PORT=9250 TOR_CONTROL_PORT=9251 ./start-tor-browser.desktop
	cd ../tor-browser_en-US_quic
	TOR_SOCKS_PORT=9350 TOR_CONTROL_PORT=9351 ./start-tor-browser.desktop
You may also want to go to the Customize... menu and choose different
themes (light/dark) to visually distinguish them.

== How to interpret log messages ==

The Snowflake log is in 
Browser/TorBrowser/Data/Tor/pt_state/snowflake-client.log.

BrokerChannel Response: 504 Gateway Timeout
	This means the broker couldn't find a proxy for you. It's a
	temporary error and the client will try again in 10 seconds.
BrokerChannel Response: 200 OK
	This means that you got matched up with a proxy, but it doesn't
	necessarily mean the proxy works yet.
Traffic Bytes (in|out): 0 | 972 -- (0 OnMessages, 8 Sends)
	If the number on the left stays at 0, it means the proxy isn't
	working (you're sending but not receiving anything). If 30
	second pass without receiving anything, the client will abandon
	that proxy and contact the broker to get another one.
Traffic Bytes (in|out): 52457 | 7270 -- (47 OnMessages, 75 Sends)
	When you start getting numbers like this, your proxy is working.
WebRTC: No messages received for 30s -- closing stale connection
	This means the proxy stopped working (or never worked) and the
	client will try another one.
WebRTC: At capacity [1/1] Retrying in 10s...
	This is normal and means that the client has its desired number
	of proxies (1).


More information about the anti-censorship-team mailing list