1. Enable Automatic Software Updates

One of the most important things to keep your relay secure is to install security updates timely and ideally automatically so you can not forget about it. Follow the instructions to enable automatic software updates for your operating system.

2. Bootstrap pkg

This guide assumes we have already a base installation of FreeBSD running, and only the base system. ეს ნიშნავს, რომ არაა დაყენებული არცერთი კრებული, მათ შორის pkg კრებულების მმართველიც კი (ანუ არაა sudo ხელმისაწვდომი – ბრძანებები ეშვება ძირეულად (root)).

რომ ჩაიტვირთოს და ჩაიდგას pkg უნდა გაეშვას შემდეგი ბრძანება:

# pkg bootstrap
# pkg update -f

მიმდინარე განახლებების „სწრაფი გზით“ მისაღებად, ჯობია შეცვალოთ 'quarterly' განშტოება (branch), რომელსაც pkg იყენებს, მისი 'latest' განშტოებით.

კიდევ ერთი სასურველი ნაბიჯია, HTTPS-ის გამოყენება კრებულების მისაღებად და განახლებებისთვისაც – შესაბამისად, საჭიროა დამატებით ცალკე კრებული (ca_root_nss).

დააყენეთ ca_root_nss კრებული:

# pkg install ca_root_nss

We are keeping the original setting used by pkg but setting a new one that will override it. So we set up a new directory, and then create a configuration file to override what we need. This configuration file will be /usr/local/etc/pkg/repos/FreeBSD.conf.

ახალი საქაღალდის შექმნა:

# mkdir -p /usr/local/etc/pkg/repos

ასე გამოიყურება გამართვის ფაილი /usr/local/etc/pkg/repos/FreeBSD.conf:

FreeBSD: {
  url: pkg+https://pkg.freebsd.org/${ABI}/latest
}

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

# pkg update -f
# pkg upgrade -y -f

3. Install Tor

You can choose to install the stable version (recommended):

# pkg install tor

Or install an alpha release:

# pkg install tor-devel

4. Install obfs4proxy

# pkg install obfs4proxy-tor

5. Edit your Tor config file, usually located at /usr/local/etc/tor and replace its content with:

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

Log notice file /var/log/tor/notices.log

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

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

  • Are you using FreeBSD's firewall with a "default deny" policy? If so, make sure that your obfs4proxy can talk to your Tor process over the loopback interface. Don't forget to whitelist Tor's ExtORPort.

6. Ensure that the random_id sysctl setting is enabled

# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1

7. Start the tor daemon and make sure it starts at boot

# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start

8. Monitor your logs

იმის დასამოწმებლად, რომ თქვენი გადამცემი ხიდი გაშვებულია უხარვეზოდ, უნდა იხილოთ ასეთი რამ ჩანაწერში /var/log/tor/notices.log:

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

9. Final Notes

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.