For a while I'm using Fedora Linux, I used to use Ubuntu before.

On Ubuntu simply you use sudo apt install opfs4proxy and then boom, just add the bridge to the torrc document and it works.

but I'm wondering how to install obfs4proxy On Fedora because it seems that this package doesn't exist on Fedora.

sudo yum install obfs4proxy

And Result:

No package obfs4proxy available.

obfsproxy is not available too.

How i can add the repository or install obfs4proxy In Fedora 24?

1 Answer 1


There doesn't appear to be available/packaged for FC/RH, however...

You could use the obfs4proxy binary packaged with Tor Browser by running.

wget https://dist.torproject.org/torbrowser/6.0.4/tor-browser-linux64-6.0.4_en-US.tar.xz{,.asc}
gpg --recv-keys 0x4E2C6E8793298290
gpg --list-keys --fingerprint 0x4E2C6E8793298290
# Manually verify fingerprint against https://www.torproject.org/docs/signing-keys.html.en or web of trust here
gpg --verify tor-browser-linux64-6.0.4_en-US.tar.xz.asc tor-browser-linux64-6.0.4_en-US.tar.xz
if [ $? -eq 0 ]; then
    tar xaf tor-browser-linux64-6.0.4_en-US.tar.xz tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/obfs4proxy
    sudo cp tor-browser_en-US/Browser/TorBrowser/Tor/PluggableTransports/obfs4proxy /usr/local/bin/
    echo Signature verification failed.

Or you could build obfs4proxy from source by installing the golang package then running (you may also need git and mercurial, which go get ... utilises):

export GOPATH=`mktemp -d`
go get git.torproject.org/pluggable-transports/obfs4.git/obfs4proxy
sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/

To use it as a client, add the following lines to your torrc

ClientTransportPlugin obfs3,obfs4,scramblesuit exec /usr/local/bin/obfs4proxy
UseBridges 1

Then also append your Bridge ... lines for each of the bridges you wish to use.

To use it as a server, add the following lines to your torrc

ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
ORPort 31337 # This isn't where obfs4 clients connect, but needs to be set and reachable.
BridgeRelay 1
ExtORPort auto
#ServerTransportListenAddr obfs4 # This allows you to specify where the pluggable transport will listen, if it's not defined it will pick a random high numbered port.
#PublishServerDescriptor 0 # set this if you want to manually distribute your bridge address, otherwise it will be published to the Bridge Authority and distributed through BridgeDB

If you're providing an obfs4 bridge, the Bridge ... line for your bridge can be found at /var/lib/tor/pt_state/obfs4_bridgeline.txt (assuming /var/lib/tor/ is your DataDirectory)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .