SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-24

Linux VPS पर Tor relay कैसे सेटअप करें

Linux VPS पर Tor guard या middle relay सेटअप करने का पूरा तरीका जानें। इसमें torrc कॉन्फ़िगरेशन, बैंडविड्थ अकाउंटिंग, Nyx मॉनिटरिंग और consensus ramp की पूरी जानकारी दी गई है।

VPS पर Tor relay क्या करता है

Tor relay एक सार्वजनिक IP address वाली मशीन पर चलने वाला Tor daemon है, जो अन्य लोगों के लिए encrypted traffic को आगे बढ़ाता है। Directory authorities इसे प्रकाशित करती हैं और Tor clients इसके माध्यम से circuits बनाते हैं। एक guard या middle relay केवल किसी अन्य relay को ही traffic सौंपता है, इसलिए यह कभी भी किसी अनजान व्यक्ति की ओर से किसी वेबसाइट से connection नहीं खोलता है। यही एकमात्र कारण है कि इस पर abuse mail नहीं आते हैं, और यही कारण है कि यह एक सामान्य VPS के लिए सबसे उपयुक्त योगदान है। एक relay केवल दूसरों का traffic ले जाता है और अपना कुछ भी प्रकाशित नहीं करता है। इसलिए, यदि आप नेटवर्क पर अपनी खुद की साइट डालना चाहते हैं, न कि केवल उसके लिए packets को आगे बढ़ाना चाहते हैं, तो nginx के पीछे v3 onion service चलाना उसी tor daemon के लिए एक अलग कार्य है। एक relay चलाने से आपकी अपनी browsing की गोपनीयता पर भी कोई प्रभाव नहीं पड़ता है, जो कि एक अलग समस्या है और जिसकी सीमा अधिकांश लोगों की अपेक्षा से कम है: SearXNG को self-host करना वास्तव में क्या छिपाता है यह इस बात का सटीक पैमाना है कि किसी service को अपने VPS पर ले जाने से आपको कितनी सुरक्षा मिलती है।

यह काम बहुत छोटा है: एक package, config की पंद्रह lines, एक firewall rule, और एक restart। इस guide का बाकी हिस्सा वह भाग है जहाँ चीजें गलत हो सकती हैं। Metered plan पर bandwidth का हिसाब-किताब, और वह कारण जिसकी वजह से एक पूरी तरह से स्वस्थ नया relay एक सप्ताह तक मृत दिखाई देता है।

Guard, middle, bridge या exit: install करने से पहले चुनें

एक daemon चारों भूमिकाएँ निभा सकता है। आपकी config और directory authorities यह तय करते हैं कि आप कौन सी भूमिका निभाएंगे।

  • Middle relay: यह guard से traffic प्राप्त करता है और उसे दूसरे relay को भेज देता है। यह कभी भी destination site से संपर्क नहीं करता। हर नया relay यहीं से शुरू होता है।
  • Guard relay: यह वही configuration है, बस ऊपर एक flag लगा होता है। Directory authorities उन relays को Guard flag देती हैं जो काफी समय से fast और stable रहे हों। आप इसे चुनते नहीं हैं। आप इसे अर्जित करते हैं, और नीचे दी गई config ही इसे अर्जित करने में मदद करती है।
  • Bridge: यह एक ऐसा relay है जिसे जानबूझकर public directory से बाहर रखा जाता है और उन जगहों पर users को निजी तौर पर दिया जाता है जहाँ Tor block है। चारों में से यह सबसे छोटी जिम्मेदारी है: कम bandwidth, कोई public listing नहीं, और यदि आपकी योजना छोटी है तो यह पहला सही कदम है। इसके लिए daemon के साथ-साथ एक obfs4 proxy का चलना और torrc की अलग lines की आवश्यकता होती है, जिसे एक सस्ते VPS पर obfs4 bridge set up करना में विस्तार से समझाया गया है, जिसमें यह भी शामिल है कि अंत में users को bridge line कैसे दी जाती है।
  • Exit relay: यह अंतिम hop है, जो destination site के लिए connection खोलता है। user द्वारा किया गया हर request आपके IP address से निकलता है, इसलिए abuse reports और police inquiries उस व्यक्ति के पास आती हैं जिसके पास वह address है।

Exit वह भूमिका है जो general-purpose VPS के लिए उपयुक्त नहीं है। Exit केवल उसी provider पर चलाएं जिसने पहले से ही उस mail को प्राप्त करने के लिए सहमति दी हो, जिसका अपना IP address हो और जिसका abuse contact प्रकाशित हो। अधिकांश standard hosting terms इसे मना करती हैं, और इसे अनदेखा करने का सामान्य परिणाम server का suspend होना और IP address का खो जाना है। यदि आप फिर भी यही काम करना चाहते हैं, तो exit relay चलाने में वास्तव में क्या शामिल है में exit-friendly host ढूँढने, exit policy और reverse DNS लिखने, और mail आने पर उसका जवाब देने के बारे में बताया गया है। एक guard या middle relay उसी user traffic को बिना किसी जोखिम के ले जाता है।

नीचे दी गई हर चीज़ एक guard/middle relay बनाती है। ExitRelay 0 वह line है जो इसे इसी भूमिका में रखती है।

शुरू करने से पहले VPS की आवश्यकताएं

Tor Project relays के लिए सख्त आवश्यकताएं प्रकाशित करता है। अगस्त 2026 तक ये आवश्यकताएं इस प्रकार हैं: relay के लिए एक public IPv4 address, प्रत्येक दिशा में कम से कम 10 Mbit/s bandwidth (16 Mbit/s की अनुशंसा की जाती है), प्रति माह कम से कम 100 GB outbound traffic, और 40 Mbit/s से कम गति के लिए 512 MB RAM या उससे अधिक के लिए 1 GB RAM। uptime का कोई निश्चित नियम नहीं है, लेकिन जो relay दिन में दो घंटे से कम चलता है, वह नेटवर्क के लिए बहुत कम उपयोगी होता है।

10 Mbit/s का आंकड़ा लाइन की क्षमता को दर्शाता है, न कि सेटिंग को। आपको एक ऐसे port की आवश्यकता है जो यह गति प्रदान कर सके। आप relay को उस लाइन का कितना उपयोग करने देते हैं, यह एक अलग निर्णय है, जो मासिक transfer allowance के आधार पर लिया जाता है। कॉन्फ़िगरेशन को छूने से पहले अपनी योजना को पढ़ें। यदि आप अभी भी एक सर्वर चुन रहे हैं, तो VPS की वास्तविक मासिक लागत में यह बताया गया है कि transfer allowance कैसे बेचे जाते हैं, और VPS की वास्तविक नेटवर्क थ्रूपुट को मापना यह दिखाता है कि sales page पर भरोसा करने के बजाय iperf3 के साथ लाइन की वास्तविक क्षमता का पता कैसे लगाया जाए।

सबसे पहले मशीन को सुरक्षित (harden) करें। एक relay एक public address पर चलने वाली सार्वजनिक सेवा है, और प्रकाशित होने के कुछ ही मिनटों के भीतर उस address को स्कैन किया जाने लगता है। SSH को keys और एक सुरक्षित sshd कॉन्फ़िगरेशन तक सीमित करना में दस मिनट लगते हैं और इसे relay के लाइव होने से पहले किया जाना चाहिए, बाद में नहीं।

Tor Project repository से Tor इंस्टॉल करना

Distribution package के बजाय Tor Project के अपने apt repository का उपयोग करें। Relay code, stable release की तुलना में अधिक तेज़ी से अपडेट होता है, इसलिए सुधार सबसे पहले इसी repository में पहुँचते हैं, जबकि distribution package के वर्ज़न पीछे रह जाते हैं।

sudo apt update
sudo apt install -y apt-transport-https gnupg wget

Signing key जोड़ें, और फिर repository जोड़ें। Codename को मशीन से पढ़ा जाता है, इसलिए यही ब्लॉक Ubuntu 24.04 (noble) और Debian 13 (trixie) दोनों पर काम करता है।

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc \
  | gpg --dearmor \
  | sudo tee /usr/share/keyrings/deb.torproject.org-keyring.gpg >/dev/null

CODENAME=$(. /etc/os-release && echo "$VERSION_CODENAME")
echo "$CODENAME"

sudo tee /etc/apt/sources.list.d/tor.sources >/dev/null <<EOF
Types: deb deb-src
URIs: https://deb.torproject.org/torproject.org/
Suites: $CODENAME
Components: main
Signed-By: /usr/share/keyrings/deb.torproject.org-keyring.gpg
EOF

sudo apt update
sudo apt install -y tor deb.torproject.org-keyring
tor --version

tor --version आपके द्वारा अभी इंस्टॉल किए गए वर्ज़न को प्रिंट करता है। यदि apt update ने इसके बजाय NO_PUBKEY त्रुटि प्रिंट की है, तो इसका मतलब है कि dearmored key, Signed-By: लाइन में दिए गए पथ पर मौजूद नहीं है, इसलिए apt के पास release file की जाँच करने के लिए कोई key नहीं है। deb.torproject.org-keyring पैकेज बाद के लिए महत्वपूर्ण है: यह signing key को एक सामान्य पैकेज के रूप में प्रदान करता है, ताकि key रोटेट होने पर भी apt काम करता रहे।

Automatic upgrades को चालू करें, और फिर उन्हें नए origin के बारे में सूचित करें।

sudo apt install -y unattended-upgrades apt-listchanges

Ubuntu पर, Tor origin को /etc/apt/apt.conf.d/50unattended-upgrades में Allowed-Origins ब्लॉक में जोड़ें:

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}-security";
        "TorProject:${distro_codename}";
};

Debian पर वही फ़ाइल Origins-Pattern का उपयोग करती है, जहाँ जोड़ी जाने वाली लाइन "origin=TorProject"; है। परिणाम की जाँच sudo unattended-upgrade --debug --dry-run के साथ करें, जो उन origins को प्रिंट करता है जिन पर यह काम करेगा और कुछ भी नहीं लिखता है।

वह torrc जो मायने रखता है

यह पैकेज एक लंबी, विस्तृत टिप्पणियों वाली /etc/tor/torrc इंस्टॉल करता है। एक relay के लिए केवल कुछ ही पंक्तियाँ महत्वपूर्ण हैं। उन्हें फ़ाइल के अंत में जोड़ें।

Nickname mynicerelay
ContactInfo relay-ops[at]example.com
ORPort 9001
ExitRelay 0
SocksPort 0

Nickname 1 से 19 वर्णों का होता है, जिसमें केवल अक्षर और अंक हो सकते हैं। यह पूरे नेटवर्क में अद्वितीय नहीं होता और यह आपकी पहचान नहीं है; पहचान fingerprint से होती है। सर्च बॉक्स में अपने relay को खोजने का यही तरीका है, इसलिए ऐसा नाम चुनें जिसे आप फ़ोन पर आसानी से बता सकें।

ContactInfo को relay descriptor के भीतर प्रकाशित किया जाता है, जो एक सार्वजनिक दस्तावेज़ है जिसे कोई भी डाउनलोड कर सकता है, इसलिए यह पता स्क्रैप (scrape) कर लिया जाएगा। ऐसा ईमेल पता उपयोग करें जिसे आप दो साल बाद भी पढ़ सकें, और यदि आप चाहें तो इसे obfuscate कर सकते हैं। Tor Project के पास आपके relay के साथ किसी समस्या के बारे में आपको सूचित करने का यही एकमात्र माध्यम है।

ORPort 9001 वह पोर्ट है जिससे अन्य relays और clients कनेक्ट होते हैं। 9001 पारंपरिक है। पोर्ट 443 दूसरा सामान्य विकल्प है, क्योंकि कुछ प्रतिबंधित नेटवर्क केवल आउटबाउंड 443 की अनुमति देते हैं, इसलिए वहाँ listening करने वाला relay अधिक clients के लिए सुलभ होता है। 443 तभी चुनें यदि बॉक्स पर किसी अन्य चीज़ को इसकी आवश्यकता न हो।

SocksPort 0 स्थानीय SOCKS proxy को बंद कर देता है, जिसका उपयोग relay नहीं करता है, और मशीन से एक listening socket को हटा देता है। ExitRelay 0 इस इरादे को फ़ाइल में लिखता है: यह relay कभी भी उपयोगकर्ता की ओर से किसी गंतव्य से कनेक्ट नहीं होगा, और बाद में कॉन्फ़िगरेशन पढ़ने वाले किसी भी व्यक्ति को डिफ़ॉल्ट सेटिंग्स से इसका अनुमान लगाने की आवश्यकता नहीं होगी।

यदि VPS में IPv6 पता है, तो दूसरी ORPort पंक्ति जोड़ें। Tor IPv4 की तरह किसी भी IPv6 पते पर bind नहीं हो सकता, इसलिए पते को वर्गाकार कोष्ठक (square brackets) में लिखें।

ORPort 9001
ORPort [2001:db8::1]:9001

1 GB के VPS पर, MaxMemInQueues 512 MB जोड़ें। Tor मशीन पर उपलब्ध मेमोरी के आधार पर अपनी queue सीमा तय करता है, जो एक छोटे shared बॉक्स पर आपकी आवश्यकता से अधिक हो सकती है। सीमा को स्वयं सेट करने से दबाव पड़ने पर tor queued cells को हटा देता है, जिससे relay सुरक्षित रहता है, बजाय इसके कि वह तब तक बढ़ता रहे जब तक kernel प्रक्रिया को समाप्त (kill) न कर दे।

Firewall में ORPort खोलें

Inbound, ORPort को इंटरनेट पर कहीं से भी पहुँचा जा सकने योग्य होना चाहिए। Outbound, relay को unrestricted छोड़ दें: यह हजारों अन्य relays के साथ कई अलग-अलग ports पर connections खोलता है, और एक outbound allowlist इसे चुपचाप अक्षम कर देगी।

sudo ufw allow 9001/tcp comment 'tor ORPort'
sudo ufw status verbose

इसके बाद provider के स्वयं के network firewall की जाँच करें। कई control panels virtual machine के सामने एक packet filter चलाते हैं, और ufw के साथ आपके द्वारा जोड़ा गया rule वहाँ काम नहीं करता है, इसलिए port box पर open दिखता है लेकिन बाहर से closed रहता है। यदि आप ufw के लिए नए हैं, तो हर VPS पर आवश्यक ufw rules default policy और उन नियमों के क्रम के बारे में बताता है जिनमें वे match किए जाते हैं।

अपने प्लान के अनुसार बैंडविड्थ निर्धारित करें

मैनुअल RelayBandwidthRate को एक अलग टोकन बकेट के रूप में वर्णित करता है। यह इस नोड पर रिले किए गए ट्रैफ़िक के लिए "औसत इनकमिंग बैंडविड्थ उपयोग को निर्दिष्ट बाइट्स प्रति सेकंड तक, और औसत आउटगोइंग बैंडविड्थ उपयोग को उसी मान तक" सीमित करता है। इसे दो बार पढ़ें। यह सीमा प्रत्येक दिशा पर अलग-अलग लागू होती है। 1 Mbit/s पर सेट किया गया रिले एक ही समय में 1 Mbit/s इन और 1 Mbit/s आउट ट्रैफ़िक ले जा सकता है, और जो प्रदाता दोनों दिशाओं को मापता है, वह इनका योग बिल करता है।

ChartMonthly traffic at a sustained relay rate, both directions, 30 days
The data behind this chart
[
  {
    "label": "1 Mbit/s",
    "torrc_rate": "125 KBytes",
    "gb_per_day": 21.6,
    "gb_per_month": "648"
  },
  {
    "label": "2 Mbit/s",
    "torrc_rate": "250 KBytes",
    "gb_per_day": 43.2,
    "gb_per_month": "1,296"
  },
  {
    "label": "5 Mbit/s",
    "torrc_rate": "625 KBytes",
    "gb_per_day": 108,
    "gb_per_month": "3,240"
  },
  {
    "label": "10 Mbit/s",
    "torrc_rate": "1250 KBytes",
    "gb_per_day": 216,
    "gb_per_month": "6,480"
  },
  {
    "label": "20 Mbit/s",
    "torrc_rate": "2500 KBytes",
    "gb_per_day": 432,
    "gb_per_month": "12,960"
  }
]

ये 5 पंक्तियाँ अंकगणितीय हैं, मापन नहीं: ये दिखाती हैं कि यदि रिले इसे दोनों दिशाओं में पूरे 30 दिनों तक बनाए रखता है, तो एक दर की लागत क्या होगी। एक वास्तविक रिले अधिकांश समय अपनी सीमा से नीचे रहता है, विशेषकर पहले कुछ हफ्तों में। तालिका का उपयोग उन सेटिंग्स को बाहर करने के लिए करें जो फिट नहीं हो सकतीं, न कि गीगाबाइट तक के बिल का अनुमान लगाने के लिए।

प्रत्येक दिशा में 1 Mbit/s पर, एक रिले प्रतिदिन लगभग 21.6 GB ट्रैफ़िक ले जाता है, इसलिए 30 दिनों के महीने में लगभग 648 GB मापा गया ट्रैफ़िक खर्च होता है। यह 1 TB की अनुमति के भीतर फिट बैठता है और अपडेट व बैकअप के लिए जगह भी बचती है। 2 Mbit/s पर जाने पर महीने का खर्च 1,296 GB होता है, जो पहले से ही 1 TB के प्लान से अधिक है। अंतिम पंक्ति, 20 Mbit/s, को प्रति माह 12,960 GB की आवश्यकता होती है और यह एक अनमीटर्ड पोर्ट के लिए उपयुक्त है। यदि आपका प्रदाता केवल आउटबाउंड ट्रैफ़िक का बिल लेता है, तो प्रत्येक आंकड़े को आधा कर दें। दर निर्धारित करने से पहले पता लगाएँ कि आपके पास कौन सा विकल्प है, क्योंकि दोनों उत्तरों में दो गुना का अंतर होता है।

अब कॉन्फ़िगरेशन देखें। पहले रेट लिमिट, फिर कोटा।

RelayBandwidthRate 125 KBytes
RelayBandwidthBurst 250 KBytes
AccountingMax 400 GBytes
AccountingRule sum
AccountingStart month 1 00:00

RelayBandwidthBurst टोकन बकेट का आकार है, इसलिए यह औसत दर बनाए रखते हुए दर से ऊपर छोटे स्पाइक्स की अनुमति देता है। दर का लगभग दोगुना एक उचित मान है।

AccountingRule वह लाइन है जिसे अधिकांश ऑपरेटर छोड़ देते हैं। डिफ़ॉल्ट max है, जो कोटा के मुकाबले दोनों दिशाओं में से बड़ी दिशा को मापता है। डिफ़ॉल्ट के साथ, AccountingMax 400 GBytes 400 GB इन और 400 GB आउट की अनुमति देता है, जो कि दोनों को गिनने वाले मीटर पर 800 GB है। AccountingRule sum एक कोटा के मुकाबले रीड और राइट दोनों को जोड़ता है, जो वास्तव में ट्रांसफर अलाउंस मापता है।

AccountingStart को भी लिखें, कभी भी केवल AccountingMax न लिखें। कोटा वह संख्या है, और स्टार्ट लाइन वह अवधि है जिस पर यह रीसेट होता है। बिना अवधि वाला कोटा रिले को हाइबरनेशन में छोड़ देता है और उसे वापस लाने का कोई तरीका नहीं रहता।

हाइबरनेशन एक कठोर उपाय है। जब कोटा समाप्त हो जाता है, तो tor इसे लॉग करता है और काम लेना बंद कर देता है:

Bandwidth soft limit reached; commencing hibernation. No new connections will be accepted

रिले अगली अवधि की सटीक शुरुआत में भी नहीं जागता है। Tor ट्रैक करता है कि उसने पिछला कोटा कितनी तेजी से खर्च किया और नए अंतराल के भीतर एक यादृच्छिक बिंदु चुनता है, ताकि हजारों रिले एक ही सेकंड में नेटवर्क पर वापस न आ जाएँ। जो रिले हर महीने के अंतिम सप्ताह के लिए गायब हो जाता है, वह उस स्थिरता को खो देता है जिसे डायरेक्टरी अथॉरिटीज मापती हैं। RelayBandwidthRate का आकार इस तरह रखें कि सीमा कभी न पहुँचे, और AccountingMax को उस सुरक्षा उपाय के रूप में रखें जो बिल को सुरक्षित रखता है।

Relay को start करें और पुष्टि करें कि यह reachable है

sudo systemctl restart tor@default
sudo systemctl status tor@default
sudo journalctl -u tor@default -n 50

कुछ ही मिनटों में log में यह line दिखाई देनी चाहिए:

Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.

इस वाक्य का अर्थ है कि अन्य relays ने आपके ORPort से connection बनाया है और इसके माध्यम से एक circuit तैयार किया है। जब तक यह line दिखाई नहीं देती, आपका relay directory में शामिल नहीं है और कोई traffic carry नहीं कर रहा है। विफलता (failure) इस प्रकार दिखाई देती है:

Your server has not managed to confirm reachability for its ORPort(s) at 203.0.113.10:9001. Relays do not publish descriptors until their ORPort and DirPort are reachable. Please check your firewalls, ports, address, /etc/hosts file, etc.

इसे क्रमवार तरीके से हल करें। जाँचें कि क्या ORPort ufw में open है। क्या यह provider के अलग network firewall में भी open है। क्या उस message में दिया गया address वही address है जिस पर internet वास्तव में आप तक पहुँचता है, न कि NAT setup का कोई private address। किसी अन्य machine से nc -vz 203.0.113.10 9001 का उपयोग करके port का परीक्षण करें। Tor अपने आप self-test दोहराता रहता है, इसलिए firewall ठीक करने पर यह बिना आपकी सहायता के उसे पहचान लेगा, और restart करने पर यह तुरंत प्रभावी हो जाता है।

आपके relay की स्थायी पहचान उसका fingerprint है:

sudo cat /var/lib/tor/fingerprint

Descriptor publish होने के लगभग तीन घंटे बाद, relay Relay Search पर दिखाई देने लगता है। nickname खोजें या fingerprint paste करें। वह page दिखाता है कि network आपके relay के बारे में क्या सोचता है: इसमें कौन से flags हैं, authorities इसे क्या weight देती हैं, और यह कौन सा version publish कर रहा है।

नया Tor relay लगभग कोई traffic क्यों नहीं ले जाता है?

ऐसा इसलिए है क्योंकि नेटवर्क ने अभी तक इसे मापा नहीं है, और मापन में हफ्तों का समय लगता है। Tor Project इस वृद्धि को चार चरणों में वर्णित करता है, और जो ऑपरेटर इसे नहीं पढ़ते, वे यह निष्कर्ष निकालते हैं कि relay खराब हो गया है और सेटिंग्स बदलना शुरू कर देते हैं।

पहले तीन दिनों तक relay unmeasured रहता है। यह अपने स्वयं के परीक्षण परिणाम की रिपोर्ट करता है, और directory authorities वैसे भी प्रकाशित भार (published weight) को 20 KB पर सीमित कर देती हैं, इसलिए clients इसे लगभग कभी नहीं चुनते हैं। लगभग तीसरे दिन से आठवें दिन तक, bandwidth authorities वास्तव में इसे मापती हैं और इसका भार बढ़ता है, लेकिन इसका उपयोग केवल middle hop के रूप में किया जाता है, क्योंकि कोई भी client किसी नए relay को अपना पहला hop बनाने के लिए तैयार नहीं होता है।

लगभग आठवें दिन, relay Guard flag के लिए पात्र हो जाता है। यह flag मिलने पर traffic कम हो जाता है, जो सभी को आश्चर्यचकित करता है: clients middle hops चुनते समय guards को छोड़ देते हैं, यह मानकर कि एक guard पहले से ही व्यस्त है, इसलिए relay को guard traffic मिलने से पहले middle traffic खोना पड़ता है। यह केवल तभी भरता है जब clients अपने guard sets को बदलते हैं, जिसमें हफ्तों का समय लगता है। लगभग 68 दिनों तक यह एक स्थिर स्थिति (steady state) में पहुँच जाता है, जहाँ इसे छोड़ने वाले clients और इसे जोड़ने वाले clients का संतुलन बन जाता है।

इसलिए, वास्तविक अपेक्षा यह है कि तीन दिनों तक कुछ नहीं होगा, एक हफ्ते बाद कुछ traffic आएगा, और दो महीने बाद वास्तविक लोड आएगा। एक सेटिंग बदलें, फिर यह देखने के लिए एक सप्ताह प्रतीक्षा करें कि उसका क्या प्रभाव पड़ा। पोर्ट 9001 पर TCP चेक के साथ एक self-hosted Uptime Kuma status page उस घबराहट भरी ऊर्जा का बेहतर उपयोग है: यह उस प्रश्न का उत्तर देता है जिसे आप वास्तव में नियंत्रित कर सकते हैं, जो यह है कि क्या पोर्ट अभी भी प्रतिक्रिया दे रहा है।

nyx के साथ relay को monitor करें

nyx एक चल रहे relay के लिए terminal monitor है। यह tor के control port से बात करता है, इसलिए सबसे पहले torrc में इसे enable करें:

ControlPort 9051
CookieAuthentication 1
CookieAuthFileGroupReadable 1

ControlPort केवल 127.0.0.1 पर listen करता है, और cookie authentication का मतलब है कि किसी program को command जारी करने से पहले एक secret file को पढ़ना होगा। Tor उस cookie को debian-tor user के रूप में /run/tor/control.authcookie पर लिखता है, जिसका mode 600 होता है, ताकि कोई अन्य इसे पढ़ न सके। CookieAuthFileGroupReadable 1 इसे group के लिए खोल देता है, जिससे आपका अपना account sudo के बिना nyx चला पाता है।

sudo apt install -y nyx
sudo adduser "$USER" debian-tor
sudo systemctl restart tor@default

Log out करके वापस login करें, और फिर nyx चलाएँ। नए group को login के समय ही pick किया जाना चाहिए, इसलिए उसी shell session में nyx चलाने पर cookie file के लिए permission error आता है, भले ही configuration सही हो। nyx live bandwidth, uptime, log stream और connection list दिखाता है। शुरुआती हफ्तों में, जिस संख्या पर नज़र रखनी है, वह bandwidth graph है जो आपके RelayBandwidthRate से नीचे रहना चाहिए।

एक से अधिक relay चलाना: MyFamily और family keys

यदि आप केवल एक relay चला रहे हैं, तो इस अनुभाग को छोड़ दें। एक ही ऑपरेटर द्वारा चलाए जा रहे दो या दो से अधिक relays को एक-दूसरे की घोषणा करनी चाहिए। इससे clients कभी भी ऐसा circuit नहीं बनाएंगे जो आपके ही मशीनों से शुरू और समाप्त हो, क्योंकि ऐसा होने पर एक ही ऑपरेटर circuit के दोनों सिरों को देख पाएगा।

लंबे समय से चली आ रही विधि प्रत्येक relay की torrc फ़ाइल में MyFamily का उपयोग करना है, जिसमें अन्य सभी relays के fingerprints की सूची होती है:

MyFamily AAAAAAAAAA,BBBBBBBB

प्रत्येक relay अन्य सभी relays को सूचीबद्ध करता है, इसलिए चौथा relay जोड़ने का अर्थ है चार फ़ाइलों को संपादित करना। Tor 0.4.9 ने इसे एक family key से बदल दिया है। एक key जनरेट करें, फिर उसे साझा करें:

tor --keygen-family myfamily

यह myfamily.secret_family_key लिखता है और एक FamilyId लाइन प्रिंट करता है। key फ़ाइल को प्रत्येक relay पर कॉपी करें, इसे DataDirectory के keys सबडायरेक्टरी में रखें (Debian और Ubuntu पर /var/lib/tor/keys), और .secret_family_key सफ़िक्स को बनाए रखें। प्रिंट की गई FamilyId लाइन को प्रत्येक torrc में जोड़ें और sudo systemctl reload tor@default के साथ reload करें। अभी के लिए MyFamily सूची को भी यथावत रखें। जो clients अभी तक family certificates को नहीं समझते हैं, वे पुरानी सूची को पढ़ते रहेंगे, और Tor Project घोषणा करेगा कि इसे कब हटाया जा सकता है।

चलने के बाद क्या खराब हो सकता है

version पुराना हो जाता है। Unattended upgrades पैकेज को बदल देते हैं, लेकिन चल रही process उसी binary का उपयोग करती रहती है जिससे वह शुरू हुई थी, जब तक कि उसे restart न किया जाए। बॉक्स पर tor --version की तुलना relay के Relay Search पेज पर दिखाए गए version से करें। यदि वे अलग हैं, तो नेटवर्क अभी भी पुराने version को देख रहा है, इसलिए service को restart करें।

घड़ी का समय बदल जाता है (Clock drift)। Consensus documents और certificates समय-बद्ध होते हैं, इसलिए जिस मशीन की घड़ी का समय बहुत अधिक गलत होता है, वह consensus को अस्वीकार कर देती है और publishing बंद कर देती है। timedatectl को system clock के synchronized होने की रिपोर्ट देनी चाहिए। यदि ऐसा नहीं होता है, तो systemd-timesyncd को enable करें या chrony को install करें।

IP address बदल जाता है। Descriptor में address होता है, और यदि address बदल गया हो तो clients उस तक नहीं पहुँच सकते। किसी भी provider migration या address परिवर्तन के बाद, tor को restart करें और self-test line के लिए फिर से देखें।

relay योजना से अधिक धीमा है। Tor का relay crypto आधुनिक processors पर कुशल है, और Tor Project के अनुसार AES-NI support वाला CPU प्रत्येक दिशा में लगभग 400 से 450 Mbit/s की गति देता है। उस सीमा तक पहुँचने से बहुत पहले ही आप port speed और transfer allowance द्वारा सीमित हो जाते हैं, यही कारण है कि hardware की तुलना में ऊपर दिया गया accounting section अधिक महत्वपूर्ण है।

FAQ

Tor relay कितनी bandwidth का उपयोग करता है?

जितनी आप अनुमति देंगे, उससे अधिक नहीं। RelayBandwidthRate relayed traffic को प्रत्येक दिशा में अलग-अलग सीमित करता है, इसलिए 1 Mbit/s पर सेट किया गया relay एक ही समय में 1 Mbit/s इनबाउंड और 1 Mbit/s आउटबाउंड traffic ले जा सकता है। यह दोनों दिशाओं को मिलाकर प्रतिदिन लगभग 21.6 GB, या 30 दिनों के महीने में 648 GB होता है। उस दर के नीचे एक सख्त मासिक कोटा के रूप में AccountingMax के साथ AccountingRule sum जोड़ें।

क्या Tor relay चलाने से मुझे abuse complaints मिलेंगी?

एक guard या middle relay केवल अन्य Tor relays तक traffic भेजता है और उपयोगकर्ता के लिए कभी भी किसी वेबसाइट से सीधे कनेक्ट नहीं होता है, इसलिए Tor के माध्यम से किसी के द्वारा की गई गतिविधियों की शिकायत exit operator को जाती है, आपको नहीं। आप scanning और कभी-कभार IP reputation listing देख सकते हैं, क्योंकि आपका पता सार्वजनिक रूप से एक relay के रूप में सूचीबद्ध होता है। Exit relays को ही abuse mail और कानूनी नोटिस प्राप्त होते हैं, और उन्हें ऐसे प्रदाता की आवश्यकता होती है जिसने इसे संभालने के लिए पहले से सहमति दी हो। किसी भी प्रकार का relay शुरू करने से पहले अपने प्रदाता की शर्तें पढ़ें।

मेरा नया Tor relay traffic क्यों प्राप्त नहीं कर रहा है?

क्योंकि नए relays को तब तक डिज़ाइन के अनुसार सीमित (throttle) रखा जाता है जब तक कि उन्हें मापा न जाए। पहले तीन दिनों के लिए directory authorities प्रकाशित weight को 20 KB पर सीमित रखती हैं, इसलिए clients लगभग कभी भी उस relay को नहीं चुनते हैं। Bandwidth authorities लगभग तीसरे दिन से इसे मापना शुरू करती हैं, यह आठवें दिन के आसपास Guard flag के लिए पात्र हो जाता है, और उस समय traffic फिर से कम हो जाता है क्योंकि middle hops चुनते समय clients guards से बचते हैं। पूर्ण load लगभग 68वें दिन के आसपास आता है। पुष्टि करें कि log में "Self-testing indicates your ORPort is reachable from the outside" दिखाई दे रहा है, फिर इसे ऐसे ही छोड़ दें।

क्या मैं 1 TB transfer allowance वाले VPS पर Tor relay चला सकता हूँ?

हाँ, प्रत्येक दिशा में लगभग 1 Mbit/s की दर पर, जो कि RelayBandwidthRate 125 KBytes है। यदि आपका प्रदाता दोनों दिशाओं के traffic को मापता है, तो यह प्रति माह लगभग 648 GB होता है, जिससे updates और backups के लिए जगह बची रहती है। AccountingMax 400 GBytes के साथ AccountingRule sum और AccountingStart month 1 00:00 जोड़ें ताकि relay योजना से अधिक उपयोग करने के बजाय hibernate हो जाए। यदि प्रदाता केवल outbound traffic के लिए शुल्क लेता है, तो आप दर को दोगुना कर सकते हैं।

यदि मैं केवल एक relay चलाता हूँ तो क्या मुझे MyFamily सेट करने की आवश्यकता है?

नहीं। Family declarations इसलिए होते हैं ताकि clients एक ही operator के स्वामित्व वाले दो relays के माध्यम से circuit बनाने से बचें, जो एक relay के साथ अर्थहीन है। जैसे ही आप दूसरा relay जोड़ें, इसे सेट करें: प्रत्येक relay की MyFamily लाइन में हर relay का fingerprint सूचीबद्ध करें, या Tor 0.4.9 द्वारा पेश की गई family key का उपयोग करें, जो लगातार बढ़ती सूची के बजाय एक FamilyId वितरित करती है।