Commit graph

761 commits

Author SHA1 Message Date
David Fifield
b86bbd748d Add --acme-email option. 2017-01-20 19:17:08 -08:00
David Fifield
61310600c3 Automatically fetch certificates from Let's Encrypt.
This removes the --tls-cert and --tls-keys options and replaces them
with --acme-hostname and (optional) --acme-email. It uses
https://godoc.org/golang.org/x/crypto/acme/autocert, which is kind of a
successor to https://godoc.org/rsc.io/letsencrypt.

The autocert package only works when the listener runs on port 443. For
that reason, if TOR_PT_SERVER_BINDADDR asks for a port other than 443,
the program will open an *additional* listening port on 443. If there is
an error opening the listener, it is reported through an SMETHOD-ERROR
for the requested address.

The inspiration for this code came from George Tankersley's patch for
meek-server:
https://bugs.torproject.org/18655#comment:8
https://github.com/gtank/meek/tree/letsencrypt
2017-01-20 19:17:08 -08:00
David Fifield
af70d49e96 Add a log messages when failing to open a listener. 2017-01-20 17:56:52 -08:00
David Fifield
42cdd53077 continue, not break, after SmethodError.
This was a bug added in 8378f85952 when
this code was moved out of a switch.
2017-01-20 15:22:11 -08:00
David Fifield
8378f85952 Remove a level of indentation in server. 2017-01-20 10:19:25 -08:00
David Fifield
d8411816c4 Include "tls=no" or "tls=yes" in the bridge descriptor.
Might make this controlled by ServerTransportOptions instead of the
--disable-tls command line option.
2017-01-20 10:13:39 -08:00
David Fifield
aa204af6b1 Make log messages more uniform. 2017-01-20 09:43:33 -08:00
David Fifield
21e27d3b3c Use log.Fatalf instead of log.Printf + os.Exit in server. 2017-01-20 09:39:53 -08:00
David Fifield
11f3bbe3c2 go fmt in server. 2017-01-19 16:42:29 -08:00
David Fifield
15963688c2 Remove support for the base64 WebSocket subprotocol.
This was only needed for very very old Firefox before WebSockets were
properly standardized.
2017-01-18 20:00:59 -08:00
David Fifield
3e78251715 Remove the --port option from WebSocket server.
Recommend ServerTransportListenAddr in torrc instead.
2017-01-18 19:33:07 -08:00
David Fifield
2a9126a158 Simplify signal handling in WebSocket server.
pt-spec no longer talks about SIGINT.
2017-01-18 19:24:02 -08:00
David Fifield
57f72ab4ff Remove unused logFile variable. 2017-01-18 19:20:30 -08:00
Arlo Breault
3516599bae Fix lint complaints 2017-01-18 17:23:18 -08:00
Arlo Breault
61a2702ded Pass on exit code from spawned task so CI fails 2017-01-18 17:20:13 -08:00
Arlo Breault
815f976355 go get websocket in CI 2017-01-18 17:06:01 -08:00
Arlo Breault
2fd691c490 Remove Makefile 2017-01-18 16:58:16 -08:00
Serene H
58d2854bbd implement snowflake-allow cookie check, messaging for when cookies disabled in options page. close #21 2017-01-02 14:43:45 -08:00
Serene H
c6b02fdaca implement options page opt-in button, messaging and styling.
clicking the badge links to options page, and tested no-js mode #21
2017-01-02 14:23:21 -08:00
Serene H
f2bbf80c7d begin options page for proxy #21 2017-01-02 13:41:28 -08:00
Arlo Breault
e295556254 Standalone snowflake
* Start of #30
2016-12-20 10:36:42 -08:00
Arlo Breault
c8c5d56b73 Remove deprecated callbacks 2016-12-20 10:35:08 -08:00
Arlo Breault
1d193a38a3 Use logger instead 2016-12-20 08:21:41 -08:00
Arlo Breault
77c41207ef Drop unmaintained coffee-snowflake.html 2016-12-20 08:21:35 -08:00
Arlo Breault
5cd2a226aa Enable tls websockets on the server
* Code lifted from meek-server
2016-12-19 16:07:02 -08:00
Serene H
7e9066a29d fix broker offer answer test 2016-09-20 08:52:45 -07:00
Serene H
47e1338290 initial client roundtrip estimate on broker 2016-09-20 06:28:11 -07:00
Arlo Breault
6cecd31fd8 Log to TOR_PT_STATE_LOCATION 2016-08-21 18:32:02 -07:00
Serene H
ac9d49b872 ensure closing stale remotes from the client side 2016-08-01 12:17:28 -07:00
Serene H
ea2e052a7d defer snowflake.Reset to fix handler recovery when localhost SOCKS occassionally fails first 2016-07-29 10:59:51 -07:00
Serene H
0ae71952d2 additional proxy timeout check 2016-07-25 15:28:10 -07:00
Serene Han
c1f623948b update README 2016-06-18 15:51:14 -07:00
Serene Han
e93c38f834 client multiplexes AND recovers correctly! (close #31)
- stabilize rest of WebRTCPeer
 - use uid for the datachannel label
 - store a consistent WebRTC config in the dialer
2016-06-15 21:57:56 -07:00
Serene Han
2bf0e5457e pull copyLoop out of goroutine, better pop and reset 2016-06-14 17:07:21 -07:00
Serene Han
a71c98c0ae able to break out of ConnectLoop, try separate webrtcConfigs as well 2016-06-13 15:12:47 -07:00
Serene Han
4ca0a3aa0a improve client interface specificity and composability which eliminates much unnecessary code 2016-06-13 11:10:49 -07:00
Serene Han
02562ba750 copy-paste rendezvous works again, but with new interface allowing seamless recovery for the first time 2016-06-12 12:43:24 -07:00
Serene Han
fedb124313 localize ptInfo and iceServers vars, separate copy-paste helpers, move some logging
to more sensible locations
2016-06-12 11:51:59 -07:00
Serene Han
b6f15a8d5c expose multiplex capacity as flag, un-global some more 2016-06-12 00:20:54 -07:00
Serene Han
2caa47988d fix Peers.Count() using activePeers list, mark for delete on Close, and remove
maxedChan
2016-06-11 23:59:26 -07:00
Serene Han
c63f5cfc0a Separate peers.go file with improved documentation and more solid interfaces 2016-06-11 19:58:08 -07:00
Serene Han
556596cc5a interfaces.go, SnowflakeCollector, better composition 2016-05-24 15:18:54 -07:00
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
361da32ecb lint proxypair 2016-05-18 13:21:01 -07:00
David Fifield
0690b0620d Make koch.jpg square and tile better.
It was wider than tall and there was a column of black pixels at the far
right.
2016-05-16 16:43:33 -07:00
Arlo Breault
bdbabe5e0c Return after bad request 2016-05-11 07:27:42 -07:00
Arlo Breault
81931fa8e7 Clear ws connection timeout on success/failure
* Follow up to 14fc6a13
2016-05-10 18:46:49 -07:00
Arlo Breault
064875cc29 Fix some logging 2016-05-10 17:04:03 -07:00