1. Install Tor and dependencies

  • CentOS / RHEL:

# yum install epel-release -y

Then add the following to the /etc/yum.repos.d/tor.repo file.

[tor]
name=Tor for Enterprise Linux $releasever - $basearch
baseurl=https://rpm.torproject.org/centos/$releasever/$basearch
enabled=1
gpgcheck=1
gpgkey=https://rpm.torproject.org/centos/public_gpg.key
cost=100

And then install the following packages.

# yum install git golang tor policycoreutils-python-utils

  • OpenSUSE:

# zypper install tor go git

2. Build obfs4proxy and move it into place.

Παλιές εκδόσεις του git μπορεί να αποτύχουν με την εντολή go get, οπότε προσπαθήστε να αναβαθμίσετε σε νεότερη για άρση του προβλήματος.

  • CentOS / RHEL:

export GOPATH='mktemp -d'

go get gitlab.com/yawning/obfs4.git/obfs4proxy

sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/

# chcon --reference=/usr/bin/tor /usr/local/bin/obfs4proxy

  • OpenSUSE:

export GOPATH='mktemp -d'

go get gitlab.com/yawning/obfs4.git/obfs4proxy

sudo cp $GOPATH/bin/obfs4proxy /usr/local/bin/

3. Edit your Tor config file, usually located at /etc/tor/torrc and replace its content with:

  • CentOS / RHEL / OpenSUSE:
RunAsDaemon 1
BridgeRelay 1

# Αντικαταστήστε το "TODO1" με την πόρτα Tor που επιθυμείτε. Η πόρτα πρέπει να έχει εξωτερική πρόσβαση.
# προσβάσιμη. Αποφύγετε τη θύρα 9001 επειδή χρησιμοποιείται συνήθως από το Tor και 
# ενδέχεται να πραγματοποιείται σάρωση για έλεγχο Διαδικτύου για αυτήν την πόρτα.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy

# Αντικαταστήστε το "TODO2" με μια πόρτα obfs4 της επιλογής σας.  Η πόρτα πρέπει να είναι
# εξωτερικά προσβάσιμη και διαφορετική από αυτή του ORPort.
# Αποφύγετε τη χρήση της πόρτας 9001 επειδή χρησιμοποιείται συνήθως από
# το Tor και ελεγκτές για σάρωση του Διαδικτύου από αυτή την πόρτα.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# Τοπική πόρτα επικοινωνίας μεταξύ του Tor και obfs4.  Ορίστε πάντα σε "αυτόματο".
# Το "Ext" σημαίνει "εκτεταμένα", όχι "εξωτερικά". Μην προσπαθήσετε να ορίσετε συγκεκριμένη θύρα
# με αριθμό, που δεν επικοινωνεί με 0.0.0.0.
ExtORPort auto

# Αντικαταστήστε το "<address@email.com>" με το δικό σας email ώστε να μπορούμε να επικοινωνήσουμε εάν
# εάν παρουσιαστεί κάποιο πρόβλημα με τη γέφυρά σας.  Είναι προαιρετικό αλλά προτείνεται η χρήση.
ContactInfo <address@email.com>

# Επιλέξτε ένα ψευδώνυμο για την γέφυρά σας. Προαιρετική επιλογή.
Ψευδώνυμο PickANickname

Μην ξεχάσετε να αλλάξετε τις επιλογές ORPort, ServerTransportListenAddr, ContactInfo και Nickname.

  • Note that both Tor's OR port and its obfs4 port must be reachable. If your bridge is behind a firewall or NAT, make sure to open both ports. You can use our reachability test to see if your obfs4 port is reachable from the Internet.

4. Restart Tor

  • CentOS / RHEL:

sudo semanage port -a -t tor_port_t -p tcp [OR port set earlier, in TODO1]

sudo semanage port -a -t tor_port_t -p tcp [obfs4 port set earlier, in TODO2]

  • CentOS / RHEL / OpenSUSE:

sudo systemctl restart tor

5. Monitor your logs (usually in your syslog)

To confirm your bridge is running with no issues, you should see something like this:

[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

6. Τελικές σημειώσεις

If you are having trouble setting up your bridge, have a look at our help section. If your bridge is now running, check out the post-install notes.