summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-11-22Print usage when require parameters are missingBrandon Wiley
2016-11-17Organized and commented command line flags according to PT 2.0 specBrandon Wiley
2016-11-16Added new command line flags and refactored ClientSetup to use themBrandon Wiley
2016-11-16Removed proxy_dialers, we will use the obfs4 version rather than maintaining ↵Brandon Wiley
a fork
2016-11-16Fixed import pathsBrandon Wiley
2016-11-15Changed import paths to use shapeshifter-transports instead of obfs4Brandon Wiley
2016-11-15Fixed import paths to use shapeshifter-dispatcher/shapeshifter-transports ↵Brandon Wiley
instead of obfs4
2016-11-15Removed transports from shapeshifter-dispatcher (now located in ↵Brandon Wiley
shapeshifter-transports)
2016-11-15Renamed obfs4proxy to shapeshifter-dispatcherBrandon Wiley
2016-11-07Updated to use no goturn APIBrandon Wiley
2016-08-17Implemented STUN modeBrandon Wiley
2016-08-17Implementing connection pool handling semantics specified in Pluggable ↵Brandon Wiley
Transports 2.0 Specification, Draft 1
2016-08-02Added STUN-aware UDP proxy modeBrandon Wiley
2016-04-03Explicitly import proxy dialers for side effectsRobin Tarsiger
These register themselves at init time. Previously they were in the main package and thus did not need to be explicitly imported.
2016-04-03Split "proxies" into "proxy_dialers" and "modes"Robin Tarsiger
Half of the packages in there registered dialer types with golang.org/x/net/proxy, and half of them were proxying modes for the program as a whole. These are separate things, so move them into separate directories.
2016-03-31Run go fmt on recent changesRobin Tarsiger
2016-03-31Fix package declaration in termmon_linux.goRobin Tarsiger
2016-03-31Changed import pathsBrandon Wiley
2016-03-31Moved pt_extras code from main into its own packageBrandon Wiley
2016-03-31Move termmon code from main into its own packageBrandon Wiley
2016-03-31Split out proxy code into multiple different proxy packagesBrandon Wiley
2016-03-21Updated import pathsBrandon Wiley
2016-03-21Updated import pathsBrandon Wiley
2016-03-21Refactoring main into separate modulesBrandon Wiley
2016-01-25Bump the version to 0.0.7-dev, signifying development towards 0.0.7.Yawning Angel
2016-01-25Do the release ritual for obfs4proxy-0.0.6.Yawning Angel
2016-01-25Fix other instances of attempting to close `nil` on handshake failure.Yawning Angel
Bug introduced in e52258edac55d82ff153755493d770bfbbc9a346, not in any released version of obfs4proxy.
2016-01-17fix incorrect connection closepminmax945
when obfs4 connection create failed,conn variable is set to nil already.
2015-10-30meek-lite: Don't send a "User-Agent" header.Yawning Angel
2015-10-30meek-lite: combine small writes at request dispatch time.Yawning Angel
This dramatically improves bulk upload performance, from totally shit to just shit.
2015-10-29Add the "meek_lite" transport, which does what one would expect.Yawning Angel
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.
2015-10-29Make establishing outgoing connections the transport's responsibility.Yawning Angel
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.
2015-06-01Delay transport initialization till after logging has been setup.Yawning Angel
2015-05-26Fix doc comment for log.Debugf.David Fifield
2015-04-23Bump the version to 0.0.6-dev, signifying development towards 0.0.6.Yawning Angel
2015-04-15Do the release ritual for obfs4proxy-0.0.5.Yawning Angel
2015-04-15Use a built in SOCKS 5 server instead of goptlibs.Yawning Angel
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.
2015-04-13Add routines for querying the log module state.Yawning Angel
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.
2015-04-03Move logging wrappers into common/log, and add a DEBUG log level.Yawning Angel
Implements feature #15576.
2015-03-28Add support for tor feature #15435.Yawning Angel
If the relevant enviornment variable is set, treat read errors from Stdin as a SIGTERM.
2015-03-28Clean up/refactor the shutdown/termination handling code.Yawning Angel
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.
2015-03-26Fix comments. (No functional changes)Yawning Angel
2015-03-26Attempt to detect if the parent crashed without killing obfs4proxy.Yawning Angel
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.
2015-03-23Change the import path for go.net.Yawning Angel
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.
2015-03-22Update the ChangeLog (No functional changes).Yawning Angel
2015-03-22Simplify some err and return logicDaniel Martí
2015-03-18Reduce some if err != nil logic linesDaniel Martí
2015-03-16Update the ChangeLog (No functional changes).Yawning Angel
2015-03-16Fix all go vet issuesDaniel Martí
2015-03-16Run go fmtDaniel Martí