Pluggable Transport using WebRTC, inspired by Flashproxy.
Find a file
2016-01-14 15:22:15 -08:00
client shutdown webrtc on interrupt in go client 2016-01-14 15:22:15 -08:00
proxy README instructions for using browser snowflake 2016-01-13 11:51:53 -08:00
server Log write on the server side. 2016-01-09 19:24:57 -08:00
.gitignore parse address spec, create websocket. a bit more to iron out (issue #5) 2016-01-11 18:19:09 -08:00
LICENSE add LICENSE (closes #4) 2016-01-02 11:20:32 -08:00
README.md README instructions for using browser snowflake 2016-01-13 11:51:53 -08:00

snowflake-pt

A Pluggable Transport using WebRTC

Status

  • Successfully bootstraps over WebRTC, both directly to a server plugin, as well as through the browser which proxies WebRTC to websocket.
  • Needs work on signaling with the facilitator.

Usage

There are currently two ways to try this:

  • Directly to the go-webrtc server plugin.
  • Through a browser snowflake proxy.

Setting up the client is the same in both cases. Open up three terminals for the client:

cd client/
go build

A: tor -f torrc SOCKSPort auto

B: cat > signal

C: tail -F snowflake.log

Now, to connect directly to a server plugin:

Open up another three terminals for the server:

cd server/
go build

D: tor -f torrc

E: cat > signal

F: tail -F snowflake.log

Look for the offer in terminal C; copy and paste it into terminal E. Copy and paste the answer in terminal F to terminal B. At this point the tor client should bootstrap to 100%.

Snowflake proxy

Otherwise, to connect through the WebRTC proxy in the browser, start a local http server in the proxy/ directory however you wish. For instance:

cd proxy/
python -m http.server

Open a browser tab to 0.0.0.0:8000/snowflake.html. The page will ask you to input a relay. Input your desired relay address, or input nothing/gibberish which will cause snowflake to use a default relay.

Look for the offer in terminal C; copy and paste it into the browser. Copy and paste the answer generated in the browser back to terminal B. At this point the tor client should bootstrap to 100%.

More

More documentation on the way.