Pluggable transport proxy for tor, implementing obfs4
obfs4proxy [options]
obfs4proxy is a tool that attempts to circumvent censorship by transforming the Tor traffic between the client and the bridge. This way censors, who usually monitor traffic between the client and the bridge, will see innocent-looking transformed traffic instead of the actual Tor traffic.
obfs4proxy implements the obfuscation protocols obfs2, obfs3 and obfs4.
obfs4proxy is currently only supported as a managed pluggable transport spawned as a helper process via the tor daemon.
-h, --help
Display usage information and exit.
--version
Display version information and exit.
--enableLogging
Enable logging.
--logLevel=level
Specify the maximum log severity to log out of "ERROR", "WARN", and "INFO".
--unsafeLogging
Disable the IP address scrubber when logging, storing personally identifiable information in the logs.
--obfs4-distBias
When generating probability distributions for the obfs4 length and timing obfuscation, generate biased distributions similar to ScrambleSuit.
obfs4proxy honors all of the enviornment variables as specified in the Tor Pluggable Transport Specification.
DataDirectory/pt_state/obfs4proxy.log
The log file, assuming logging is enabled.
DataDirectory/pt_state/obfs4_state.json
The Bridge (server) auto-generated obfs4 bridge parameters file. This file will not be created if the administrator specifies them in the torrc via a ServerTransportOptions directive.
DataDirectory/pt_state/obfs4_bridgeline.txt
The Bridge (server) obfs4 bridge's client parameters. This file is created and contains the Bridge directive a client should add to their torrc to connect to the running server's obfs4 instance.
Tor Pluggable Transport Specification
Using the obfs4 protocol requires tor-0.2.5.x or later.
The obfs2 protocol is included for backwards compatibility purposes only, and should not be used in new deployments.
To configure tor to be able to use obfs4 bridges (as a client), add obfs4proxy to the torrc like thus:
# Use obfs4proxy to provide the obfs4 protocol. ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy
To configure tor to act as an obfs4 bridge (as the server), add obfs4proxy to the torrc like thus:
# # In addition to the standard tor bridge configuration, add: # # Use obfs4proxy to provide the obfs4 protocol. ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy
tor (1), torrc (5), obfsproxy (1)