Commit graph

357 commits

Author SHA1 Message Date
Serene Han
0cd6852ad0 broker tracking a heap of snowflakes 2016-01-21 10:44:14 -08:00
Serene Han
28e557fb43 Initial broker registration of browser proxies
- broker.coffee contains the xhr stuff
- COR enabled on the go broker
- POST body reflection works
2016-01-20 17:23:47 -08:00
Serene Han
f2d8a749f4 Also skip creating named pipe if --meek is enabled, and output a more useful waiting message if pipe is expected 2016-01-20 15:51:22 -08:00
Arlo Breault
5c166f5015 s/facilitator/broker/ 2016-01-19 21:52:03 -08:00
Arlo Breault
0abb3bd856 Skip creating the named pipe on the client if we're using http signaling
* Blocks waiting on the open for write (`cat > signal`), at least for me.
2016-01-19 21:44:23 -08:00
Serene Han
62e6704d1f rename rendezvous to broker 2016-01-19 18:09:06 -08:00
Serene Han
5e9b23de9e consolidate RequestInfo into MeekChannel with a simplified Negotiate method 2016-01-19 18:06:40 -08:00
Serene Han
b4a07c4192 add --meek flag to client to toggle the domain fronted rendezvous 2016-01-19 17:21:10 -08:00
Arlo Breault
dcb901e408 Use chan struct{} instead
* Similar to a77ae6b771.
2016-01-19 13:41:19 -08:00
Serene Han
e4e068640f begin appengine rendezvous component - domain fronting works,
although it just reflects the offer.
next step is to retrieve browser proxy answer (#1)
2016-01-19 13:24:57 -08:00
David Fifield
ff5d23b08c Simpler instructions now for connecting directly to WebRTC server. 2016-01-18 23:07:22 -08:00
David Fifield
5279e32e3e Remove the default -http option from server/torrc.
We'll ask people to insert it manually if they want to test that way.
2016-01-18 23:03:42 -08:00
David Fifield
e0b36d2f33 Do simple HTTP POST signaling in the client.
This is just enough to be compatible with the HTTP signaling in the
server, and doesn't do domain fronting or anything like that. It's just
an interim replacement for the copy-paste FIFO signaling while we
continue to develop the other pieces that'll be dropped in the middle.
2016-01-18 22:53:22 -08:00
David Fifield
c9eeff6fc2 Remove unused notImplemented error. 2016-01-18 22:39:18 -08:00
David Fifield
ff7cc926f7 Add an HTTP signaling receiver in the server.
This is a stand-in for some kind of faciliator that is separate from the
server transport plugin.
2016-01-18 21:30:31 -08:00
David Fifield
ac8669b38f Refactor signal receiving in server.
There's one FIFO reader goroutine instead of one per bindaddr.
makePeerConnectionFromOffer gives you a PeerConnection with an answer
and also sets up callbacks to pass a webRTCConn to datachannelHandler
when ready.
2016-01-18 21:13:08 -08:00
David Fifield
a77ae6b771 Use chan struct{} instead of chan bool in openChan.
http://dave.cheney.net/2014/03/25/the-empty-struct
"...there is one important practical use of empty structs, and that is
the chan struct{} construct used for signaling between go routines"
2016-01-18 03:04:39 -08:00
David Fifield
48db4ac132 Log errors from main. 2016-01-17 23:22:23 -08:00
David Fifield
726ad2bfb9 Make logging in server match client (no payloads). 2016-01-16 09:37:27 -08:00
Serene Han
b4934f3979 begin meek-webrtc signalling channel for client (issue #1) 2016-01-15 11:43:15 -08:00
Serene Han
bc1e147ca2 use coffeelint 2016-01-15 08:47:06 -08:00
Serene Han
7e5e9f9f5f fix Cakefile test task 2016-01-14 16:44:43 -08:00
Serene Han
fb304c673c README update and go fmt 2016-01-14 16:40:28 -08:00
Serene Han
fa9f58c9ab split and organize coffee files, improve Cake build tasks 2016-01-14 16:28:32 -08:00
Serene Han
e433af26f8 snowflake terminal turns green when connected 2016-01-14 15:38:46 -08:00
Serene Han
30e7ba79ae shutdown webrtc on interrupt in go client 2016-01-14 15:22:15 -08:00
Serene Han
17f30d1091 README instructions for using browser snowflake 2016-01-13 11:51:53 -08:00
Serene Han
487dfe697a convert rest of address spec tests, ProxyPair test, and move parse functions into Parse container 2016-01-13 10:50:50 -08:00
Serene Han
75ac969fc7 more functional rate limiting 2016-01-13 10:14:38 -08:00
Serene Han
9c4fc24719 successful bootstrap through browser proxy! (closes #5) 2016-01-12 11:14:28 -08:00
Serene Han
a8477ee402 move datachannel into ProxyPair as client, use hardcoded default Relay as fallback 2016-01-12 10:57:36 -08:00
Serene Han
cfd87d1798 parse address spec, create websocket. a bit more to iron out (issue #5) 2016-01-11 18:19:09 -08:00
Serene Han
d735c0fbf9 snowflake proxy asks user for relay address. also:
- tests for cookiestring and querystring
- fixed Cakefile with a concat so it works fine in both browser and local test
2016-01-11 17:58:13 -08:00
Serene Han
95952830ba begin snowflake coffee tests and Cakefile 2016-01-11 10:30:49 -08:00
Serene H
93a9aabfd1 Merge pull request #7 from keroserene/proxy
snowflake proxy
2016-01-10 13:03:46 -08:00
Serene Han
3de5b30287 ProxyPair with initial websocket stuff, nearly there 2016-01-10 13:01:59 -08:00
Serene Han
026821f23c datachannel successfully established between snowflake proxy and Tor client 2016-01-10 12:10:47 -08:00
Serene Han
7cbbe585e5 implement Snowflake coffee class (issue #5) 2016-01-09 21:10:09 -08:00
Serene Han
c0397bc3e0 Begin coffee snowflake proxy 2016-01-09 19:56:46 -08:00
David Fifield
bf2a825fce Log write on the server side. 2016-01-09 19:24:57 -08:00
David Fifield
c519813cf7 Keep quoted log messages ASCII. 2016-01-09 19:24:05 -08:00
Arlo Breault
17fd424647 Update the readme 2016-01-09 10:48:45 -08:00
Arlo Breault
0711b3e1b9 Bootstrapped 100%: Done 2016-01-09 10:42:02 -08:00
Arlo Breault
10c9685a33 Unblock the data channel 2016-01-09 10:08:22 -08:00
Arlo Breault
860898b733 Log answer 2016-01-08 18:45:01 -08:00
Arlo Breault
5eb77569fe Try to use named pipe on the server to start as well 2016-01-08 15:12:08 -08:00
Arlo Breault
0d2261e7b6 Add a torrc for the server 2016-01-07 12:37:00 -08:00
Arlo Breault
da563bc913 Separate client / server 2016-01-07 09:26:02 -08:00
David Fifield
e8b57fe4f3 Start server-side plugin
* Still working out the WebRTCListener abstraction.
2016-01-05 10:52:29 -08:00
Arlo Breault
8fbc50bec8 Further updates for this repo 2016-01-05 10:12:53 -08:00