OBFS4PROXY(1)

πŸ“¦
version 0.0.14 Β· 2 versions
  • 0.0.14 Β· debian bookworm, debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 0.9.0 Β· nixos 26.05, nixpkgs unstable
, in debian bookworm, debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ OBFS4PROXY(1) ✨

okay bestie, pull up a chair πŸ’– this is the manual page for obfs4proxy, and it lives in section 1 of the General Commands Manual. it's a whole vibe, it's a whole lifeline, and yes we're gonna read the entire thing together. no skimming, i see you πŸ‘€


πŸŽ€ NAME πŸŽ€

obfs4proxy β€” a pluggable transport proxy for Tor, implementing obfs4


🌸 SYNOPSIS 🌸

obfs4proxy [options]

that's it. that's the whole summoning ritual ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea, bestie πŸ“ obfs4proxy is a tool that attempts to circumvent censorship by transforming the Tor traffic between the client and the bridge. the way that works is: censors are usually staring at the traffic going between your client and your bridge, right? but instead of seeing actual Tor traffic, they see innocent-looking transformed traffic. disguise level: iconic πŸ’…

it implements these obfuscation protocols, and we're listing all of them, no cap:

  • obfs2
  • obfs3
  • ScrambleSuit β€” client only
  • meek β€” client only
  • obfs4

and the big important caveat: obfs4proxy is currently only supported as a managed pluggable transport, spawned as a helper process via the tor daemon. so it's not out here living its solo main character life, it's a helper. a very talented helper 🫢


πŸ’… OPTIONS πŸ’…

  • -h, --help β€” shows you the usage info and then dips out. exit, stage left ✨
  • --version β€” shows you the version info and exits. cute and quick.
  • --enableLogging β€” turns logging ON. receipts, bestie πŸ“
  • --logLevel=level β€” sets the maximum log severity to log. your choices are "ERROR", "WARN", "INFO", and "DEBUG". pick your filter πŸ’–
  • --unsafeLogging β€” disables the IP address scrubber while logging, which means personally identifiable information ends up stored in the logs. ma'am. MA'AM. 😭 know what you're doing before you flip this one, fr fr.
  • --obfs4-distBias β€” when generating probability distributions for the obfs4 length and timing obfuscation, this generates biased distributions similar to ScrambleSuit. fancy πŸŽ€

🌈 ENVIORNMENT 🌈

(yes the heading is spelled like that, we don't make the rules πŸ’€)

obfs4proxy honors all of the enviornment variables as specified in the Tor Pluggable Transport Specification. all of them. every last one πŸ‘‘


⭐ FILES ⭐

  • DataDirectory/pt_state/obfs4proxy.log β€” the log file, assuming logging is enabled. (if logging isn't enabled, don't go looking for it, bestie πŸ™ˆ)
  • DataDirectory/pt_state/obfs4_state.json β€” the Bridge (server) auto-generated obfs4 bridge parameters file. heads up though: this file will not be created if the administrator specifies those parameters in the torrc via a ServerTransportOptions directive. it said "i don't need to make that, you already did" πŸ’…
  • DataDirectory/pt_state/obfs4_bridgeline.txt β€” the Bridge (server) obfs4 bridge's client parameters. this one is created, and it contains the Bridge directive that a client should add to their torrc to connect to the running server's obfs4 instance. it's literally a little note-to-self for your future clients 🫢

🧚 CONFORMING TO 🧚

Tor Pluggable Transport Specification


πŸ”₯ NOTES πŸ”₯

  • using the obfs4 protocol requires tor-0.2.5.x or later. older than that? nope, sorry, upgrade babes ⬆️
  • the obfs2 protocol is included for backwards compatibility purposes only, and should not be used in new deployments. it's a legacy queen, let her rest πŸ‘‘

πŸ’œ EXAMPLE πŸ’œ

wanna configure tor so it can use obfs4 bridges (as a client)? add obfs4proxy to the torrc like this:

# Use obfs4proxy to provide the obfs4 protocol.
ClientTransportPlugin obfs4 exec /usr/bin/obfs4proxy

and wanna configure tor to act as an obfs4 bridge (as the server)? add obfs4proxy to the torrc like this:

#
# In addition to the standard tor bridge configuration, add:
#

# Use obfs4proxy to provide the obfs4 protocol.
ServerTransportPlugin obfs4 exec /usr/bin/obfs4proxy

see? two lines-ish and you're a whole bridge πŸŽ€βœ¨


🌟 SEE ALSO 🌟

tor (1), torrc (5), obfsproxy (1)

go read those too, bestie, i believe in you 🫢


and that's the page!! written from the General Commands Manual, dated 2015-10-29, signed off on the OBFS4PROXY(1) page itself. no cap, you now know obfs4proxy better than 90% of the internet πŸ’– mwah πŸ’‹