tor با t کوچک

Attention: These instructions are meant for installing tor the network daemon i.e. little-t-tor. For instructions on installing Tor Browser, refer to Tor Browser user manual.

Admin access: To install Tor you need root privileges. Below all commands that need to be run as root user like apt and dpkg are prepended with '#', while commands to be run as user with '$' resembling the standard prompt in a terminal.

Debian / Ubuntu

از بسته‌های universe اوبونتو استفاده نکنید. In the past they have not reliably been updated. That means you could be missing stability and security fixes.

Configure Tor package repository.

Enable the Tor Project APT repository by following the instructions.

Package installation

# apt install tor

Fedora

Configure Tor Package repository

Enable the Tor Project's RPM package repository by following the instructions.

Package installation

# dnf install tor

FreeBSD

Package installation

# pkg install tor

OpenBSD

Package installation

# pkg_add tor

macOS

Install a package manager

There are two package managers on OS X: Homebrew and Macports. می‌توان از هر مدیر بستهٔ دلخواهی استفاده کرد.

برای نصب Homebrew آموزش‌ها را در brew.sh دنبال کنید.

To install Macports follow the instructions on macports.org.

Package installation

اگر در پنجرهٔ پایانه‌ای از Homebrew استفاده می‌کنید، بزنید:

# brew install tor

اگر در پنجرهٔ پایانه‌ای از Macports استفاده می‌کنید، بزنید:

$ sudo port install tor

Arch Linux

To install the tor package on Arch Linux, run:

# pacman -Syu tor

DragonFlyBSD

Bootstrap pkg

اسنپ‌شات‌ها و نسخه‌های روزانه DragonFlyBSD (از زمان انتشار نسخهٔ ۳.۴) از قبل به‌همراه pkg نصب‌شده، عرضه می‌شود. بااین‌حال، ارتقاها از نسخه‌های پیشین، آن (pkg) را ندارند. اگر به هر دلیلی سیستم فاقد pkg باشد، بدون نیاز به ساختن آن از منبع یا حتی داشتن DPports نصب‌شده، می‌توان سریع خودراه‌اندازی کرد:

# cd /usr
# make pkg-bootstrap
# rehash
# pkg-static install -y pkg
# rehash

Recommended steps to setup pkg

در اینجا، مشابه سامانهٔ FreeBSD خواهد بود و ما از HTTPS برای واکشی و به‌روزرسانی بسته‌های خود استفاده خواهیم کرد - ما اینجا به یک بستهٔ اضافی برای کمک به خود نیاز داریم (ca_root_nss).

Installing the ca_root_nss package:

# pkg install ca_root_nss

برای نصب‌های جدید، پروندهٔ ‪/usr/local/etc/pkg/repos/df-latest.conf.sample‬ در ‪/usr/local/etc/pkg/repos/df-latest‬ رونوشت می‌شود. پرونده‌های با پسوند «‪.sample‬» نادیده گرفته می‌شوند. pkg(8) تنها پرونده‌هایی که با «‪.conf‬» پایان می‌یابند را به هر تعداد که بیابد می‌خواند.

DragonflyBSD دو مخزن بسته دارد:

  • Avalon (mirror-master.dragonflybsd.org);
  • Wolfpond (pkg.wolfpond.org).

We can simply edit the URL used to point out the repositories on /usr/local/etc/pkg/repos/df-latest and that's it! Remember to use pkg+https:// for Avalon.

پس از پیاده‌سازی تمامی این تغییرها، لیست بسته‌ها را دوباره به‌روزرسانی کرده و سعی می‌کنیم بررسی کنیم که آیا از پیش یک به‌روزرسانی جدید برای اعمال وجود دارد یا خیر:

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

Package installation

بستهٔ tor را نصب کنید:

# pkg install tor

NetBSD

Setup pkg_add

نسخه‌های مدرن سیستم‌عامل NetBSD می‌توانند برای استفاده از pkgin تنظیم شوند، که قسمتی از نرم‌افزاری بوده که هدف آن مانند apt یا yum برای مدیریت بسته‌های دودویی pkgsrc است. ما تنظیمات آن را در اینجا پوشش نمی‌دهیم، و به‌جای آن انتخاب می‌کنیم تا از pkg_add ساده استفاده کنیم.

# echo "PKG_PATH=http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -m)/$(uname -r)/All" > /etc/pkg_install.conf

Package installation

بستهٔ NetBSD ‏tor را نصب کنید:

# pkg_add tor

Void Linux

برای نصب بستهٔ tor در Void Linux، لطفاً این را اجرا کنید:

# xbps-install -S tor

Installing Tor from source

Download latest release and dependencies

جدیدترین ارائه تور می‌تواند در صفحهٔ بارگیری پیدا شود.

اگر از منبع می‌سازید، ابتدا libevent را نصب کرده و مطمئن شوید که openssl و zlib (از جمله بسته‌های -devel در صورت قابل اجرا بودن) را دارید.

Install tor

tar -xzf tor-<version>.tar.gz; cd tor-<version>

Replace <version> with the latest version of tor, for example, tor-0.4.8.12

./configure && make

Now you can run tor as src/app/tor (0.4.3.x and later), or you can run make install (as root if necessary) to install it into /usr/local/, and then you can start it just by running tor.

توجه: این دستورالعمل‌ها برای تأیید کد منبع Tor هستند. لطفاً دستورالعمل‌های درست را برای تأیید امضای مرورگر Tor دنبال کنید.

امضای دیجیتال، فرایندی است برای اطمینان از اینکه یک بستهٔ معین را توسعه‌دهندگان آن تولید کرده‌اند و دستکاری نشده است. در پایین توضیح می‌دهیم که چرا مهم است و چگونه می‌توان وارسی کرد که کد منبع tor که بارگیری می‌کنید، همان کدی است که ما ایجاد کرده‌ایم و مهاجمی آن را تغییر نداده است.

هر فایل در صفحهٔ بارگیری ما با دو فایل همراه است که «checksum» و «sig» برچسب‌گذاری شده‌اند و با بسته نام یکسانی دارند و به ترتیب دارای پسوندهای «‎.sha256sum‎» و «‎.sha256sum.asc» هستند.

فایل ‎.asc‎ تأیید خواهد کرد که فایل ‎.sha256sum (دربردارندهٔ جمع‌آزمای بسته) دستکاری نشده است. هنگامی که امضا صحت‌سنجی شد (در مورد چگونگی انجام آن پایین را ببینید)، صحت بسته می‌تواند با این دستور تأیید شود:

$ sha256sum -c *.sha256sum

این فایل‌ها به شما اجازه می‌دهند که تأیید کنید فایلی که بارگیری کرده‌اید دقیقاً همان فایلی است که ما قصد داشتیم شما دریافت کنید. این کار در هر مرورگر وب متفاوت است، اما عموماً می‌توانید با کلیک-راست روی پیوندهای «sig» و «checksum» و انتخاب گزینهٔ «save file as» این فایل را بارگیری کنید.

برای مثال، tor-0.4.6.7.tar.gz با tor-0.4.6.7.tar.gz.sha256sum.asc همراهی می‌شود. این‌ها نام‌های فایل نمونه هستند و دقیقاً با نام‌های فایلی که شما بارگیری می‌کنید مطابقت نخواهند داشت.

حال به شما نشان می‌دهیم چگونه می‌توانید امضای دیجیتال فایل بارگیری‌شده را روی سیستم‌عامل‌های متفاوت تأیید کنید. لطفاً توجه داشته باشید که امضا در لحظه‌ای که بسته امضا می‌شود، تاریخ‌گذاری می‌شود. بنابراین هر بار که فایلی جدید بارگذاری می‌شود یک امضای جدید با یک تاریخ متفاوت تولید می‌شود. مادامی که شما امضا را تأیید کرده‌اید لازم نیست نگران تفاوت تاریخ گزارش‌شده باشید.

نصب GnuPG

اول از همه نیاز است تا GnuPG را نصب داشته باشید تا بتوانید امضاها را تأیید کنید.

برای کاربران Windows:

اگر از Windows استفاده می‌کنید، Gpg4win را بارگیری کنید و نصب‌کنندهٔ آن را اجرا کنید.

برای تأیید امضا لازم است چندین فرمان را در خط فرمان Windows، یا cmd.exe وارد کنید.

برای کاربران macOS:

اگر از macOS استفاده می‌کنید، می‌توانید GPGTools را نصب کنید.

برای تأیید امضا لازم است چندین فرمان را در ترمینال (ذیل «Applications») تایپ کنید.

برای کاربران GNU/Linux:

اگر از GNU/Linux استفاده می‌کنید، پس احتمالاً GnuPG را از پیش روی سیستم خود دارید، چراکه بیشتر توزیع‌های GNU/Linux آن را از پیش نصب‌شده دارند.

برای تأیید امضا، باید چند فرمان را در یک پنجرهٔ ترمینال تایپ کنید. نحوهٔ انجام این کار بسته به توزیع شما متفاوت است.

واکشی کلید توسعه‌دهندگان Tor

کلیدهای زیر می‌توانند tarball را امضا کنند. انتظار نداشته باشید همهٔ آن‌ها کار کنند، چون بسته به اینکه چه کسی برای انجام انتشار در دسترس است، امضاکننده می‌تواند متفاوت باشد.

می توانید کلید را با پیوندهای ارائه‌شده در بالا یا با دستورهای زیر دریافت کنید:

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

باید چیزی به این شکل شما نشان دهد (برای nickm):

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
‎‎gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

اگر پیغام خطایی دریافت کردید، مشکلی رخ داده است و تا زمانی که متوجه علت عدم کارکرد آن نشده‌اید، نمی‌توانید ادامه دهید. ممکن است بتوانید کلید را با استفاده از بخش راهکار موقت (با استفاده از کلید عمومی) وارد کنید.

پس از واردکردن کلید، می‌توانید آن را در یک فایل ذخیره کنید (آن را با اثرانگشتش در اینجا شناسایی کنید):

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

این فرمان باعث می‌شود تا کلید در فایلی که در مسیر ‎./tor.keyring قرار دارد، یعنی در شاخهٔ کنونی ذخیره شود. اگر پس از اجرای این فرمان ‎.‎/‎tor.keyring وجود نداشت، اشتباهی رخ داده است و تا زمانی که دلیل آن را متوجه نشوید، نمی‌توانید ادامه دهید.

در حال تایید امضا

برای تأیید امضای بسته‌ای که بارگیری کردید، باید فایل امضای «‎‎.‎‎‎sha256sum.asc متناظر آن و خود فایل ‎.sha256sum را بارگیری کنید و آن را با دستوری بررسی کنید که از GnuPG می‌خواهد فایلی را که بارگیری کردید تأیید کند.

مثال‌های زیر فرض می‌کنند که شما این دو فایل را در پوشهٔ «بارگیری‌ها»یتان دانلود کردید. توجه داشته باشید که این دستورات از نام‌های نمونه استفاده می‌کنند و نام فایل شما متفاوت خواهد بود: شما نسخهٔ متمایزی از 9.0 بارگیری خواهید کرد و ممکن است نسخهٔ انگلیسی (en-US) را بارگیری نکرده باشید.

برای کاربران Windows:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

برای کاربران macOS:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

برای کاربران BSD/Linux:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

نتیجهٔ دستور باید چیزی شبیه این باشد (بسته به اینکه کدام کلید آن را امضا کرده است):

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

اگر پیغام خطایی حاوی ‹چنین فایل یا شاخه‌ای وجود ندارد› دریافت می‌کنید، یا در یکی از مراحل گذشته اشتباهی شده است و یا اینکه فراموش کردید که این فرمان‌ها از نام‌های فایل نمونه استفاده می‌کنند و نام‌های فایل شما کمی متفاوت خواهند بود.

شاید همچنین بخواهید دربارهٔ GnuPG بیشتر بیاموزید.

تایید جمع‌آزما

اکنون که امضاهای جمع‌آزما را صحت‌سنجی کردیم، باید صحت بسته را تأیید کنیم.

برای کاربران Windows:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

برای کاربران macOS:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

برای کاربران BSD/Linux:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum

Attention: These instructions are meant for using pluggable transports with tor, the network daemon i.e. little-t tor. For instructions on using pluggable transports with Tor Browser, refer to the Tor Browser user manual.

Direct access to the Tor network may sometimes be blocked. Tor can be used with circumvention tools, known as pluggable transports, for getting around these blocks. obfs4, Snowflake and WebTunnel are some pluggable transports available to use with Tor. Tor can be configured to use pluggable transports by modifying Tor's configuration file i.e. torrc.

Steps to configure tor to use pluggable transports for different operating systems are as follows.

  • Download and install tor or the Tor Expert Bundle for your operating system. If access to the Tor Project website is blocked, use an official Tor Project mirror.

  • If you have tor installed, pluggable transport binaries can be downloaded as part of the Tor Expert Bundle. Pluggable transport binaries available as part of the Tor Expert Bundle:

    • lyrebird : implements several pluggable transport protocols, including obfs4 and WebTunnel.
    • snowflake-client : implements the Snowflake pluggable transport.
  • Extract the Tor Expert Bundle to a directory of your choice.

  • For pluggable transports, obfs4 and WebTunnel, obtain bridges from the bridges website, via Email or via Telegram.

  • Modify Tor's configuration file, i.e. torrc. Copy and modify the following sample torrc according to the operating system. If you have installed little-t tor on Linux, you will have to modify the default torrc.

Configuring tor to use obfs4 or WebTunnel

UseBridges 1
# Uncomment the line below for Windows and include the path to the pluggable transport executable (Example: C:\Users\user\Downloads\tor\pluggable_transports\lyrebird.exe)
#ClientTransportPlugin meek_lite,obfs4,webtunnel exec <path-of-executable>

# Uncomment the line below for macOS and include the path to the pluggable transport executable (Example: /Users/user/Downloads/tor/pluggable_transports/lyrebird)
#ClientTransportPlugin meek_lite,obfs4,webtunnel exec <path-of-executable>

# Uncomment the line below for Linux and include the path to the pluggable transport executable (Example: /home/user/Downloads/tor/pluggable_transports/lyrebird)
#ClientTransportPlugin meek_lite,obfs4,webtunnel exec <path-of-executable>

Bridge obfs4 <IP ADDRESS>:<PORT> <FINGERPRINT> cert=<CERTIFICATE> iat-mode=0
Bridge webtunnel <IP ADDRESS>:<PORT> <FINGERPRINT> url=<URL> ver=0.0.1

Configuring tor to use Snowflake

UseBridges 1
# Uncomment the line below for Windows and include the path to the pluggable transport executable (Example: C:\username\Browser\TorBrowser\tor\pluggable_transports\snowflake-client.exe)
#ClientTransportPlugin snowflake exec <path-of-executable>

# Uncomment the line below for macOS and include the path to the pluggable transport executable (Example: /Users/user/Downloads/tor/pluggable_transports/snowflake-client)
#ClientTransportPlugin snowflake exec <path-of-executable>

# Uncomment the line below for Linux and include the path to the pluggable transport executable (Example: /home/user/Downloads/tor/pluggable_transports/snowflake-client)
#ClientTransportPlugin snowflake exec <path-of-executable>

Bridge snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org front=www.phpmyadmin.net,cdn.zk.mk ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn
  • Save the torrc file.

  • Run tor from the command line: ./tor -f torrc

  • Note: If you have installed little-t tor on Linux and modified the default torrc, you will have to restart the daemon.

Troubleshooting

  • If Tor fails to connect, check that the torrc file is correctly formatted.
  • If tor is installed from the Tor Expert Bundle ensure the torrc file is in the same folder as the tor binary.
  • Check the Tor logs for errors.
  • After exhausting these common troubleshooting steps, if the connection still fails, the bridges you received may be offline or blocked. Obtain new set of bridges from the bridges website, via Email or via Telegram.