Tor exit node چلانے کی مکمل operator guide
Tor exit relay چلانے کا حقیقی کام جانیں: exit-friendly host، exit policy، ContactInfo، reverse DNS، port 80 page اور abuse mail کا جواب کیسے دیں۔
Tor exit node کیا کرتا ہے، اور آپ کی شناخت کیا بن جاتی ہے
Tor exit node circuit کا آخری relay ہوتا ہے۔ یہی وہ machine ہے جو destination سے connection کھولتی ہے۔ اس لیے destination کو user کے بجائے آپ کے server کا address نظر آتا ہے اور logs میں درج ہوتا ہے۔ اس guide کے ہر دوسرے فیصلے کی بنیاد اسی حقیقت پر ہے۔ اس address کو اس سے گزرنے والی ہر چیز کا source سمجھا جاتا ہے۔ اس لیے یہ ایسا address ہونا چاہیے جو کوئی دوسرا کام نہ کرتا ہو، اور ایسے provider کے پاس ہو جو یہ traffic منتقل کرنے پر رضامند ہو۔
Exit چلانا چھپنے کے بالکل برعکس ہے۔ Relay ایک public directory میں درج ہوتا ہے جسے کوئی بھی download کر سکتا ہے۔ آپ کا contact address اس directory میں ContactInfo کے تحت موجود ہوتا ہے۔ آپ کا reverse DNS (domain name system) name واضح کرتا ہے کہ یہ box کیا ہے۔ port 80 پر ایسا page فراہم ہوتا ہے جو یہی بات بتاتا ہے۔ Abuse mail کا جواب آپ خود اپنے نام سے دیتے ہیں۔ اس system میں exit operator سے زیادہ قابلِ شناخت کوئی نہیں ہوتا۔ یہی اس کام کی نوعیت ہے، اور اسی وجہ سے یہ کام مؤثر ہوتا ہے۔
ہم یہ relays چلاتے ہیں۔ SSD Nodes آزاد اظہار میں اپنے تعاون کے طور پر کئی ممالک میں exit relays چلاتا ہے۔ ہم یہ machines ایسے providers سے rent کرتے ہیں جنہوں نے exit traffic کے لیے دانستہ طور پر رضامندی دی ہے، اور ہم ان machines کے provider نہیں ہیں۔ یہ جان بوجھ کر کیا گیا ہے، اور اگلا section اس کی وجہ بیان کرتا ہے۔
ایگزٹ کہاں مناسب ہے، اور کہاں نہیں
ایگزٹ عام مقصد کے VPS (virtual private server) پر مناسب نہیں ہوتا، اور اس میں ہمارا VPS بھی شامل ہے۔ عام مقصد کا network ہزاروں غیر متعلقہ صارفین کی websites، mail، backups اور control panels کو پڑوسی addresses پر چلاتا ہے۔ ایگزٹ traffic ان میں سے کسی ایک address کو scanning reports اور spam blocklists میں شامل کر دیتا ہے، اور اس کے اثرات پڑوسی صارفین تک پہنچتے ہیں۔ جو providers ایگزٹس کی مناسب hosting کرتے ہیں، انہوں نے اس مقصد کے لیے الگ address space مختص کیا ہوتا ہے اور ان کے پاس abuse desk موجود ہوتا ہے جو پہلے سے جانتا ہے کہ Tor کیا ہے۔
اس لیے جو host یہ guide لکھ رہا ہے، وہ آپ کو machine کہیں اور خریدنے کا مشورہ دے رہا ہے۔ یہی اس کا مفید حصہ ہے۔ ہمیں معلوم ہے کہ ایگزٹ traffic کسی address کے ساتھ کیا کرتا ہے، کیونکہ ہم اپنے traffic کو دوسرے لوگوں سے منتقل کروانے کے لیے ادائیگی کرتے ہیں۔ ہم انہیں اس لیے ادائیگی کرتے ہیں کہ اسے درست طریقے سے منتقل کرنا عام مقصد کے servers فروخت کرنے سے مختلف کاروبار ہے۔
Tor Project بھی یہی بات زیادہ واضح الفاظ میں کہتا ہے۔ اس کے relays کی اقسام والے صفحے میں لکھا ہے کہ ایگزٹ relays کو "تمام relays میں سب سے زیادہ قانونی exposure اور liability کا سامنا ہوتا ہے" اور یہ کہ "آپ کو اپنے گھر سے Tor exit relay نہیں چلانا چاہیے"۔ آپ کے اپنے projects رکھنے والا عام مقصد کا VPS بظاہر جتنا دور ہے، حقیقت میں اتنا دور نہیں۔ یہ ایسی machine ہے جس کی آپ کو فکر ہے، اور ایسے address پر ہے جسے آپ صاف رکھنا چاہتے ہیں۔
اگر آپ کے پاس عام VPS ہے اور آپ اس ہفتے network کی مدد کرنا چاہتے ہیں تو اس پر non-exit relay یا bridge چلائیں۔ یہ محض متبادل انتخاب نہیں ہے۔ یہ مختلف risk profile والا مختلف کام ہے، اور network کو دونوں کی ضرورت ہے۔ non-exit relay کبھی کسی destination سے connection نہیں کھولتا، اس لیے اس کے خلاف تقریباً کوئی complaints نہیں آتیں۔ Tor کی guidance کے مطابق listing کے قابل ہونے سے پہلے ہر سمت میں کم از کم 2 MByte/s (megabytes per second) bandwidth ہونی چاہیے۔ Bridge censored networks میں موجود users کے لیے unlisted entry point ہوتا ہے۔ اسے 24/7 connectivity اور ایک کھلا TCP (transmission control protocol) port درکار ہوتا ہے، اس لیے چھوٹی machine کے لیے یہ سب سے زیادہ مفید کام ہے۔ یہ دونوں کام آپ کے پہلے سے موجود hardware پر کیے جا سکتے ہیں۔ ایگزٹ نہیں۔
آپ exit-friendly provider کیسے تلاش کریں؟
آرڈر دینے سے پہلے تحریری طور پر پوچھیں اور جواب محفوظ رکھیں۔ Tor کی exit guidelines کے مطابق سوال دو مراحل میں پوچھنا بہتر ہے: پہلے یہ معلوم کریں کہ provider مجموعی طور پر Tor exit کے لیے تیار ہے یا نہیں، پھر پوچھیں کہ آیا وہ اس کے لیے dedicated address یا range مختص کرے گا۔ دونوں سوال ایک ساتھ پوچھنے پر عموماً فوری انکار ملتا ہے۔
چار سوالات سے معلوم ہو جاتا ہے کہ provider واقعی اس مقصد کے لیے تیار ہے یا نہیں۔
- کیا آپ ایسا dedicated IP address مختص کریں گے جس پر کوئی اور چیز host نہ ہو، اور کیا آپ میرے بتائے ہوئے reverse DNS record کو set کریں گے؟
- abuse mail کس کو موصول ہوگی، اور کیا آپ اسے بغیر ترمیم کے مجھے forward کریں گے، جبکہ reporter کا address بھی برقرار رکھیں گے تاکہ میں اسے براہ راست جواب دے سکوں؟
- پہلی شکایت پر کیا ہوگا: کیا آپ شکایت مجھے forward کریں گے، یا پہلے address کو null-route کر کے بعد میں مجھ سے پوچھیں گے؟
- اس network پر پہلے سے کتنے exits موجود ہیں؟ Tor کی guidelines اس بارے میں واضح ہیں: "اگر ہم بہت زیادہ exits کو ایک دوستانہ ISP پر جمع کر دیں تو اس سے کوئی فائدہ نہیں ہوتا۔"
یہ آخری سوال بظاہر جتنا اہم لگتا ہے، اس سے زیادہ اہم ہے۔ exit کی قدر کا ایک حصہ اس بات سے آتا ہے کہ وہ network میں کہاں موجود ہے۔ ایسے network میں ایک اور exit، جہاں پہلے ہی پچاس exits موجود ہوں، اس machine سے کم فائدہ دیتا ہے جو کسی نئے مقام پر ہو۔ Relay Search دکھاتا ہے کہ کن networks پر پہلے سے exits موجود ہیں، اس لیے عہد کرنے سے پہلے جانچ کر سکتے ہیں۔
ادائیگی سے پہلے جوابات حاصل کریں، اور machine کو الگ account پر خریدیں۔ اسے اس account میں شامل نہ کریں جس پر آپ کے دوسرے servers موجود ہیں۔ VPS hosting کتنی محفوظ ہے زیادہ تر اس بات پر منحصر ہے کہ آپ کس چیز کو کس چیز کے ساتھ رکھتے ہیں، اور اس اصول کی اس سے زیادہ واضح مثال نہیں ملتی۔
ایک پتہ، ایک کام
اس پتے پر کوئی اور سروس نہیں ہونی چاہیے۔ نہ ویب سائٹ، نہ mail، نہ VPN، نہ monitoring dashboard، اور نہ ذاتی SSH (secure shell) jump host۔ یہ پتہ blocklists میں شامل ہو جائے گا، اور وہاں چلنے والی دوسری سروسز ایسے طریقے سے ناکام ہونا شروع ہو جائیں گی جن کی وجہ تلاش کرنا مشکل ہوگا۔ واحد مقصد کے لیے مختص پتہ شکایات کا مختصر جواب دینے میں بھی مدد دیتا ہے: یہ پتہ exit relay ہے، اس پر کوئی اور سروس نہیں چلتی۔
tor شروع کرنے سے پہلے معمول کے انتظامی اقدامات کریں۔ صرف key کے ذریعے SSH استعمال کریں، password login بند کریں، اور ایسا firewall فعال کریں جو صرف شائع کیے جانے والے ports کی اجازت دے۔ VPS پر SSH کو harden کرنا پہلے حصے کی وضاحت کرتا ہے، جبکہ ufw firewall کی بنیادی باتیں دوسرے حصے کی وضاحت کرتا ہے۔ exit دنیا کے لیے بالکل دو ports شائع کرتا ہے: Tor traffic لے جانے والا ORPort، اور exit notice page کے لیے port 80۔ باقی تمام ports بند رہیں۔
unattended upgrades فعال کریں، کیونکہ پرانے tor build پر چلنے والا exit اس کے ذریعے route ہونے والے ہر user کے لیے مسئلہ بن سکتا ہے۔
sudo apt update && sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradeslogging شامل نہ کریں۔ exit سے باہر جانے والے plaintext کو capture کرنا تکنیکی طور پر آسان ہے، لیکن operator کو یہ کام کبھی نہیں کرنا چاہیے۔ EFF Tor قانونی FAQ operators کو ایسا نہ کرنے کی ہدایت کرتا ہے، کیونکہ United States کے wiretap laws اور دیگر مقامات کے مماثل قوانین اس traffic کا جائزہ لینے پر قانونی ذمہ داری عائد کر سکتے ہیں۔ tor کی default notice-level logging برقرار رکھیں، اس سے زیادہ کچھ نہ کریں۔
Tor Project کے repository سے tor انسٹال کریں
Distribution packages میں تاخیر ہوتی ہے۔ Tor Project کا اپنا repository استعمال کریں تاکہ security fixes release ہونے کے دن ہی دستیاب ہو جائیں۔ August 2026 تک موجودہ stable series 0.4.9 ہے۔
sudo apt update
sudo apt install -y apt-transport-https gnupg wget
lsb_release -cslsb_release -cs کے پرنٹ کیے گئے codename سے noble کو تبدیل کرکے /etc/apt/sources.list.d/tor.sources لکھیں:
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: noble
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpgSigning key شامل کریں، پھر انسٹال کریں:
wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null
sudo apt update
sudo apt install -y tor deb.torproject.org-keyring
tor --versiondeb.torproject.org-keyring package اس key کو خودکار طور پر تازہ رکھتا ہے، اس لیے key roll over ہونے کے دن repository کام کرنا بند نہیں کرتا۔ اگر apt update ایک ہی repository کے دو مرتبہ configured ہونے کی اطلاع دے، تو اس کا مطلب ہے کہ اسے نامزد کرنے والی .list file اور .sources file دونوں موجود ہیں، اور deb822 duplicate source error کو دور کرنے کا طریقہ اس مسئلے کو صاف کرنے کا طریقہ بتاتا ہے۔
DNS: آپ کے ذریعے گزرنے والے تمام صارفین کے لیے نام resolve ہوتے ہیں
Exit سے گزرنے والے ہر circuit کے لیے name lookup وہی انجام دیتا ہے، اس لیے اس کا resolver دوسرے لوگوں سے متعلق ناموں کا مسلسل سلسلہ دیکھتا ہے۔ اگر آپ اسے کسی بڑے public resolver کی طرف بھیج دیں تو پورا سلسلہ ایک ہی کمپنی کے حوالے کر دیتے ہیں۔ یہ اسی centralisation کے خلاف ہے جس سے بچنے کی Tor، exit operators سے درخواست کرتا ہے۔ اس کے بجائے اسی سرور پر validating، caching resolver چلائیں۔
sudo apt install -y unbound bind9-dnsutils
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
sudo chattr +i /etc/resolv.conf
sudo systemctl enable --now unboundchattr +i فائل کو immutable بناتا ہے، کیونکہ DHCP (dynamic host configuration protocol) clients اور resolvconf اپنے شیڈول کے مطابق /etc/resolv.conf کو دوبارہ لکھتے ہیں۔ اس کے بغیر reboot آپ کے lookups کو دوبارہ provider کے resolver کی طرف بھیج سکتا ہے، اور اس تبدیلی کی کوئی اطلاع نہیں ملے گی۔ Tor کی Debian اور Ubuntu ہدایات query name minimisation بھی فعال کرتی ہیں۔ اس میں ہر name server کو نام کا صرف وہ حصہ بھیجا جاتا ہے جس کی اسے واقعی ضرورت ہو:
server:
qname-minimisation: yesاسے /etc/unbound/unbound.conf.d/ کے تحت کسی file میں رکھیں، پھر تصدیق کریں کہ resolver جواب دے رہا ہے:
sudo systemctl restart unbound
dig +short example.com @127.0.0.1جواب میں کوئی address موجود ہو تو اس کا مطلب ہے کہ unbound کام کر رہا ہے۔ اگر unbound، address already in use کے ساتھ start ہونے میں ناکام ہو تو کوئی دوسرا process port 53 پر قابض ہے۔ sudo ss -lntup | grep :53 چلائیں اور دیکھیں کہ اس port کو کون own کر رہا ہے۔ Ubuntu میں systemd-resolved، 127.0.0.53 پر listen کرتا ہے، اس لیے یہ 127.0.0.1 پر unbound سے متصادم نہیں ہوتا۔
ایگزٹ ریلے کے لیے torrc
Debian پیکیج /etc/tor/torrc کو پڑھتا ہے۔ ایگزٹ سے متعلق مکمل configuration یہ ہے۔
Nickname exampleExit01
ORPort 443
ExitRelay 1
SocksPort 0
ContactInfo email:tor[]example.org abuse:abuse[]example.org url:https://example.org ciissversion:3
ReducedExitPolicy 1
Log notice syslogیہاں ہر سطر اہم ہے، اس لیے انہیں ایک ایک کرکے سمجھیں۔
ORPort 443 وہ جگہ ہے جہاں دوسرے relays آپ سے connect ہوتے ہیں۔ Port 443 ان restrictive networks سے بھی گزر جاتا ہے جو غیر معمولی ports کو block کرتے ہیں۔ اس لیے آپ کا relay روایتی 9001 کے مقابلے میں زیادہ لوگوں کے لیے reachable رہتا ہے۔ آپ صرف اسی صورت میں 443 استعمال کر سکتے ہیں جب اس box پر کوئی دوسری سروس اسے استعمال نہ کر رہی ہو۔ یہ dedicated address کے حق میں ایک اور دلیل ہے۔
SocksPort 0 local SOCKS proxy کو بند کرتا ہے۔ Relay کو اس کی کبھی ضرورت نہیں ہوتی۔ Public address پر listening کرنے والا SOCKS port ایک open proxy ہوتا ہے، جسے چند گھنٹوں میں تلاش کرکے misuse کیا جائے گا۔
ExitRelay 1 وہ switch ہے جو اس machine کو exit بناتا ہے۔ Default پر انحصار کرنے کے بجائے اسے واضح طور پر set کریں، تاکہ configuration file صاف طور پر بتائے کہ machine کیا کام کرتی ہے۔
ContactInfo public directory میں publish ہوتا ہے، جہاں ہر شخص اسے پڑھ سکتا ہے۔ اسے ContactInfo Information Sharing Specification format میں لکھیں، کیونکہ network کے tools اسی format کو parse کرتے ہیں، اور اس میں ciissversion:3 ضرور شامل رکھیں۔ @ کے بجائے [] استعمال کرنا اسی specification کا convention ہے، جو address scrapers کو سست کرنے کے لیے بنایا گیا ہے۔ ایسا mailbox استعمال کریں جسے آپ روزانہ پڑھتے ہوں، کیونکہ abuse سے متعلق mail یہیں موصول ہوگی۔
اگر box پر IPv6 درست طور پر کام کرتا ہے تو IPv6 ORPort شامل کریں اور IPv6 exiting فعال کریں۔ اگر IPv6 دستیاب نہ ہو تو دونوں کو خارج رکھیں، کیونکہ ایسے address کا اعلان کرنے والا relay، جسے وہ حقیقت میں استعمال نہیں کر سکتا، اپنے reachability test میں ناکام ہو جاتا ہے۔
ORPort [2001:db8::1]:443
IPv6Exit 1ایگزٹ پالیسی: ہر port کیا اجازت دیتا ہے
ایگزٹ پالیسی ان destinations کی فہرست ہے جن سے آپ کا relay connect ہونے کے لیے تیار ہوتا ہے۔ Tor اسے اوپر سے نیچے پڑھتا ہے اور پہلی مطابقت رکھنے والی rule نافذ ہوتی ہے۔ ReducedExitPolicy 1 تقریباً ستر ports کی منتخب فہرست شامل کرتا ہے، جس میں web، mail submission، chat اور git شامل ہیں، جبکہ وہ ports خارج رہتے ہیں جن سے زیادہ تر شکایات پیدا ہوتی ہیں۔ پہلے ایگزٹ کے لیے یہی مناسب ابتدائی انتخاب ہے۔
دو rules کو ان کے نام سے جاننا ضروری ہے۔ ExitPolicyRejectPrivate default طور پر enabled ہوتا ہے اور ایگزٹ کو private address ranges اور relay کے اپنے addresses سے connect ہونے سے روکتا ہے۔ اسی وجہ سے آپ کا ایگزٹ provider کے internal network کی طرف point نہیں کیا جا سکتا۔ Port 25 (SMTP، simple mail transfer protocol) reject ہوتا ہے اور اسے reject ہی رہنا چاہیے، کیونکہ اسے allow کرنے سے relay spam source بن جاتا ہے اور یہ address چند دن میں blocklist ہو جاتا ہے۔
کسی بھی عملی ایگزٹ کے لیے ports 80 اور 443 allow کرنا ضروری ہے۔ Tor کی ایگزٹ relay documentation میں یہ minimum requirement براہِ راست بیان کی گئی ہے۔ اگر آپ کا provider reduced policy سے بھی زیادہ محدود policy چاہتا ہے تو صرف web کے لیے ایگزٹ پھر بھی ایک حقیقی contribution ہے:
ExitPolicy accept *:80
ExitPolicy accept *:443
ExitPolicy reject *:*فہرست کے آخر میں reject *:* شامل کریں تاکہ آپ کی policy خود مکمل ہو اور اس کے بعد کوئی مزید rule inherit نہ ہو۔ Reduced policy port 22 (SSH) کو allow کرتی ہے، جو عموماً brute-force reports کا سبب بنتا ہے۔ اگر آپ اس قسم کی mail وصول نہیں کرنا چاہتے تو باقی rules سے پہلے ExitPolicy reject *:22 شامل کریں۔ 6881-6999 range کے file-sharing ports عموماً copyright notices کا سبب بنتے ہیں، اور reduced policy انہیں پہلے ہی خارج کرتی ہے۔
Policy میں تبدیلی clients تک اسی وقت پہنچتی ہے جب آپ کا relay نیا descriptor publish کرے اور directory اسے propagate کرے۔ اس لیے اثر کا جائزہ لینے سے پہلے چند گھنٹے انتظار کریں۔
رابطہ معلومات، family keys، اور relay کی رجسٹریشن
Exit کو register کرنے کا مطلب اسے ایسے نام سے منسلک کرنا ہے جس کی تصدیق کوئی اجنبی کر سکے۔ یہ کام دو طریقوں سے ہوتا ہے، اور دونوں ایک ساتھ کام کرتے ہیں۔
پہلا طریقہ ایک معروف file ہے۔ اپنے زیرِ انتظام domain پر اپنی family identity publish کریں، پھر ContactInfo میں اس proof کا نام درج کریں:
ContactInfo email:tor[]example.org url:https://example.org proof:uri-familyid-ed25519 ciissversion:3یہ file https://example.org/.well-known/tor-relay/ed25519-family-id.txt پر موجود ہوتی ہے اور اس میں آپ کی family ID شامل ہوتی ہے۔ اب ہر شخص تصدیق کر سکتا ہے کہ جو شخص ان relays کی ملکیت کا دعویٰ کر رہا ہے، وہ اس domain کو بھی control کرتا ہے۔ یہی contact address اور verified contact address کے درمیان فرق ہے۔
دوسرا طریقہ خود family ہے۔ اگر آپ ایک سے زیادہ relay چلاتے ہیں تو network کو معلوم ہونا چاہیے کہ ان کا operator ایک ہی ہے، تاکہ client آپ کی دو machines کے ذریعے circuit نہ بنائے۔ موجودہ tor یہ کام family key کے ذریعے کرتا ہے۔ اسے Happy Families کہا جاتا ہے، اور یہ 0.4.9.2-alpha یا بعد کے version چلانے والے relays پر دستیاب ہے:
tor --keygen-family exampleFamilyیہ exampleFamily.secret_family_key لکھتا ہے اور FamilyId line دکھاتا ہے۔ secret key file کو ہر relay کی key directory میں copy کریں (Debian اور Ubuntu پر /var/lib/tor/keys)، filename کے آخر میں .secret_family_key برقرار رکھیں، دکھائی گئی FamilyId line کو ہر torrc میں شامل کریں، اور tor کو reload کریں۔ Tor کی documentation واضح طور پر کہتی ہے کہ آپ کو پھر بھی MyFamily option set کرنا ہوگا، جس میں ہر relay کا fingerprint درج ہو، جب تک project یہ اعلان نہ کرے کہ اب اس option کی ضرورت نہیں رہی۔ اس لیے دونوں configure کریں۔ ہر relay کا fingerprint /var/lib/tor/fingerprint میں موجود ہوتا ہے۔
دوسری اور تیسری machine کے مرحلے پر operations کی اہمیت سامنے آنا شروع ہوتی ہے، اور ایک وقت میں متعدد Linux servers کا انتظام یہاں بھی وہی مسئلہ ہے جو دوسری جگہوں پر ہوتا ہے۔ /var/lib/tor/keys کا backup server سے باہر کسی محفوظ جگہ پر رکھیں۔ اگر یہ ضائع ہو جائے تو relay دوبارہ ایک اجنبی relay بن جائے گا، اور اسے تمام flags اور اپنی پوری reputation دوبارہ zero سے حاصل کرنی ہوگی۔
tor-relays mailing list کو بھی subscribe کریں۔ Operators کو متاثر کرنے والی تبدیلیوں کا اعلان سب سے پہلے وہیں کیا جاتا ہے۔
ریورس DNS اور port 80 پر exit notice
relay کے کسی بھی traffic کو منتقل کرنے سے پہلے reverse DNS record مقرر کریں۔ Tor کی exit guidelines کے مطابق نام سے یہ ظاہر ہونا چاہیے کہ یہ box کیا ہے، مثلاً tor-exit-01.example.org۔ اس کی وجہ عملی ہے۔ جب کسی کے logs میں کوئی نامانوس address نظر آتا ہے تو admin سب سے پہلے reverse lookup چلاتا ہے۔ "tor-exit" پر مشتمل نام کسی کے آپ کو لکھنے سے پہلے ہی اس سوال کا جواب دے دیتا ہے، اور ممکنہ شکایات کا ایک حصہ شکایت نہ کرنے میں بدل جاتا ہے۔ provider سے PTR (pointer) record مقرر کرنے کو کہیں، اور اپنی جانب matching forward record شامل کریں۔
اس کے بعد port 80 پر ایک notice page فراہم کریں جو یہی بات واضح الفاظ میں بیان کرے۔ پرانی guides یہ کام tor کی DirPortFrontPage setting سے کرتی ہیں، جو ایک DirPort پر منحصر ہے۔ tor 0.4.6.5 کے بعد relays کے لیے DirPort deprecated ہے، اس لیے اس کے بجائے ایک چھوٹا web server استعمال کریں۔
sudo apt install -y nginx
sudo install -d -m 755 /srv/tor-exit-notice/srv/tor-exit-notice/index.html لکھیں:
<!DOCTYPE html>
<html>
<head><title>This is a Tor exit relay</title></head>
<body>
<h1>This is a Tor exit relay</h1>
<p>Traffic from this address was sent by a user of the Tor network. It did not
come from the operator of this machine, and this machine keeps no record of
who sent it.</p>
<p>Operator: Example Org. Abuse reports: abuse@example.org. Every report gets a
reply from a person.</p>
<p>To check whether this address was a Tor exit at a given date and time:
https://metrics.torproject.org/exonerator.html</p>
</body>
</html>یہ server block /etc/nginx/sites-available/tor-exit-notice میں لکھیں:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /srv/tor-exit-notice;
index index.html;
access_log off;
}اسے enable کریں، nginx کی default site ہٹائیں، اور نتیجہ چیک کریں:
sudo ln -sf /etc/nginx/sites-available/tor-exit-notice /etc/nginx/sites-enabled/tor-exit-notice
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx
curl -s http://127.0.0.1/ | head -n 5nginx -t کی طرف سے syntax is ok اور test is successful رپورٹ ہونے کا مطلب ہے کہ file درست طور پر parse ہو گئی ہے۔ curl کو آپ کے notice کی ابتدائی سطریں دکھانی چاہییں۔ اگر اس کے بجائے nginx کا welcome page دکھائی دے تو default site اب بھی enabled ہے اور آپ کا block استعمال نہیں ہو رہا۔
اسے شروع کریں اور log میں درج پیغام پڑھیں
sudo systemctl restart tor@default
sudo journalctl -u tor@default -n 50 --no-pagerچند منٹ کے اندر log میں وہ سطر ظاہر ہونی چاہیے جس کا مطلب ہے کہ دوسرے relays آپ تک پہنچ سکتے ہیں:
Self-testing indicates your ORPort is reachable from the outside. Excellent.اگر یہ سطر کبھی ظاہر نہ ہو تو ORPort تک رسائی ممکن نہیں ہے۔ sudo ss -lntp | grep 443 کے ذریعے تصدیق کریں کہ tor سن رہا ہے، پھر کسی دوسری مشین سے nc -vz your.address.here 443 کے ذریعے port کی جانچ کریں۔ VPS کے سامنے firewall، خواہ وہ آپ کا ہو یا provider کے control panel میں موجود ہو، اس کی عام وجہ ہوتا ہے۔
systemctl is-enabled tor کے ذریعے تصدیق کریں کہ reboot کے بعد service دوبارہ شروع ہو جاتی ہے۔ اس کمانڈ کو enabled دکھانا چاہیے۔
Relay شروع ہونے کے تقریباً تین گھنٹے بعد Relay Search پر آپ کے منتخب کردہ nickname کے تحت ظاہر ہو جاتا ہے۔ اس کے بعد کئی دنوں میں traffic بڑھتا ہے، کیونکہ network کے bandwidth measurement کو clients کی جانب سے relay کو زیادہ weight دینے سے پہلے اس کا مشاہدہ کرنا ہوتا ہے۔ پہلے دن تقریباً کوئی traffic نہ اٹھانے والا نیا exit معمول کی بات ہے۔
بدسلوکی سے نمٹنے کا طریقۂ کار، اور موصول ہونے والی ای میل کی شکل
پہلی شکایت آنے سے پہلے طریقۂ کار تحریر کریں، کیونکہ پہلی شکایت عموماً پہلے ہفتے میں آ جاتی ہے۔ ان میں سے زیادہ تر ای میلز خودکار طور پر تیار ہوتی ہیں۔ Tor کی exit guidelines کے مطابق کل شکایات میں خودکار رپورٹس کا حصہ تقریباً 80% ہوتا ہے، اور ایک معیاری جواب باقی شکایات میں سے زیادہ تر کو نمٹا دیتا ہے۔
عملاً آپ کو یہ موصول ہوتا ہے: کسی کے intrusion detection system سے تیار کردہ scanning یا brute-force رپورٹ، جس میں آپ کا address اور timestamp درج ہوتا ہے۔ اگر آپ کی policy file-sharing ports کی اجازت دیتی ہو تو copyright notice بھی آ سکتا ہے۔ کسی site owner کی طرف سے forum یا comment spam کی شکایت بھی موصول ہو سکتی ہے۔ کبھی کبھار law enforcement کی طرف سے preservation request یا subpoena بھی آ سکتا ہے۔ یہ مختلف نوعیت کا معاملہ ہے، اور اسی مرحلے پر template استعمال کرنے کے بجائے lawyer سے بات کرنی چاہیے۔
جواب مختصر ہوتا ہے، اور تقریباً ہر بار ایک جیسا رہتا ہے:
Hello,
Thank you for the report. The address 203.0.113.10 is a Tor exit relay,
operated by <your name> at <your organisation>. The connection you saw was
made by a user of the Tor network. It did not originate on this machine.
This relay keeps no record of which user made which connection, so I cannot
identify the sender and there are no logs for me to hand over.
You can confirm that this address was a Tor exit at the date and time in
question here: https://metrics.torproject.org/exonerator.html
If you would prefer to stop Tor traffic reaching your service, the current
list of exit addresses is published here:
https://check.torproject.org/torbulkexitlist
I read this mailbox personally and will answer any follow-up.
<your name>چار عادتیں اس طریقۂ کار کو مؤثر بناتی ہیں۔ ایک working day کے اندر جواب دیں، ContactInfo میں درج address سے بھیجیں، اور اپنے نام سے دستخط کریں۔ کبھی یہ پیشکش نہ کریں کہ آپ کسی user کی شناخت بتا سکتے ہیں، کیونکہ آپ ایسا نہیں کر سکتے۔ اگر operator اس کے برعکس تاثر دے تو بعد میں اسے اپنا وعدہ توڑنا پڑے گا۔ ہر جواب کو ایک ہی folder میں رکھیں، تاکہ اسی incident کے بارے میں دوسری ای میل آنے پر وہی جواب دیا جا سکے۔ اگر provider suspension warning کے ساتھ شکایت forward کرے تو پہلے provider کو جواب دیں اور اس کے بعد reporter کو۔
ان جوابات میں زیادہ تر اہمیت دو links کی ہوتی ہے۔ ExoneraTor اس سوال کا جواب دیتا ہے جو investigator دراصل پوچھتا ہے: کیا اس وقت یہ address Tor exit تھا؟ bulk exit list موجودہ exit addresses کی سادہ فہرست ہے، جس میں ہر address الگ line پر ہے۔ یہ ان لوگوں کے لیے ہے جنہوں نے Tor کو block کرنے کا فیصلہ کیا ہے اور اندازے کے بجائے درست طریقے سے block کرنا چاہتے ہیں۔
Bandwidth، لاگت، اور دوسرا relay
Exits حقیقی network traffic منتقل کرتے ہیں۔ آرڈر دینے سے پہلے ماہانہ حد مقرر کریں، اور معلوم کریں کہ allowance استعمال ہونے کے بعد provider billing کیسے کرتا ہے، کیونکہ VPS کی حقیقی لاگت کیا ہوتی ہے زیادہ تر sticker price کے بجائے transfer allowance کا معاملہ ہے۔ Tor آپ کی مقررہ حد نافذ کر سکتا ہے:
AccountingMax 4 TBytes
AccountingStart month 1 00:00
RelayBandwidthRate 20 MBytes
RelayBandwidthBurst 25 MBytesAccountingMax accounting period میں اتنا volume منتقل ہونے کے بعد tor کو hibernate کرتا ہے، پھر اگلے period کے آغاز پر دوبارہ فعال کرتا ہے۔ اس number پر بھروسا کرنے سے پہلے پہلے ماہ کے نتائج کا provider کے اپنے counter سے موازنہ کریں، کیونکہ دونوں ہمیشہ ایک جیسے bytes شمار نہیں کرتے۔ RelayBandwidthRate sustained rate کی حد مقرر کرتا ہے۔ اس سے uplink قابل استعمال رہتا ہے اور provider کو بھی مسئلہ نہیں ہوتا۔
جب آپ دوسرا exit شامل کریں تو اسے پہلے exit کے rack کے بجائے مختلف network پر رکھیں۔ Diversity اس کردار کا بڑا حصہ ہے جو exit ادا کرتا ہے، اور ایک ہی جگہ موجود دو machines بیک وقت fail ہو سکتی ہیں۔ دونوں کو ایک ہی family میں شامل کریں، دونوں کے لیے وہی verified contact شائع کریں، اور دونوں سے آنے والی mail کا جواب دیں۔ جس exit تک کوئی نہیں پہنچ سکتا، اسے ایک anonymous problem سمجھا جاتا ہے۔ جس exit کا operator اسی دن جواب دے، اسے ایسے server کے طور پر دیکھا جاتا ہے جس کے پیچھے ایک حقیقی شخص موجود ہے، اور حقیقت بھی یہی ہے۔
FAQ
کیا میں اپنے پہلے سے موجود VPS پر Tor exit node چلا سکتا ہوں؟
نہیں، اور یہاں سختی ضروری ہے۔ exit node کے لیے ایک dedicated address درکار ہوتا ہے جس پر کوئی اور سروس نہ چل رہی ہو۔ provider کو پہلے سے exit traffic منتقل کرنے پر رضامند ہونا چاہیے اور abuse mail بغیر ترمیم کے آپ تک پہنچانی چاہیے۔ عام مقصد کے VPS پر، ہمارے VPS سمیت، یہ address پہلے ہی کسی دوسرے کام کے لیے استعمال ہو رہا ہوتا ہے اور ایسے صارفین کے ساتھ مشترک network neighbourhood میں ہوتا ہے جو عام سروسز چلا رہے ہیں۔ اپنے موجودہ machine پر non-exit relay یا obfs4 bridge چلائیں۔ یہ واقعی مفید ہوتے ہیں، ان کے خلاف تقریباً کوئی شکایات نہیں آتیں، اور ان کے لیے آپ کے پہلے سے ادا کیے گئے server کے علاوہ کچھ درکار نہیں ہوتا۔
Tor exit relay کو کتنی abuse mail موصول ہوتی ہے، اور یہ کس کو ملتی ہے؟
اس کا انحصار آپ کی exit policy پر ہے۔ ReducedExitPolicy 1 میں port 25 مسترد ہو اور file-sharing ports خارج ہوں تو موصول ہونے والی زیادہ تر mail automated scanning اور brute-force reports پر مشتمل ہوتی ہے۔ Tor کی exit guidelines کے مطابق automated reports کل تعداد کا تقریباً 80% ہوتی ہیں۔ mail اس شخص کو بھیجی جاتی ہے جسے provider کا abuse desk اسے forward کرتا ہے۔ اسی لیے ordering سے پہلے پوچھیں کہ کیا وہ reporter کا address برقرار رکھتے ہوئے mail آپ کو forward کرتے ہیں۔ یہی address ContactInfo اور port 80 کے notice page پر بھی publish کریں، اور ایک working day کے اندر جواب دیں۔
کیا مجھے اپنا اصل نام اور email address publish کرنا ضروری ہے؟
ہاں۔ ContactInfo public relay directory میں publish ہوتا ہے اور کوئی بھی اسے download کر سکتا ہے۔ reverse DNS name machine کی نوعیت ظاہر کرتا ہے، اور port 80 کا notice page بھی اسے دہراتا ہے۔ یہ transparency design کا حصہ ہے، ضمنی اثر نہیں۔ ایسا exit جس کا working contact نہ ہو، anonymous nuisance سمجھا جاتا ہے، اور کچھ clients ان exits کو خارج کر دیتے ہیں جو کوئی contact publish نہیں کرتے۔ اپنے زیرِ کنٹرول domain پر proof:uri-familyid-ed25519 اور /.well-known/tor-relay/ed25519-family-id.txt file شامل کریں، تاکہ contact صرف بیان کردہ نہیں بلکہ قابلِ تصدیق ہو۔
میرے نئے exit relay پر تقریباً کوئی traffic کیوں نہیں آ رہا؟
پہلے تصدیق کریں کہ journalctl -u tor@default میں Self-testing indicates your ORPort is reachable from the outside. Excellent. موجود ہے، کیونکہ جو relay اپنا reachability test کامیابی سے مکمل نہیں کرتا اسے کبھی publish نہیں کیا جاتا اور اس پر بالکل traffic نہیں آتا۔ اگر یہ line موجود ہے تو عموماً وجہ وقت ہوتا ہے۔ startup کے تقریباً تین گھنٹے بعد relay، Relay Search میں ظاہر ہوتا ہے، اور clients اسے بامعنی traffic صرف اس وقت بھیجتے ہیں جب network کی bandwidth measurement اسے observe کر لے۔ اس میں کئی دن لگتے ہیں۔ اس کے علاوہ port 80 اور 443 کی اجازت دینے والی policy بھی ضروری ہے، تب ہی آپ کے relay کو exit کے طور پر تسلیم کیا جاتا ہے۔