Commit graph

210 commits

Author SHA1 Message Date
Serene Han
b2c9fcac5e webRTCConn has better seam with BytesLogger interface 2016-05-24 12:56:09 -07:00
Serene Han
6b8568cc6c client interfaces compose better, remove some globals, test ConnectLoop 2016-05-19 19:44:54 -07:00
Serene Han
00196bbd74 more complete and improved client rendezvous tests 2016-05-18 13:21:01 -07:00
Serene Han
03b1a0d1f1 remove dead code 2016-04-05 10:29:17 -07:00
Serene Han
1d1882b59d webRTCConn close as part of its reset, instead of depending on external deferred close after receiving reset channel, allows valid disconnections even before use 2016-04-05 10:29:17 -07:00
Serene Han
bc1a499bc8 use only one BrokerChannel 2016-04-05 10:29:17 -07:00
Serene Han
f024f6b832 create and removing from webrtcRemotes test 2016-03-27 09:08:54 -07:00
Serene Han
b2d7586cb4 use webrtcRemotes len for capacity instead of the chan 2016-03-27 09:08:54 -07:00
Serene Han
22ace32a71 replace webrtcRemote with webrtcRemotes map & indexing, client multiplexing remotes confirmed working (#31) 2016-03-27 09:08:54 -07:00
Serene Han
a8ea5e586e client multiplexing using a webRTCConn channel (#31) 2016-03-27 09:08:54 -07:00
Serene Han
2515ddb1fa begin client sub-readme 2016-03-27 09:08:54 -07:00
Serene Han
451edb6dec begin multiplex snowflake connect loop for #31 2016-03-27 09:08:54 -07:00
Arlo Breault
ed60c74686 Redundant close 2016-03-20 08:48:49 -07:00
Serene Han
b8815627bd defer conn.Close for simplicity and remove unnecessary goroutines, improve error handling (close #12) 2016-03-19 22:36:17 -07:00
Arlo Breault
598e2a3bfb Close SocksConn when WebRTC connection is reset
* This will induce the tor client to establish a new SocksConn,
   which in turn will dial a new WebRTC connection.

   To be improved upon.

 * Part of #12
2016-03-18 21:29:31 -07:00
Serene Han
ba7b59f80e clarify webRTCConn errorChannel and error handling 2016-03-10 17:14:45 -08:00
Serene Han
f91b8faa0a more informative broker error messages (close #26) 2016-03-09 14:37:45 -08:00
Serene Han
960a136c64 retry client offers immediately instead of reset, combine sendOffer and receiveAnswer into exchangeSDP 2016-03-08 20:33:39 -08:00
Serene Han
d61534b3a0 keep readme up to date 2016-03-08 18:23:41 -08:00
Serene Han
91673a4abe fix datachannel remote vs. local closing during client's peerconnection cleanup 2016-03-06 11:40:05 -08:00
Serene Han
9daa6c4b71 multiple arbitrary ice servers can be passed as client flag (close #24) 2016-03-05 17:01:33 -08:00
Serene Han
4e6bba559a provide IceServerList flag as variadic arg to webrtc Configuration (#24) 2016-03-04 13:21:56 -08:00
Serene Han
3ec771df01 prepare IceServerList client flag (#24) 2016-03-03 22:51:10 -08:00
Serene Han
8a8273e972 use const LogTimeInterval 2016-02-28 13:16:12 -08:00
Serene Han
5aae41c901 rendezvous / BrokerChannel tests for client 2016-02-27 14:45:53 -08:00
Serene Han
5edac195f6 move endWebRTC() mostly into webRTCConn.Close() 2016-02-26 14:35:20 -08:00
Serene Han
f3e0abe0e1 only flush datachannel with nonzero bytes, which prevents Tor from marking the SOCKS for close (#12) 2016-02-25 01:24:06 -08:00
Serene Han
d4efe774d1 remove webRTCConn SendLoop and simplify Write without additional channel, as net.Conn is already safe 2016-02-23 17:34:51 -08:00
Serene Han
3a7e0ea620 simplify client handler & dialWebRTC with independent webRTCConn constructor 2016-02-23 17:01:44 -08:00
Serene Han
f86f5b5b07 move webRTCConn into separate file 2016-02-21 22:03:19 -08:00
Serene Han
ef5cb162c0 fix SendData channel syncing 2016-02-21 22:00:51 -08:00
Serene Han
26f5caf404 add ReceiveAnswer test to client 2016-02-20 16:11:45 -08:00
Serene Han
c3ada1b545 Use a channel to safely synchronize datachannel writes, (#12)
clean up ice candidate log message.
still need to debug the copy loop break.
2016-02-19 16:25:08 -08:00
Serene Han
c4215b5614 log traffic bytes only once every few seconds, along with OnMessage & datachannel.Send counts, to prevent flooded logs 2016-02-18 14:15:22 -08:00
Serene Han
a1b7e01c54 Include answer channel as part of the webRTCConn struct (#12) 2016-02-17 20:41:33 -08:00
Serene Han
8a2e7a6041 Use reconnect timeout on client (#12) 2016-02-17 19:53:11 -08:00
Serene Han
f205a0be59 Snowflake client now using a reconnect loop (#12) 2016-02-17 19:19:16 -08:00
Serene Han
eb7eb04ac0 Buffer writes to DataChannel, remove blocking on openChannel (#12) 2016-02-17 18:38:52 -08:00
Serene Han
760dee8a0f prepare snowflake client for buffered datachannel writes, separate out dialWebRTC (#12) 2016-02-17 17:42:00 -08:00
Arlo Breault
9fd471b4c4 Update to go-webrtc HEAD 2016-02-15 12:37:52 -08:00
Serene Han
b04d1f67fb Add context to HTTP handlers, attempt to support localhost Broker.
Seems unlikely to work due to dev_appserver single inflight request limitation
2016-02-12 18:00:36 -08:00
Serene Han
678cf454cd s/MeekChannel/BrokerChannel (close #14) and more informative TODOs 2016-01-31 21:51:21 -08:00
Arlo Breault
133f657928 Test on Travis
* Closes #10
2016-01-21 15:42:16 -08:00
Serene Han
c0b6383f26 Automatic 100% bootstrap using meek-signaling broker works.
Minimum viable webrtc pt now exists.
(close #1)
2016-01-21 14:00:39 -08:00
Serene Han
0cd6852ad0 broker tracking a heap of snowflakes 2016-01-21 10:44:14 -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
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
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
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