aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorSerene Han <keroserene+git@gmail.com>2016-06-18 15:51:14 -0700
committerSerene Han <keroserene+git@gmail.com>2016-06-18 15:51:14 -0700
commitc1f623948b13271df79b0373bbc2b54d928bf7f6 (patch)
tree3b318bc5d0134f42231acd5d31f68ac5af0afe68 /README.md
parente93c38f83473476c8dddf9e107ce4df5bfea7882 (diff)
downloadsnowflake-c1f623948b13271df79b0373bbc2b54d928bf7f6.tar.gz
snowflake-c1f623948b13271df79b0373bbc2b54d928bf7f6.zip
update README
Diffstat (limited to 'README.md')
-rw-r--r--README.md53
1 files changed, 31 insertions, 22 deletions
diff --git a/README.md b/README.md
index db896e6..79d3e9e 100644
--- a/README.md
+++ b/README.md
@@ -2,29 +2,32 @@
[![Build Status](https://travis-ci.org/keroserene/snowflake.svg?branch=master)](https://travis-ci.org/keroserene/snowflake)
-A Pluggable Transport using WebRTC, inspired by Flashproxy
+Pluggable Transport using WebRTC, inspired by Flashproxy.
+
+### Status
+
+- [x] Transport: Successfully connects using WebRTC.
+- [x] Rendezvous: HTTP signaling (with optional domain fronting) to the Broker
+ arranges peer-to-peer connections with multitude of volunteer "snowflakes".
+- [x] Client multiplexes remote snowflakes.
+- [x] Can browse using Tor over Snowflake.
+- [ ] Reproducible build with TBB.
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Table of Contents**
-- [Status](#status)
- [Usage](#usage)
- [Dependencies](#dependencies)
- [More Info](#more-info)
- - [Building a Snowflake](#building-a-snowflake)
+ - [Building](#building)
+- [FAQ](#faq)
- [Appendix](#appendix)
+ - [-- Testing Copy-Paste Via Browser Proxy --](#---testing-copy-paste-via-browser-proxy---)
- [-- Testing directly via WebRTC Server --](#---testing-directly-via-webrtc-server---)
- - [-- Via Browser Proxy --](#---via-browser-proxy---)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
-### Status
-
-Successfully & automatically bootstraps with a WebRTC transport, using HTTP
-signaling (with optional domain fronting) speaking to a multitude of volunteer
-"snowflakes". Still lots of work to do.
-
### Usage
```
@@ -38,7 +41,7 @@ This should start the client plugin, bootstrapping to 100% using WebRTC.
#### Dependencies
Client:
-- [go-webrtc](https://github.com/keroserene/go-webrtc).
+- [go-webrtc](https://github.com/keroserene/go-webrtc)
- Go 1.5+
Proxy:
@@ -48,19 +51,22 @@ Proxy:
#### More Info
-The client uses the following `torrc` options:
+Tor can plug in the Snowflake client via a correctly configured `torrc`.
+For example:
+
```
ClientTransportPlugin snowflake exec ./client \
-url https://snowflake-reg.appspot.com/ \
-front www.google.com \
-ice stun:stun.l.google.com:19302
+-max 3
```
-Which allows it to speak to the Broker,
-get matched with a "snowflake" browser proxy,
-and negotiate a WebRTC PeerConnection.
+The flags `-url` and `-front` allow the Snowflake client to speak to the Broker,
+in order to get connected with some volunteer's browser proxy. `-ice` is a
+comma-separated list of ICE servers, which are required for NAT traversal.
-To see logs, do `tail -F snowflake.log` in a second terminal.
+For logging, run `tail -F snowflake.log` in a second terminal.
You can modify the `torrc` to use your own broker,
or remove the options entirely which will default to the old copy paste
@@ -71,11 +77,13 @@ ClientTransportPlugin snowflake exec ./client --meek
```
-#### Building a Snowflake
+#### Building
+
+This describes how to build the in-browser snowflake. For the client, see Usage,
+above.
-This will only work if there are any browser snowflakes running at all.
-To run your own, first make sure coffeescript is installed.
-Then, build with:
+The client will only work if there are browser snowflakes available.
+To run your own:
```
cd proxy/
@@ -91,8 +99,9 @@ cd build/
python -m http.server
```
-Then, open a browser tab to `http://127.0.0.1:8000/snowflake.html`,
-which causes you to act as an ephemeral Tor bridge.
+Then, open a browser tab to `http://127.0.0.1:8000/snowflake.html` to view
+the debug-console of the snowflake.,
+So long as that tab is open, you are an ephemeral Tor bridge.
### FAQ