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 ვერ მუშაობს, ამიტომ ჯერ სცადეთ გადასვლა უფრო ახალ git-ვერსიაზე თუ დაბრკოლებას წააწყდებით.

  • 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-პორტით.  ეს პორტი გარედან
# გარედან მისაწვდომი უნდა იყოს და განსხვავდებოდეს OR-პორტისთვის განსაზღვრულისგან.
# აირიდეთ 9001 ვინაიდან, მეტად გაიგივებულია
# Tor-თან და ცენზორებმა შეიძლება გადაამოწმონ ინტერნეტიდან ეს პორტი.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# ადგილობრივი კავშირის პორტი Tor-სა და obfs4-ს შორის.  ყოველთვის მიუთითეთ „auto“.
# „Ext“ ნიშნავს გაფართოებულს, „extended“ და არა გარეს, „external“.  არ სცადოთ ცალკეული პორტის
#  ნომრის მითითება ან 0.0.0.0. პორტის დაყენება კავშირის მისაღებად
ExtORPort auto

# შეცვალეთ „<address@email.com>“ თქვენი ელფოსტით, რომ შევძლოთ თქვენთან დაკავშირება, თუ
# რამე ხარვეზი წარმოექმნება გადამცემ ხიდს.  ეს არასავალდებულოა, მაგრამ სასურველი.
ContactInfo <address@email.com>

# აირჩიეთ სასურველი მეტსახელი ხიდისთვის.  არასავალდებულოა.
Nickname PickANickname

არ დაგავიწყდეთ შეცვალოთ ORPort, ServerTransportListenAddr, ContactInfo და Nickname პარამეტრები.

  • გაითვალისწინეთ, რომ ორივე, Tor-ის OR-პორტი და მისი obfs4-პორტი უნდა იყოს მისაწვდომი. თუ თქვენი ხიდი ქსელის ფარის ან NAT-ის უკანაა, გადაამოწმეთ რომ ორივე პორტი გახსნილია. შეგიძლიათ გამოიყენოთ ხელმისაწვდომობის ჩვენი შემმოწმებელი რომ ნახოთ, არის თუ არა obfs4-პორტი მისაწვდომი ინტერნეტიდან.

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)

იმის დასამოწმებლად, რომ თქვენი გადამცემი ხიდი გაშვებულია უხარვეზოდ, უნდა იხილოთ ასეთი რამ:

[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)
[ცნობა] თვითშემოწმება აჩვენებს, რომ თქვენი ORPort ხელმისაწვდომია გარედან. მშვენიერია. გამოქვეყნდება სერვერის აღმწერი.

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.