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.

در نسخه های خیلی قدیمی از گیت 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" را با درگاه تور انتخابی خود جایگزین کنید. این باید به صورت خارجی
# قابل دسترس باشد. از استفاده از درگاه 9001 اجتناب کنید چون معمولاً با تور
# , مرتبط است و سانسور کنندگان اینترنت را برای این درگاه اسکن می کنند.
ORPort TODO1

ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy

# "TODO2" را با درگاه obfs4 انتخابی خود جایگزین کنید. این درگاه باید
# از خارج قابل دسترس باشد و از درگاه مشخص شده برای ORPort باید تفاوت داشته باشد.
# از درگاه 9001 اجتناب کنید چون به صورت رایج با
# تور مرتبط است و سانسور کنندگان ممکن است اینترنت را برای این درگاه اسکن کنند.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2

# درگاه ارتباط محلی بین تور و obfs4. همیشه این را روی "auto" تنظیم کنید.
#  "Ext" به معنای "تعمیم یافته" است نه "خارجی". یک شماره درگاه خاص
# را مشخص نکنید یا روی 0.0.0.0 شنود نکنید.
ExtORPort auto

# نشانی ایمیل خود را با "<address@email.com>" تغییر دهید تا بتوانیم در صورت نیاز با شما ارتباط برقرار کنیم
# پل شما مشکلاتی دارد. این انتخابی می باشد ولی توصیه می شود.
اطلاعات مخاطب <address@email.com>

# یک نام مستعار برای پل خود انتخاب کنید. این به اختیار شما می باشد.
Nickname PickANickname

فراموش نکنید تا گزینه های ORPort, ServerTransportListenAddr, ContactInfo, و Nickname را تغییر دهید.

  • توجه داشته باشید که هم درگاه OR تور و درگاه obfs4 آن باید قابل دسترس باشند. اگر پل شما پشت یک دیوار آتش یا ترجمه نشانی شبکه قرار گرفته، مطمئن شوید که هر دو را باز کرده اید. می توانید از آزمون دسترس‌پذیری ما برای بررسی قابل دسترس بودن درگاه 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)

برای اینکه تایید کنید پل شما بدون هیچ مشکلی اجرا می شود، باید چیزی شبیه به این ببینید:

[اعلان] اثر انگشت کلید هویت سرور تور شما '<NICKNAME><FINGERPRINT>' می باشد
[اعلان] اثرانگشت کلید هویت هش شده پل تور شما '<NICKNAME><HASHED FINGERPRINT>' می باشد
[اعلان] انتقال سرور ثبت شده 'obfs4' در '[::]:46396'
[اعلان] تور با موفقیت یک زنجیره را باز کرده است. به نظر می آید که عملکرد کلاینت مشکلی ندارد.
[اعلان] بوت استرپ 100%: تمام
[اعلان] بررسی قابل دسترس بودن <redacted>:3818 ORPORT... (این ممکن است تا 20 دقیقه طول بکشد -- به دنبال پیام های لاگ که نشان می دهند عملیات موفق بوده باشید)
[اعلان] خود آزمایی نشان می دهد که 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.