snowflake/client
David Fifield 6077141f4a Log to io.Discard if no log file is set.
https://bugs.torproject.org/25600#comment:14

Snowflake in Tor Browser has been hanging after surfing for a while.
(Tor reports "no running bridges".) It only began happening after commit
12922a232b, which caused snowflake-client not to log to a file by
default (leaving it to log to its default stderr). What seems to be
happening is that tor doesn't read from its PT clients' stderr, leaving
a buffer to fill up that eventually causes a hang.
2018-06-10 16:41:32 -07:00
..
client_test.go defer snowflake.Reset to fix handler recovery when localhost SOCKS occassionally fails first 2016-07-29 10:59:51 -07:00
interfaces.go pull copyLoop out of goroutine, better pop and reset 2016-06-14 17:07:21 -07:00
peers.go client multiplexes AND recovers correctly! (close #31) 2016-06-15 21:57:56 -07:00
README.md Switch to an Azure domain front. 2018-04-30 09:52:38 -07:00
rendezvous.go Use ResolveReference to construct the /client URL. 2018-03-13 15:37:50 -04:00
snowflake.go Log to io.Discard if no log file is set. 2018-06-10 16:41:32 -07:00
torrc Switch to an Azure domain front. 2018-04-30 09:52:38 -07:00
torrc-localhost Add context to HTTP handlers, attempt to support localhost Broker. 2016-02-12 18:00:36 -08:00
torrc-manual torrc-manuel deserves a -log 2017-10-18 11:21:57 -04:00
util.go Add missing import removed in 0c02af3 2017-10-12 17:26:32 -04:00
webrtc.go Add synchronization around destroying DataChannels and PeerConnections 2018-03-20 15:08:36 -04:00

This is the Tor client component of Snowflake.

It is based on goptlib.

Flags

The client uses these following torrc options by default:

ClientTransportPlugin snowflake exec ./client \
-url https://snowflake-broker.azureedge.net/ \
-front ajax.aspnetcdn.com \
-ice stun:stun.l.google.com:19302

-url should be the URL of a Broker instance. This is required to have automated signalling (which is desired in most use cases). When omitted, the client uses copy-paste signalling instead.

-front is an optional front domain for the Broker request.

-ice is a comma-separated list of ICE servers. These can be STUN or TURN servers.