Pluggable Transport using WebRTC, inspired by Flashproxy.
Find a file
2016-01-14 15:38:46 -08:00
client shutdown webrtc on interrupt in go client 2016-01-14 15:22:15 -08:00
proxy snowflake terminal turns green when connected 2016-01-14 15:38:46 -08:00
server Log write on the server side. 2016-01-09 19:24:57 -08:00
.gitignore snowflake terminal turns green when connected 2016-01-14 15:38:46 -08:00
LICENSE add LICENSE (closes #4) 2016-01-02 11:20:32 -08:00
README.md snowflake terminal turns green when connected 2016-01-14 15:38:46 -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. Once WebRTC successfully connects, the browser terminal should turn green. Shortly after, the tor client should bootstrap to 100%.

More

More documentation on the way.