- Jan 25, 2016
-
-
Yawning Angel authored
-
Yawning Angel authored
Bug introduced in e52258ed, not in any released version of obfs4proxy.
-
- Jan 17, 2016
-
-
pminmax945 authored
when obfs4 connection create failed,conn variable is set to nil already.
-
- Oct 30, 2015
-
-
Yawning Angel authored
-
Yawning Angel authored
This dramatically improves bulk upload performance, from totally shit to just shit.
-
- Oct 29, 2015
-
-
Yawning Angel authored
This is a meek client only implementation, with the following differences with dcf's `meek-client`: - It is named `meek_lite` to differentiate it from the real thing. - It does not support using an external helper to normalize TLS signatures, so adversaries can look for someone using the Go TLS library to do HTTP. - It does the right thing with TOR_PT_PROXY, even when a helper is not present. Most of the credit goes to dcf, who's code I librerally cribbed and stole. It is intended primarily as a "better than nothina" option for enviornments that do not or can not presently use an external Firefox helper.
-
Yawning Angel authored
ClientFactories now have a Dial() method instead of a WrapConn() method, so that it is possible to write something like meek-client using the obfs4proxy framework. This breaks the external interface if anyone is using obfs4proxy as a library, but the new way of doing things is a trivial modification, to a single routine that shouldn't have been very large to begin with.
-
- Jun 01, 2015
-
-
Yawning Angel authored
-
- May 26, 2015
-
-
David Fifield authored
-
- Apr 23, 2015
-
-
Yawning Angel authored
-
- Apr 15, 2015
-
-
Yawning Angel authored
-
Yawning Angel authored
Differences from my goptlib branch: * Instead of exposing a net.Listener, just expose a Handshake() routine that takes an existing net.Conn. (#14135 is irrelevant to this socks server. * There's an extra routine for sending back sensible errors on Dial failure instead of "General failure". * The code is slightly cleaner (IMO). Gotchas: * If the goptlib pt.Args datatype or external interface changes, args.go will need to be updated. Tested with obfs3 and obfs4, including IPv6.
-
- Apr 13, 2015
-
-
Yawning Angel authored
Unless you have very good reason to do so, there should be no reason to actually call these ever, since the log messages are only generated if they will result in output being written to a log file.
-
- Apr 03, 2015
-
-
Yawning Angel authored
Implements feature #15576.
-
- Mar 28, 2015
-
-
Yawning Angel authored
If the relevant enviornment variable is set, treat read errors from Stdin as a SIGTERM.
-
Yawning Angel authored
This combines the old signal processing code with the parent monitor, into a new termination monitor structure, which also now handles keeping track of outstanding sessions.
-
- Mar 26, 2015
-
-
Yawning Angel authored
-
Yawning Angel authored
The ideal solution here would be to implement #15435, but till then use one of several kludges: * Linux - prctl() so that the kernel SIGTERMs on parent exit. * Other U*ix - Poll the parent process id once a second, and SIGTERM ourself/exit if it changes. Former is better since all the normal cleanup if any gets done. * Windows - Log a warning.
-
- Mar 23, 2015
-
-
Yawning Angel authored
The Go developers decided to move the go.net repository to golang.org/x/net, and also to transition from hg to git. This wasn't changed when the go.crypto imports were since the 'proxy' component doesn't have imports that break, so the old code still works. While the change here is simple (just update the import location), this affects packagers as it now expects the updated package. Sorry for the inconveneince, I blame the Go people, and myself for not just doing this along with the go.crypto changes.
-
- Mar 22, 2015
-
-
Yawning Angel authored
-
- Mar 21, 2015
-
-
Daniel Martí authored
-
- Mar 18, 2015
-
-
Daniel Martí authored
-
- Mar 16, 2015
-
-
Yawning Angel authored
-
Daniel Martí authored
-
Daniel Martí authored
-
- Feb 17, 2015
-
-
Yawning Angel authored
-
Yawning Angel authored
This allows obfs4proxy to be used as a ScrambleSuit client that is wire compatible with the obfs4proxy implementation, including session ticket support, and length obfuscation. The current implementation has the following limitations: * IAT obfuscation is not supported (and is disabled in all other ScrambleSuit implementations by default). * The length distribution and probabilites are different from those generated by obfsproxy and obfsclient due to a different DRBG. * Server support is missing and is unlikely to be implemented.
-
- Jan 14, 2015
-
-
Yawning Angel authored
Forgot to include this in the spec, though it was documented as a comment in the framing code.
-
Yawning Angel authored
The Go developers decided to move the go.crypto repository to golang.org/x/crypto, and also to transition from hg to git. The tip of tree code.google.com copy of the code is broken due to the import paths pointing at the new repository. While the change here is simple (just update the import location), this affects packagers as it now expects the updated package. Sorry for the inconveneince, I blame the Go people.
-
- Oct 24, 2014
-
-
Yawning Angel authored
-
- Oct 03, 2014
-
-
Yawning Angel authored
Exhaustively testing padding combinations is really slow, and was causing timeouts during the Debian ARM package build process. Attempt to improve the situation by: * Reusing the client and server keypair for all of the tests, to cut runtime down by ~50%. * Splitting the client side and server side tests up, as it appears the timeout is per-test case. If this doesn't fix things, the next thing to try would be to reduce the actual number of padding lengths tested, but that is a last resort at the moment.
-
- Oct 01, 2014
-
-
Yawning Angel authored
-
Yawning Angel authored
Instead of "node-id" and "public-key" that are Base16 encoded, use "cert" which contains the "node-id" and "public-key" in Base64 encoded form. This is more compact and cuts the length down by 49 characters.
-
- Sep 26, 2014
-
-
Yawning Angel authored
-
- Sep 24, 2014
-
-
Yawning Angel authored
Write an example client bridge line suitable for use with the running obfs4 server instance to "obfs4_bridgeline.txt" for the convenience of bridge operators.
-
- Sep 06, 2014
-
-
Yawning Angel authored
-
Yawning Angel authored
-
Yawning Angel authored
-
- Sep 03, 2014
-
-
Yawning Angel authored
-
Yawning Angel authored
Client side logs are less spammy than server side in general, so more messages should be visible at the default logLevel when running as a client. Server side logging will be spammy basically no matter what unless obfs4proxy gets into the (arguably dangerous) business of figuring out which errors are people being evil vs which ones are transient network issues, so most logging is suppressed by default, unless the admin choses to open the floodgates.
-