I2P routers प्रायः पोर्ट फॉरवर्डिंग से जुड़ी समस्याओं, अपर्याप्त बैंडविड्थ आवंटन, और अपर्याप्त bootstrap (प्रारम्भिक नेटवर्क जुड़ाव प्रक्रिया) समय के कारण विफल होते हैं। रिपोर्ट की गई समस्याओं में से 70% से अधिक के लिए ये तीन कारक जिम्मेदार हैं। नेटवर्क में पूरी तरह एकीकृत होने के लिए स्टार्टअप के बाद router को कम-से-कम 10-15 मिनट, 128 KB/sec न्यूनतम बैंडविड्थ (256 KB/sec अनुशंसित), और non-firewalled स्थिति हासिल करने हेतु उचित UDP/TCP पोर्ट फॉरवर्डिंग की आवश्यकता होती है। नए उपयोगकर्ता अक्सर त्वरित कनेक्टिविटी की अपेक्षा करते हैं और जल्दबाजी में रिस्टार्ट कर देते हैं, जिससे एकीकरण की प्रगति रीसेट हो जाती है और एक निराशाजनक चक्र बन जाता है। यह मार्गदर्शिका संस्करण 2.10.0 और उसके बाद के संस्करणों को प्रभावित करने वाली सभी प्रमुख I2P समस्याओं के विस्तृत समाधान प्रदान करती है।
I2P की गुमनामी आर्किटेक्चर मल्टी-हॉप एन्क्रिप्टेड tunnel के माध्यम से गोपनीयता के लिए गति से स्वाभाविक रूप से समझौता करती है। इस मूलभूत डिज़ाइन को समझना उपयोगकर्ताओं को यथार्थवादी अपेक्षाएँ निर्धारित करने और प्रभावी ढंग से समस्या-निवारण करने में मदद करता है, ताकि वे सामान्य व्यवहार को समस्याओं के रूप में गलत न समझें।
Router शुरू नहीं होता या तुरंत क्रैश हो जाता है
सबसे सामान्य स्टार्टअप असफलताएँ पोर्ट टकराव, Java संस्करण असंगतता, या दूषित कॉन्फ़िगरेशन फ़ाइलें से उत्पन्न होती हैं। गहन समस्याओं की जाँच करने से पहले देखें कि कोई अन्य I2P इंस्टेंस पहले से चल तो नहीं रहा है।
सुनिश्चित करें कि कोई परस्पर-विरोधी प्रक्रियाएँ नहीं हैं:
Linux: ps aux | grep i2p या netstat -tulpn | grep 7657
Windows: Task Manager → Details → ऐसी java.exe खोजें जिसकी कमांड लाइन में i2p हो
macOS: Activity Monitor → “i2p” खोजें
यदि कोई zombie process (ऐसी प्रक्रिया जो समाप्त हो चुकी है लेकिन प्रक्रिया तालिका में उसकी एंट्री बनी रहती है) मौजूद है, तो उसे समाप्त करें: pkill -9 -f i2p (Linux/Mac) या taskkill /F /IM javaw.exe (Windows)
Java संस्करण संगतता की जाँच करें:
I2P 2.10.0+ को कम-से-कम Java 8 की आवश्यकता है, और Java 11 या इससे नया अनुशंसित है। यह जाँचें कि आपकी स्थापना “mixed mode” (न कि “interpreted mode”) दिखाती है:
java -version
यह प्रदर्शित होना चाहिए: OpenJDK या Oracle Java, संस्करण 8+, “mixed mode”
इनसे बचें: GNU GCJ, पुराने Java कार्यान्वयन, केवल-व्याख्यायित मोड
सामान्य पोर्ट संघर्ष तब होते हैं जब कई सेवाएँ I2P के डिफ़ॉल्ट पोर्ट के लिए प्रतिस्पर्धा करती हैं। router console (7657), I2CP (7654), SAM (7656), और HTTP प्रॉक्सी (4444) उपलब्ध होने चाहिए। संघर्ष की जाँच करें: netstat -ano | findstr "7657 4444 7654" (Windows) या lsof -i :7657,4444,7654 (Linux/Mac)।
कॉन्फ़िगरेशन फ़ाइल का भ्रष्ट होना लॉग में पार्स त्रुटियों के साथ तत्काल क्रैश के रूप में प्रकट होता है। Router.config को BOM (Byte Order Mark) के बिना UTF-8 एन्कोडिंग की आवश्यकता होती है, यह विभाजक के रूप में = का उपयोग करता है ( : नहीं), और कुछ विशेष अक्षरों की अनुमति नहीं देता। पहले बैकअप लें, फिर जांचें: ~/.i2p/router.config (Linux), %LOCALAPPDATA%\I2P\router.config (Windows), ~/Library/Application Support/i2p/router.config (macOS)।
पहचान को सुरक्षित रखते हुए कॉन्फ़िगरेशन रीसेट करने के लिए: I2P बंद करें, router.keys और keyData डिरेक्टरी का बैकअप लें, router.config हटाएँ, फिर से शुरू करें। router डिफ़ॉल्ट कॉन्फ़िगरेशन को पुनः उत्पन्न कर देगा।
Java हीप आवंटन बहुत कम होने पर OutOfMemoryError (मेमोरी समाप्त होने की त्रुटि) के कारण क्रैश होते हैं। wrapper.config संपादित करें और wrapper.java.maxmemory को डिफॉल्ट 128 या 256 से बढ़ाकर 512 न्यूनतम (उच्च-बैंडविड्थ routers के लिए 1024) करें। इसके लिए पूरी तरह शटडाउन करना, 11 मिनट इंतज़ार करना, फिर रिस्टार्ट करना आवश्यक है - कंसोल में “Restart” पर क्लिक करने से बदलाव लागू नहीं होगा।
“Network: Firewalled” स्थिति का समाधान
Firewalled स्थिति का मतलब है कि router सीधे आने वाले (inbound) कनेक्शन प्राप्त नहीं कर सकता, इसलिए introducers (मध्यस्थ परिचयकर्ता नोड्स) पर निर्भर रहना पड़ता है। इस अवस्था में router काम तो करता है, लेकिन प्रदर्शन में उल्लेखनीय गिरावट आती है और नेटवर्क में उसका योगदान न्यूनतम रहता है। non-firewalled स्थिति हासिल करने के लिए उचित port forwarding आवश्यक है।
router यादृच्छिक रूप से एक पोर्ट चुनता है संचार के लिए 9000-31000 के बीच। अपना पोर्ट http://127.0.0.1:7657/confignet पर देखें - “UDP Port” और “TCP Port” खोजें (आमतौर पर दोनों का नंबर समान होता है)। सर्वोत्तम प्रदर्शन के लिए आपको UDP और TCP दोनों को फ़ॉरवर्ड करना आवश्यक है, हालांकि केवल UDP से बुनियादी कार्यक्षमता सक्षम हो जाती है।
UPnP स्वचालित फ़ॉरवर्डिंग को सक्रिय करें (सबसे आसान तरीका):
- http://127.0.0.1:7657/confignet पर जाएँ
- “Enable UPnP” पर टिक करें
- परिवर्तनों को सहेजें और router को पुनः आरंभ करें
- 5-10 मिनट प्रतीक्षा करें और सत्यापित करें कि स्थिति “Network: Firewalled” से “Network: OK” में बदल गई है
UPnP को router समर्थन (2010 के बाद निर्मित अधिकांश उपभोक्ता routers पर डिफ़ॉल्ट रूप से सक्षम) और उचित नेटवर्क विन्यास की आवश्यकता होती है।
हस्तचालित पोर्ट फ़ॉरवर्डिंग (UPnP विफल होने पर आवश्यक):
- http://127.0.0.1:7657/confignet से अपना I2P पोर्ट नोट करें (उदा., 22648)
- अपना स्थानीय IP पता जानें:
ipconfig(Windows),ip addr(Linux), System Preferences → Network (macOS) - अपने router के admin interface तक पहुँचें (आमतौर पर 192.168.1.1 या 192.168.0.1)
- Port Forwarding पर जाएँ (यह Advanced, NAT, या Virtual Servers के अंतर्गत हो सकता है)
- दो नियम बनाएँ:
- External Port: [your I2P port] → Internal IP: [your computer] → Internal Port: [same] → Protocol: UDP
- External Port: [your I2P port] → Internal IP: [your computer] → Internal Port: [same] → Protocol: TCP
- कॉन्फ़िगरेशन सहेजें और आवश्यकता होने पर अपना router पुनःआरंभ करें
पोर्ट फ़ॉरवर्डिंग की पुष्टि करें कॉन्फ़िगर करने के बाद ऑनलाइन जाँच उपकरणों का उपयोग करके। यदि पता लगाना विफल हो, तो फ़ायरवॉल सेटिंग्स जाँचें - सिस्टम फ़ायरवॉल और किसी भी एंटीवायरस फ़ायरवॉल, दोनों को I2P पोर्ट की अनुमति देनी चाहिए।
Hidden mode का विकल्प उन प्रतिबंधात्मक नेटवर्क के लिए जहाँ पोर्ट फ़ॉरवर्डिंग संभव नहीं है: http://127.0.0.1:7657/confignet पर सक्षम करें → “Hidden mode” पर चेक करें। router फायरवॉल के पीछे रहता है, लेकिन केवल SSU introducers (परिचयक नोड्स) का उपयोग करके इस स्थिति के लिए अनुकूलित करता है। प्रदर्शन धीमा होगा, लेकिन कार्यशील रहेगा।
Router “Starting” या “Testing” अवस्था में फँसा हुआ
प्रारंभिक बूटस्ट्रैप के दौरान ये अस्थायी अवस्थाएँ आमतौर पर नई इंस्टॉलेशन के लिए 10-15 मिनट या पहले से स्थापित routers के लिए 3-5 मिनट में अपने आप सुलझ जाती हैं। समय से पहले हस्तक्षेप अक्सर समस्याओं को और बिगाड़ देता है।
“Network: Testing” यह दर्शाता है कि router विभिन्न कनेक्शन प्रकारों के माध्यम से (प्रत्यक्ष, introducers (कनेक्शन स्थापित कराने वाले नोड्स), अनेक प्रोटोकॉल संस्करण) पहुँच-योग्यता की जाँच कर रहा होता है। स्टार्टअप के बाद पहले 5–10 मिनट तक यह सामान्य है। उत्तम कॉन्फ़िगरेशन निर्धारित करने के लिए router कई परिदृश्यों का परीक्षण करता है।
“Rejecting tunnels: starting up” बूटस्ट्रैप (प्रारंभिक सेटअप) के दौरान तब दिखाई देता है जब router के पास पर्याप्त पीयर जानकारी नहीं होती। router पर्याप्त रूप से एकीकृत होने तक रिले ट्रैफ़िक में भाग नहीं लेगा। netDb में 50+ routers जुड़ जाने के बाद लगभग 10-20 मिनट में यह संदेश गायब हो जाना चाहिए।
Clock skew (घड़ी के समय का अंतर) पहुंच-क्षमता परीक्षण को विफल कर देता है। I2P को सिस्टम का समय नेटवर्क समय से ±60 सेकंड के भीतर होना आवश्यक है। 90 सेकंड से अधिक का अंतर होने पर कनेक्शन स्वचालित रूप से अस्वीकार कर दिया जाता है। अपने सिस्टम की घड़ी को सिंक करें:
लिनक्स: sudo timedatectl set-ntp true && sudo systemctl restart systemd-timesyncd
Windows: कंट्रोल पैनल → दिनांक और समय → इंटरनेट समय → अभी अपडेट करें → स्वचालित समकालिकरण सक्षम करें
macOS: System Preferences → Date & Time → “Set date and time automatically” सक्षम करें
क्लॉक स्क्यू (समय असंतुलन) को सुधारने के बाद, उचित एकीकरण के लिए I2P को पूरी तरह से पुनः आरंभ करें।
अपर्याप्त बैंडविड्थ आवंटन सफल परीक्षण को बाधित करता है। Test tunnels बनाने के लिए router को पर्याप्त क्षमता चाहिए। यहाँ कॉन्फ़िगर करें: http://127.0.0.1:7657/config:
- न्यूनतम व्यवहार्य: इनबाउंड 96 KB/sec, आउटबाउंड 64 KB/sec
- अनुशंसित मानक: इनबाउंड 256 KB/sec, आउटबाउंड 128 KB/sec
- इष्टतम प्रदर्शन: इनबाउंड 512+ KB/sec, आउटबाउंड 256+ KB/sec
- शेयर प्रतिशत: 80% (router को नेटवर्क में बैंडविड्थ का योगदान करने की अनुमति देता है)
कम बैंडविड्थ काम कर सकती है, लेकिन एकीकरण समय को मिनटों से बढ़ाकर घंटों तक कर देती है।
गलत तरीके से शटडाउन या डिस्क त्रुटियों से क्षतिग्रस्त netDb निरंतर परीक्षण लूप का कारण बनता है। वैध पीयर डेटा के बिना router परीक्षण पूरा नहीं कर सकता:
# Stop I2P completely
i2prouter stop # or systemctl stop i2p
# Delete corrupted database (safe - will reseed automatically)
rm -rf ~/.i2p/netDb/*
# Restart and allow 10-15 minutes for reseed
i2prouter start
Windows: %APPDATA%\I2P\netDb\ या %LOCALAPPDATA%\I2P\netDb\ की सामग्री हटाएँ
reseed (आरंभ में नेटवर्क से जुड़ने हेतु आवश्यक जानकारी प्राप्त करना) को फ़ायरवॉल द्वारा ब्लॉक किया जाना प्रारंभिक peers (अन्य नोड्स) प्राप्त करने से रोकता है। बूटस्ट्रैप (आरंभीकरण प्रक्रिया) के दौरान, I2P HTTPS reseed सर्वर से router जानकारी प्राप्त करता है। कॉर्पोरेट/ISP फ़ायरवॉल इन कनेक्शनों को ब्लॉक कर सकते हैं। यदि आप प्रतिबंधात्मक नेटवर्क के पीछे कार्य कर रहे हैं, तो http://127.0.0.1:7657/configreseed पर reseed प्रॉक्सी कॉन्फ़िगर करें।
धीमी गति, टाइमआउट, और tunnel निर्माण विफलताएँ
I2P का डिज़ाइन मल्टी-हॉप एन्क्रिप्शन, पैकेट ओवरहेड, और रूट की अनिश्चितता के कारण स्वभावतः clearnet (सामान्य इंटरनेट) की तुलना में 3-10x धीमी गति देता है। एक tunnel build कई routers से होकर गुजरती है, और हर एक अतिरिक्त विलंब जोड़ता है। इसे समझना सामान्य व्यवहार को समस्याएँ मानकर गलत निदान करने से बचाता है।
सामान्य प्रदर्शन अपेक्षाएँ:
- .i2p साइटों की वेब ब्राउज़िंग: शुरुआत में पेज लोड होने में 10-30 सेकंड लगते हैं, tunnel स्थापित होने के बाद तेज़
- I2PSnark के जरिए टोरेंटिंग: प्रति टोरेंट 10-100 KB/sec, seeders (अपलोड उपलब्ध कराने वाले) और नेटवर्क परिस्थितियों पर निर्भर
- बड़े फ़ाइल डाउनलोड: धैर्य आवश्यक - मेगाबाइट फ़ाइलों में मिनट लग सकते हैं, गिगाबाइट फ़ाइलों में घंटे
- पहला कनेक्शन सबसे धीमा: tunnel बनाने में 30-90 सेकंड लगते हैं; बाद के कनेक्शन मौजूदा tunnels का उपयोग करते हैं
Tunnel निर्माण सफलता दर नेटवर्क के स्वास्थ्य का संकेत देती है। http://127.0.0.1:7657/tunnels पर जाँच करें:
- 60% से ऊपर: सामान्य, स्वस्थ संचालन
- 40-60%: सीमांत, बैंडविड्थ बढ़ाने या लोड घटाने पर विचार करें
- 40% से कम: समस्याग्रस्त - अपर्याप्त बैंडविड्थ, नेटवर्क समस्याएँ, या खराब पीयर चयन का संकेत देता है
बैंडविड्थ आवंटन बढ़ाएँ पहले अनुकूलन के रूप में। धीमे प्रदर्शन का अधिकांश कारण बैंडविड्थ की कमी होता है। http://127.0.0.1:7657/config पर सीमाओं को क्रमिक रूप से बढ़ाएँ और http://127.0.0.1:7657/graphs पर ग्राफ़ों की निगरानी करें।
DSL/Cable (1-10 Mbps कनेक्शन) के लिए: - इनबाउंड: 400 KB/sec - आउटबाउंड: 200 KB/sec - शेयर: 80% - मेमोरी: 384 MB (wrapper.config संपादित करें)
उच्च गति (10-100+ Mbps कनेक्शन) के लिए: - इनबाउंड: 1500 KB/sec - आउटबाउंड: 1000 KB/sec - शेयर: 80-100% - मेमोरी: 512-1024 MB - विचार करें: http://127.0.0.1:7657/configadvanced पर भाग लेने वाले tunnels को 2000-5000 तक बढ़ाएँ
tunnel विन्यास का अनुकूलन करें बेहतर प्रदर्शन के लिए। http://127.0.0.1:7657/i2ptunnel पर विशिष्ट tunnel सेटिंग्स तक पहुँचें और प्रत्येक tunnel को संपादित करें:
- Tunnel की संख्या: 2 से बढ़ाकर 3-4 करें (अधिक पथ उपलब्ध)
- बैकअप की संख्या: 1-2 पर सेट करें (यदि tunnel विफल हो जाए तो त्वरित फेलओवर)
- Tunnel की लंबाई: डिफ़ॉल्ट रूप से 3 hops (मध्यस्थ चरण) अच्छा संतुलन प्रदान करते हैं; 2 करने से गति बेहतर होती है लेकिन गुमनामी घटती है
नेटिव क्रिप्टो लाइब्रेरी (jbigi) शुद्ध Java एन्क्रिप्शन की तुलना में 5–10 गुना बेहतर प्रदर्शन देती है। लोड होने की पुष्टि के लिए http://127.0.0.1:7657/logs पर जाएँ - “jbigi loaded successfully” या “Using native CPUID implementation” देखें। यदि अनुपस्थित हो:
Linux: आमतौर पर ~/.i2p/jbigi-*.so से स्वतः पहचानकर लोड किया जाता है Windows: I2P इंस्टॉलेशन डायरेक्टरी में jbigi.dll की जाँच करें यदि अनुपस्थित हो: बिल्ड टूल्स इंस्टॉल करें और स्रोत से संकलित करें, या आधिकारिक रिपॉजिटरीज़ से पूर्व-संकलित बाइनरी डाउनलोड करें
router को निरंतर चालू रखें। हर पुनरारंभ पर एकीकरण रीसेट हो जाता है, और tunnel नेटवर्क तथा पीयर संबंधों को फिर से बनाने में 30-60 मिनट लगते हैं। उच्च uptime (लगातार चालू रहने की अवधि) वाले स्थिर routers को tunnel निर्माण के लिए वरीयतापूर्ण चयन मिलता है, जिससे प्रदर्शन के लिए सकारात्मक फीडबैक उत्पन्न होता है।
CPU और मेमोरी का अत्यधिक उपयोग
अत्यधिक संसाधन उपयोग आमतौर पर अपर्याप्त मेमोरी आवंटन, नेटिव क्रिप्टो लाइब्रेरियों का अभाव, या नेटवर्क भागीदारी के प्रति अति-प्रतिबद्धता का संकेत देता है। अच्छी तरह कॉन्फ़िगर किए गए routers सक्रिय उपयोग के दौरान 10-30% CPU का उपयोग करें और आवंटित heap (प्रोग्राम की मेमोरी का हीप भाग) के 80% से कम पर स्थिर मेमोरी बनाए रखें।
मेमोरी से संबंधित समस्याएँ इस प्रकार प्रकट होती हैं: - समतल-शीर्ष मेमोरी ग्राफ (अधिकतम पर अटके हुए) - बार-बार garbage collection (तेज़ गिरावटों वाला आरी-दाँत जैसा पैटर्न) - लॉग्स में OutOfMemoryError - लोड के दौरान Router का अनुत्तरदायी हो जाना - संसाधनों के समाप्त हो जाने के कारण स्वचालित शटडाउन
Java heap आवंटन बढ़ाएँ wrapper.config में (पूर्ण शटडाउन आवश्यक):
# Linux: ~/.i2p/wrapper.config
# Windows: %APPDATA%\I2P\wrapper.config
# Find and modify:
wrapper.java.maxmemory=512
# Recommendations by usage:
# Light browsing only: 256
# Standard use (browsing + light torrenting): 512
# Heavy use (multiple applications, active torrenting): 768-1024
# Floodfill or very high bandwidth: 1024-2048
अति महत्वपूर्ण: wrapper.config संपादित करने के बाद, आपको पूरी तरह शटडाउन करना अनिवार्य है (रीस्टार्ट नहीं), सुचारू समाप्ति के लिए 11 मिनट प्रतीक्षा करें, फिर नए सिरे से शुरू करें। Router console का “Restart” बटन wrapper सेटिंग्स को रीलोड नहीं करता।
CPU अनुकूलन के लिए नैटिव क्रिप्टो लाइब्रेरी आवश्यक है। Pure Java BigInteger ऑपरेशंस नैटिव कार्यान्वयन की तुलना में 10-20x अधिक CPU का उपयोग करते हैं। स्टार्टअप के दौरान http://127.0.0.1:7657/logs पर jbigi की स्थिति जांचें। jbigi के बिना, tunnel निर्माण और एन्क्रिप्शन ऑपरेशंस के दौरान CPU 50-100% तक पहुँच सकता है।
सहभागी tunnel का लोड कम करें यदि router पर अत्यधिक लोड हो:
- http://127.0.0.1:7657/configadvanced पर जाएँ
router.maxParticipatingTunnels=1000सेट करें (डिफ़ॉल्ट 8000)- http://127.0.0.1:7657/config पर शेयर प्रतिशत 80% से 50% तक घटाएँ
- यदि सक्षम हो तो floodfill मोड (I2P netDb में विशेष इंडेक्सिंग भूमिका) अक्षम करें:
router.floodfillParticipant=false
I2PSnark (I2P का BitTorrent क्लाइंट) की बैंडविड्थ और समवर्ती टोरेंट्स को सीमित करें. टोरेंटिंग में काफी संसाधन लगते हैं. http://127.0.0.1:7657/i2psnark पर:
- सक्रिय टोरेंट्स को अधिकतम 3-5 तक सीमित रखें
- “Up BW Limit” और “Down BW Limit” को उचित मानों पर सेट करें (प्रत्येक के लिए 50-100 KB/sec)
- जब सक्रिय रूप से आवश्यकता न हो, तो टोरेंट्स रोक दें
- एक साथ दर्जनों टोरेंट्स की seeding (अपलोड के लिए उपलब्ध कराना) से बचें
संसाधन उपयोग की निगरानी करें http://127.0.0.1:7657/graphs पर मौजूद अंतर्निर्मित ग्राफ़ों के माध्यम से। मेमोरी में headroom (अतिरिक्त गुंजाइश) दिखना चाहिए, flat-top (ऊपरी सीमा पर समतल रेखा) नहीं। tunnel बनाते समय CPU में उछाल सामान्य है; लगातार उच्च CPU कॉन्फ़िगरेशन समस्याओं का संकेत देता है।
बेहद संसाधन-सीमित प्रणालियों के लिए (Raspberry Pi, पुराना हार्डवेयर), वैकल्पिक रूप में i2pd (C++ कार्यान्वयन) पर विचार करें। i2pd को ~130 MB RAM की आवश्यकता होती है, जबकि Java I2P के लिए 350+ MB; और समान लोड पर यह ~7% CPU उपयोग करता है, जबकि Java I2P ~70% उपयोग करता है। ध्यान दें कि i2pd में अंतर्निर्मित एप्लिकेशन नहीं होते और बाहरी टूल की आवश्यकता होती है।
I2PSnark टोरेंट से जुड़ी समस्याएँ
I2PSnark का I2P router आर्किटेक्चर के साथ एकीकरण यह समझने की आवश्यकता करता है कि टोरेंटिंग पूरी तरह से router tunnel की सेहत पर निर्भर करती है। टोरेंट्स तब तक शुरू नहीं होते जब तक router 10+ सक्रिय peers और कार्यरत tunnels के साथ पर्याप्त एकीकरण हासिल नहीं कर लेता।
0% पर अटके टोरेंट्स आमतौर पर यह संकेत देते हैं:
- Router पूरी तरह एकीकृत नहीं है: I2P शुरू होने के बाद टॉरेंट गतिविधि की उम्मीद करने से पहले 10-15 मिनट प्रतीक्षा करें
- DHT निष्क्रिय: यहाँ सक्षम करें: http://127.0.0.1:7657/i2psnark → Configuration → “Enable DHT” को चेक करें (संस्करण 0.9.2 से डिफ़ॉल्ट रूप से सक्षम)
- अमान्य या निष्क्रिय ट्रैकर: I2P टॉरेंट के लिए I2P-विशिष्ट ट्रैकर आवश्यक हैं - clearnet ट्रैकर काम नहीं करेंगे
- अपर्याप्त tunnel कॉन्फ़िगरेशन: I2PSnark Configuration → Tunnels सेक्शन में tunnels बढ़ाएँ
बेहतर प्रदर्शन के लिए I2PSnark tunnels को कॉन्फ़िगर करें:
- इनबाउंड tunnels: 3-5 (Java I2P के लिए डिफ़ॉल्ट 2, i2pd के लिए 5)
- आउटबाउंड tunnels: 3-5
- Tunnel लंबाई: 3 हॉप्स (गति के लिए 2 तक घटाएँ, कम गुमनामी)
- Tunnel मात्रा: 3 (सुसंगत प्रदर्शन प्रदान करता है)
आवश्यक I2P टोरेंट ट्रैकर जिन्हें शामिल करना है: - tracker2.postman.i2p (प्राथमिक, सबसे विश्वसनीय) - w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa.b32.i2p/a
किसी भी clearnet (सामान्य सार्वजनिक इंटरनेट; non-.i2p) ट्रैकर हटा दें - वे कोई लाभ नहीं देते और ऐसे कनेक्शन प्रयास उत्पन्न करते हैं जो टाइमआउट हो जाते हैं।
“Torrent not registered” त्रुटियाँ तब होती हैं जब ट्रैकर से संचार विफल हो जाता है। टोरेंट पर राइट-क्लिक करें → “Start” चुनने से पुनः-घोषणा (re-announce) बाध्य होती है। यदि समस्या बनी रहती है, तो I2P-कॉन्फ़िगर किए गए ब्राउज़र में http://tracker2.postman.i 2p खोलकर ट्रैकर की पहुँचनीयता की जाँच करें। निष्क्रिय ट्रैकरों को कार्यरत विकल्पों से बदलना चाहिए।
कोई पीयर जुड़ नहीं रहे tracker सफल होने के बावजूद यह संकेत करता है: - Router फ़ायरवॉल के पीछे है (port forwarding से सुधार होता है, लेकिन आवश्यक नहीं है) - बैंडविड्थ अपर्याप्त (256+ KB/sec तक बढ़ाएँ) - स्वॉर्म बहुत छोटा है (कुछ torrents में केवल 1-2 seeders होते हैं; धैर्य आवश्यक है) - DHT (वितरित हैश तालिका) बंद है (tracker के बिना पीयर खोज के लिए सक्षम करें)
DHT (Distributed Hash Table — वितरित हैश तालिका) और PEX (Peer Exchange — सहकर्मी विनिमय) सक्षम करें I2PSnark Configuration में। DHT ट्रैकर पर निर्भरता के बिना पीयर (सहकर्मी) खोजने की अनुमति देता है। PEX जुड़े हुए पीयरों से नए पीयर खोजता है, जिससे स्वॉर्म (समूह) की खोज तेज हो जाती है।
डाउनलोड की गई फ़ाइलों का क्षतिग्रस्त होना I2PSnark की अंतर्निर्मित अखंडता जांच के चलते बहुत कम होता है। यदि इसका पता चले:
- टोरेंट पर राइट-क्लिक → “Check” सभी पीस का रीहैश कराता है
- क्षतिग्रस्त टोरेंट डेटा हटाएँ (.torrent फ़ाइल बनी रहती है)
- पीस सत्यापन के साथ पुनः डाउनलोड करने के लिए राइट-क्लिक → “Start”
- यदि करप्शन बना रहे तो त्रुटियों के लिए डिस्क जाँचें:
chkdsk(Windows),fsck(Linux)
Watch directory (निगरानी हेतु निर्देशिका) काम नहीं कर रही है के लिए उचित कॉन्फ़िगरेशन आवश्यक है:
- I2PSnark कॉन्फ़िगरेशन → “Watch directory”: absolute path (पूर्ण पथ) सेट करें (उदा.,
/home/user/torrents/watch) - सुनिश्चित करें कि I2P प्रक्रिया के पास पढ़ने की अनुमतियाँ हों:
chmod 755 /path/to/watch - .torrent फ़ाइलें watch directory में रखें - I2PSnark उन्हें स्वतः जोड़ता है
- “Auto start” कॉन्फ़िगर करें: जोड़ते ही टोरेंट्स तुरंत शुरू हों या नहीं, यह निर्धारित करें
टोरेंटिंग के लिए प्रदर्शन अनुकूलन:
- एक साथ सक्रिय टोरेंट की संख्या सीमित करें: मानक कनेक्शनों के लिए अधिकतम 3–5
- महत्वपूर्ण डाउनलोड को प्राथमिकता दें: कम-प्राथमिकता वाले टोरेंट को अस्थायी रूप से रोकें
- router बैंडविड्थ आवंटन बढ़ाएँ: अधिक बैंडविड्थ = बेहतर टोरेंट प्रदर्शन
- धैर्य रखें: I2P पर टोरेंटिंग मूलतः clearnet BitTorrent से धीमी होती है
- डाउनलोड के बाद सीड करें: नेटवर्क पारस्परिकता पर फलता-फूलता है
I2P पर Git का विन्यास और समस्या निवारण
I2P के माध्यम से Git ऑपरेशंस के लिए या तो SOCKS proxy कॉन्फ़िगरेशन या SSH/HTTP एक्सेस के लिए समर्पित I2P tunnels की आवश्यकता होती है। Git का डिज़ाइन कम-विलंबता कनेक्शनों को मानकर चलता है, जिससे I2P का उच्च-विलंबता आर्किटेक्चर चुनौतीपूर्ण हो जाता है।
Git को I2P SOCKS प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करें:
~/.ssh/config को संपादित करें (यदि मौजूद न हो तो बनाएँ):
Host *.i2p
ProxyCommand nc -X 5 -x 127.0.0.1:4447 %h %p
ServerAliveInterval 60
ServerAliveCountMax 3
Compression yes
यह सभी SSH कनेक्शनों को, जो .i2p होस्ट्स के लिए हैं, I2P के SOCKS प्रॉक्सी (पोर्ट 4447) के माध्यम से मार्गित करता है। ServerAlive सेटिंग्स I2P की विलंबता के दौरान कनेक्शन बनाए रखती हैं।
HTTP/HTTPS पर git ऑपरेशन्स के लिए, git को वैश्विक रूप से कॉन्फ़िगर करें:
git config --global http.proxy socks5h://127.0.0.1:4447
git config --global https.proxy socks5h://127.0.0.1:4447
नोट: socks5h प्रॉक्सी के माध्यम से DNS रेज़ॉल्यूशन करता है - .i2p डोमेन के लिए यह अत्यंत महत्वपूर्ण है।
Git SSH के लिए समर्पित I2P tunnel बनाएँ (SOCKS की तुलना में अधिक विश्वसनीय):
- http://127.0.0.1:7657/i2ptunnel पर जाएँ
- “New client tunnel” → “Standard”
- कॉन्फ़िगर करें:
- नाम: Git-SSH
- प्रकार: Client
- पोर्ट: 2222 (Git एक्सेस के लिए स्थानीय पोर्ट)
- गंतव्य: [your-git-server].i2p:22
- ऑटो स्टार्ट: सक्षम
- Tunnel count: 3-4 (विश्वसनीयता बढ़ाने हेतु अधिक)
- सेव करें और tunnel शुरू करें
- SSH को tunnel का उपयोग करने के लिए कॉन्फ़िगर करें:
ssh -p 2222 git@127.0.0.1
SSH प्रमाणीकरण त्रुटियाँ I2P पर आमतौर पर इन कारणों से उत्पन्न होती हैं:
- कुंजी ssh-agent (SSH कुंजी एजेंट) में नहीं जोड़ी गई:
ssh-add ~/.ssh/id_rsa - कुंजी फ़ाइल की अनुमतियाँ गलत हैं:
chmod 600 ~/.ssh/id_rsa - Tunnel चल नहीं रहा है: http://127.0.0.1:7657/i2ptunnel पर सत्यापित करें कि स्थिति हरी दिख रही है
- Git सर्वर को एक विशिष्ट कुंजी प्रकार चाहिए: यदि RSA विफल हो, तो ed25519 कुंजी उत्पन्न करें
Git ऑपरेशन्स का टाइमआउट होना I2P की विलंबता विशेषताओं से संबंधित है:
- Git टाइमआउट बढ़ाएँ:
git config --global http.postBuffer 524288000(500MB बफ़र) - कम गति सीमा बढ़ाएँ:
git config --global http.lowSpeedLimit 1000औरgit config --global http.lowSpeedTime 600(10 मिनट तक प्रतीक्षा करता है) - प्रारंभिक checkout के लिए shallow clone (उथला क्लोन—केवल सीमित इतिहास) उपयोग करें:
git clone --depth 1 [url](केवल नवीनतम commit लाता है, तेज़) - कम गतिविधि वाले समय में clone करें: नेटवर्क भीड़ I2P प्रदर्शन को प्रभावित करती है
धीमी git clone/fetch कार्रवाइयाँ I2P की आर्किटेक्चर में अंतर्निहित हैं। I2P पर 100MB की एक रिपॉजिटरी में 30-60 मिनट लग सकते हैं, जबकि clearnet (सार्वजनिक इंटरनेट) पर यह कुछ सेकंड में हो जाता है। रणनीतियाँ:
- shallow clones (सीमित इतिहास वाले क्लोन) का उपयोग करें:
--depth 1प्रारंभिक डेटा ट्रांसफ़र को काफी कम कर देता है - क्रमिक रूप से फ़ेच करें: full clone के बजाय, विशिष्ट branches फ़ेच करें:
git fetch origin branch:branch - I2P के माध्यम से rsync पर विचार करें: बहुत बड़ी रिपॉज़िटरीज़ के लिए, rsync बेहतर प्रदर्शन कर सकता है
- tunnel की संख्या बढ़ाएँ: अधिक tunnels लंबे समय तक चलने वाले बड़े ट्रांसफ़रों के लिए बेहतर थ्रूपुट प्रदान करते हैं
“Connection refused” त्रुटियाँ tunnel के गलत विन्यास का संकेत देती हैं:
- I2P router चल रहा है, यह सत्यापित करें: http://127.0.0.1:7657 पर जाँचें
- http://127.0.0.1:7657/i2ptunnel पर tunnel सक्रिय और हरा है, इसकी पुष्टि करें
- tunnel का परीक्षण करें:
nc -zv 127.0.0.1 2222(यदि tunnel काम कर रहा है तो कनेक्ट होना चाहिए) - गंतव्य पहुँच योग्य है, यह जाँचें: उपलब्ध होने पर गंतव्य के HTTP इंटरफ़ेस पर ब्राउज़ करें
- विशिष्ट त्रुटियों के लिए http://127.0.0.1:7657/logs पर tunnel लॉग की समीक्षा करें
I2P पर Git की सर्वोत्तम प्रथाएँ:
- स्थिर Git एक्सेस के लिए I2P router को निरंतर चालू रखें
- पासवर्ड प्रमाणीकरण के बजाय SSH keys का उपयोग करें (कम इंटरैक्टिव प्रॉम्प्ट्स)
- क्षणिक SOCKS connections के बजाय स्थायी tunnels कॉन्फ़िगर करें
- बेहतर नियंत्रण के लिए अपना स्वयं का I2P git server होस्ट करने पर विचार करें
- अपने सहयोगियों के लिए अपनी .i2p git endpoints का दस्तावेजीकरण करें
eepsites तक पहुँचना और .i2p डोमेनों को रिज़ॉल्व करना
उपयोगकर्ताओं के .i2p साइटों तक पहुँच न पाने का सबसे आम कारण गलत ब्राउज़र प्रॉक्सी कॉन्फ़िगरेशन है। I2P साइटें केवल I2P नेटवर्क के भीतर मौजूद होती हैं और उन्हें I2P के HTTP प्रॉक्सी के माध्यम से रूटिंग की आवश्यकता होती है।
ब्राउज़र प्रॉक्सी सेटिंग्स को ठीक इसी प्रकार कॉन्फ़िगर करें:
Firefox (I2P के लिए अनुशंसित):
- मेनू → सेटिंग्स → नेटवर्क सेटिंग्स → सेटिंग्स बटन
- “Manual proxy configuration” चुनें
- HTTP प्रॉक्सी (मध्यस्थ सर्वर): 127.0.0.1 पोर्ट: 4444
- SSL प्रॉक्सी: 127.0.0.1 पोर्ट: 4444
- SOCKS प्रॉक्सी: 127.0.0.1 पोर्ट: 4447 (वैकल्पिक, SOCKS ऐप्स के लिए)
- “Proxy DNS when using SOCKS v5” को चेक करें
- सेव करने के लिए OK दबाएँ
महत्वपूर्ण Firefox about:config सेटिंग्स:
about:config पर जाएँ और संशोधित करें:
media.peerconnection.ice.proxy_only= true (WebRTC IP लीक को रोकता है)keyword.enabled= false (.i2p पतों को सर्च इंजनों पर रीडायरेक्ट होने से रोकता है)network.proxy.socks_remote_dns= true (प्रॉक्सी के माध्यम से DNS)
Chrome/Chromium सीमाएँ:
Chrome एप्लिकेशन-विशिष्ट सेटिंग्स के बजाय सिस्टम-व्यापी प्रॉक्सी सेटिंग्स का उपयोग करता है। Windows पर: Settings → “proxy” खोजें → “Open your computer’s proxy settings” → HTTP: 127.0.0.1:4444 और HTTPS: 127.0.0.1:4445 कॉन्फ़िगर करें।
बेहतर तरीका: चयनात्मक .i2p रूटिंग के लिए FoxyProxy या Proxy SwitchyOmega एक्सटेंशन्स का उपयोग करें।
“Website Not Found In Address Book” त्रुटियाँ का मतलब है कि router के पास उस .i2p डोमेन का क्रिप्टोग्राफिक पता नहीं है। I2P केंद्रीकृत DNS के बजाय स्थानीय पता-पुस्तिकाओं का उपयोग करता है। समाधान:
विधि 1: jump services (एड्रेस हेल्पर सेवाएँ) का उपयोग करें (नई साइटों के लिए सबसे आसान):
http://stats.i
2p पर जाएँ और साइट खोजें। addresshelper (पता-सहायक) लिंक पर क्लिक करें: http://example.i2p/?i2paddresshelper=base64destination. आपका ब्राउज़र “addressbook (पता पुस्तिका) में सहेजें?” दिखाएगा - जोड़ने के लिए पुष्टि करें।
विधि 2: पता-पुस्तिका सदस्यताओं को अद्यतन करें:
- http://127.0.0.1:7657/dns (SusiDNS) पर जाएँ
- “Subscriptions” टैब पर क्लिक करें
- सक्रिय सदस्यताओं की जाँच करें (डिफ़ॉल्ट: http://i2p-projekt.i 2p/hosts.txt)
- अनुशंसित सदस्यताएँ जोड़ें:
- http://stats.i 2p/cgi-bin/newhosts.txt
- http://notbob.i 2p/hosts.txt
- http://reg.i 2p/export/hosts.txt
- तुरंत सदस्यता अद्यतन कराने के लिए “Update Now” पर क्लिक करें
- प्रसंस्करण के लिए 5-10 मिनट प्रतीक्षा करें
विधि 3: base32 पते का उपयोग करें (यदि साइट ऑनलाइन है तो यह हमेशा काम करता है):
हर .i2p साइट का एक base32 पता होता है: 52 यादृच्छिक अक्षर, जिनके बाद .b32.i2p आता है (उदा., ukeu3k5oycgaauneqgtnvselmt4yemvoilkln7jpvamvfx7dnkdq.b32.i2p)। Base32 पते addressbook (पता पुस्तिका) को दरकिनार करते हैं - router प्रत्यक्ष क्रिप्टोग्राफिक लुकअप करता है।
आम ब्राउज़र कॉन्फ़िगरेशन गलतियाँ:
- HTTP-only साइट्स पर HTTPS आज़माना: अधिकांश .i2p साइटें केवल HTTP ही उपयोग करती हैं -
https://example.i2pआज़माने पर विफल होगा http://उपसर्ग भूलना: ब्राउज़र कनेक्ट करने के बजाय खोज सकता है - हमेशाhttp://example.i2pका उपयोग करें- WebRTC (वेब आरटीसी, ब्राउज़र रियल‑टाइम संचार तकनीक) सक्षम: वास्तविक IP पता लीक हो सकता है - Firefox सेटिंग्स या एक्सटेंशनों से अक्षम करें
- DNS (डोमेन नेम सिस्टम) प्रॉक्सी न होना: Clearnet (सामान्य सार्वजनिक इंटरनेट) DNS .i2p को रेजॉल्व नहीं कर सकता - DNS क्वेरीज़ को प्रॉक्सी करना आवश्यक है
- गलत प्रॉक्सी पोर्ट: HTTP के लिए 4444 (न कि 4445, जो HTTPS outproxy (निकास प्रॉक्सी— I2P से clearnet तक ट्रैफिक भेजने वाला) है)
Router पूरी तरह से एकीकृत नहीं है किसी भी साइट तक पहुँचने से रोकता है। पर्याप्त एकीकरण की पुष्टि करें:
- जांचें कि http://127.0.0.1:7657 “Network: OK” या “Network: Firewalled” दिखाता है (ना कि “Network: Testing”)
- Active peers में न्यूनतम 10+ दिखें (50+ आदर्श)
- “Rejecting tunnels: starting up” संदेश नहीं होना चाहिए
- router के स्टार्टअप के बाद .i2p पहुँच की अपेक्षा करने से पहले पूरे 10-15 मिनट प्रतीक्षा करें
IRC और ईमेल क्लाइंट कॉन्फ़िगरेशन समान प्रॉक्सी पैटर्न का अनुसरण करता है:
IRC: क्लाइंट 127.0.0.1:6668 से कनेक्ट करते हैं (I2P का IRC प्रॉक्सी tunnel (टनल)). IRC क्लाइंट की प्रॉक्सी सेटिंग्स निष्क्रिय करें - localhost:6668 से कनेक्शन पहले से ही I2P के माध्यम से प्रॉक्सी किया गया है।
ईमेल (Postman): - SMTP: 127.0.0.1:7659 - POP3: 127.0.0.1:7660 - कोई SSL/TLS नहीं (एन्क्रिप्शन I2P tunnel द्वारा संभाला जाता है) - क्रेडेंशियल्स postman.i2p खाता पंजीकरण से
इन सभी tunnels को http://127.0.0.1:7657/i2ptunnel पर “running” (हरे रंग में) स्थिति दिखानी चाहिए।
स्थापना विफलताएँ और पैकेज संबंधी समस्याएँ
पैकेज-आधारित इंस्टॉलेशन (Debian, Ubuntu, Arch) कभी-कभी रिपॉजिटरी परिवर्तन, GPG कुंजी की अवधि समाप्त होना, या निर्भरता संघर्ष के कारण विफल हो सकते हैं। हालिया संस्करणों में आधिकारिक रिपॉजिटरीज़ deb.i2p2.de/deb.i2p2.no (समर्थन समाप्त) से deb.i2p.net में बदल दी गई हैं।
Debian/Ubuntu रिपॉज़िटरी को वर्तमान पर अद्यतन करें:
# Remove old repository entries
sudo rm /etc/apt/sources.list.d/i2p.list
# Add current repository
echo "deb [signed-by=/usr/share/keyrings/i2p-archive-keyring.gpg] https://deb.i2p.net/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/i2p.list
# Download and install current signing key
curl -o i2p-archive-keyring.gpg https://geti2p.net/_static/i2p-archive-keyring.gpg
sudo cp i2p-archive-keyring.gpg /usr/share/keyrings/
# Update and install
sudo apt update
sudo apt install i2p i2p-keyring
GPG हस्ताक्षर सत्यापन विफलताएँ तब होती हैं जब रिपॉज़िटरी कुंजियाँ समाप्त हो जाएँ या बदल जाएँ:
# Error: "The following signatures were invalid"
# Solution: Install current keyring package
sudo apt install i2p-keyring
# Manual key import if package unavailable
wget https://geti2p.net/_static/i2p-debian-repo.key.asc
sudo apt-key add i2p-debian-repo.key.asc
पैकेज इंस्टॉलेशन के बाद सेवा शुरू नहीं होती का सबसे आम कारण Debian/Ubuntu पर AppArmor प्रोफ़ाइल से जुड़ी समस्याएँ हैं:
# Check service status
sudo systemctl status i2p.service
# Common error: "Failed at step APPARMOR spawning"
# Solution: Reconfigure without AppArmor
sudo dpkg-reconfigure -plow i2p
# Select "No" for AppArmor when prompted
# Alternative: Set profile to complain mode
sudo aa-complain /usr/sbin/wrapper
# Check logs for specific errors
sudo journalctl -xe -u i2p.service
अनुमति संबंधी समस्याएँ पैकेज से स्थापित I2P पर:
# Fix ownership (package install uses 'i2psvc' user)
sudo chown -R i2psvc:i2psvc /var/lib/i2p /var/log/i2p /run/i2p
sudo chmod 750 /var/log/i2p /var/lib/i2p
# Set file descriptor limits (add to /etc/security/limits.conf)
i2psvc soft nofile 4096
i2psvc hard nofile 8192
Java संगतता समस्याएँ:
I2P 2.10.0 के लिए Java 8 न्यूनतम आवश्यक है। पुराने सिस्टम में Java 7 या उससे पहले का संस्करण हो सकता है:
# Check Java version
java -version
# Install appropriate Java (Debian/Ubuntu)
sudo apt install openjdk-11-jre-headless
# Set default Java if multiple versions installed
sudo update-alternatives --config java
Wrapper विन्यास त्रुटियाँ सेवा के प्रारंभ को रोकती हैं:
Wrapper.config का स्थान स्थापना विधि के अनुसार भिन्न होता है: - उपयोगकर्ता स्थापना: ~/.i2p/wrapper.config - पैकेज स्थापना: /etc/i2p/wrapper.config या /var/lib/i2p/wrapper.config
wrapper.config से जुड़ी सामान्य समस्याएँ:
- गलत पथ:
wrapper.java.commandको मान्य Java स्थापना की ओर संकेत करना चाहिए - अपर्याप्त मेमोरी:
wrapper.java.maxmemoryबहुत कम निर्धारित है (इसे 512+ तक बढ़ाएँ) - गलत pidfile (प्रक्रिया-आईडी फ़ाइल) स्थान:
wrapper.pidfileलिखने योग्य स्थान होना चाहिए - wrapper (सर्विस रैपर प्रोग्राम) बाइनरी अनुपलब्ध: कुछ प्लेटफ़ॉर्म पर पूर्व-संकलित wrapper उपलब्ध नहीं होता (runplain.sh को फॉलबैक के रूप में उपयोग करें)
अद्यतन विफलताएँ और भ्रष्ट अद्यतन:
Router कंसोल अपडेट कभी-कभी नेटवर्क व्यवधानों के कारण डाउनलोड के बीच में विफल हो जाते हैं। मैनुअल अपडेट प्रक्रिया:
- https://geti2p.net/en/download से i2pupdate_X.X.X.zip डाउनलोड करें
- सत्यापित करें कि SHA256 checksum (डेटा सत्यापन मान) प्रकाशित hash (हैश सारांश) से मेल खाता है
- I2P की इंस्टॉल डायरेक्टरी में
i2pupdate.zipनाम से कॉपी करें - router को पुनरारंभ करें - यह स्वतः अपडेट का पता लगाता है और उसे अनज़िप करता है
- अपडेट इंस्टॉलेशन के लिए 5-10 मिनट प्रतीक्षा करें
- http://127.0.0.1:7657 पर नए संस्करण की पुष्टि करें
बहुत पुराने संस्करणों से माइग्रेशन (pre-0.9.47) वर्तमान संस्करणों तक असंगत हस्ताक्षर कुंजियों या हटाई गई विशेषताओं के कारण विफल हो सकता है। चरणबद्ध अपडेट आवश्यक हैं:
- 0.9.9 से पुराने संस्करण: वर्तमान हस्ताक्षर सत्यापित नहीं कर सकते - मैन्युअल अपडेट आवश्यक
- Java 6/7 पर संस्करण: I2P को 2.x में अपडेट करने से पहले Java अपग्रेड करना आवश्यक है
- बड़े संस्करण अंतर: पहले किसी मध्यवर्ती संस्करण में अपडेट करें (0.9.47 अनुशंसित पड़ाव)
इंस्टॉलर बनाम पैकेज का उपयोग कब करें:
- Packages (apt/yum): सर्वरों के लिए सर्वोत्तम, स्वचालित सुरक्षा अपडेट, सिस्टम एकीकरण, systemd प्रबंधन
- Installer (.jar): उपयोगकर्ता-स्तरीय स्थापना के लिए सर्वोत्तम, Windows, macOS, कस्टम स्थापना, नवीनतम संस्करण की उपलब्धता
कॉन्फ़िगरेशन फ़ाइल की क्षति और पुनर्प्राप्ति
I2P के कॉन्फ़िगरेशन का स्थायित्व कई महत्वपूर्ण फ़ाइलों पर निर्भर करता है। भ्रष्ट होना आम तौर पर गलत तरीके से शटडाउन, डिस्क त्रुटियों, या हाथ से संपादन में हुई गलतियों के कारण होता है। फ़ाइलों के उद्देश्य समझना, पूर्ण पुनर्स्थापना की बजाय सटीक (सर्जिकल) मरम्मत को संभव बनाता है।
महत्वपूर्ण फ़ाइलें और उनके उद्देश्य:
- router.keys (516+ बाइट्स): router की क्रिप्टोग्राफ़िक पहचान - यह खो जाने पर नई पहचान बनती है
- router.info (स्वतः निर्मित): प्रकाशित router जानकारी - हटाना सुरक्षित है, पुनः बन जाती है
- router.config (पाठ): मुख्य कॉन्फ़िगरेशन - बैंडविड्थ, नेटवर्क सेटिंग्स, प्राथमिकताएँ
- i2ptunnel.config (пाठ): Tunnel परिभाषाएँ - client/server tunnels, कुंजियाँ, गंतव्य
- netDb/ (डायरेक्टरी): पीयर डेटाबेस - नेटवर्क प्रतिभागियों के लिए router की जानकारी
- peerProfiles/ (डायरेक्टरी): सहकर्मियों पर प्रदर्शन सांख्यिकी - tunnel चयन को प्रभावित करता है
- keyData/ (डायरेक्टरी): eepsites और सेवाओं के लिए गंतव्य (Destination) कुंजियाँ - खो जाने पर पते बदल जाते हैं
- addressbook/ (डायरेक्टरी): स्थानीय .i2p होस्टनेम मैपिंग्स
पूर्ण बैकअप प्रक्रिया परिवर्तनों से पहले:
# Stop I2P first
i2prouter stop # or: systemctl stop i2p
# Backup directory
BACKUP_DIR=~/i2p-backup-$(date +%Y%m%d-%H%M)
mkdir -p $BACKUP_DIR
# Copy critical files
cp -r ~/.i2p/router.keys $BACKUP_DIR/
cp -r ~/.i2p/*.config $BACKUP_DIR/
cp -r ~/.i2p/keyData $BACKUP_DIR/
cp -r ~/.i2p/addressbook $BACKUP_DIR/
cp -r ~/.i2p/eepsite $BACKUP_DIR/ # if hosting sites
# Optional but recommended
tar -czf $BACKUP_DIR.tar.gz $BACKUP_DIR
Router.config के क्षतिग्रस्त होने के लक्षण:
- Router लॉग्स में पार्स त्रुटियों के कारण शुरू नहीं होता
- रीस्टार्ट के बाद सेटिंग्स कायम नहीं रहतीं
- अनपेक्षित डिफ़ॉल्ट मान दिखाई दे रहे हैं
- फ़ाइल देखते समय गड़बड़ अक्षर दिखते हैं
क्षतिग्रस्त router.config की मरम्मत करें:
- मौजूदा फ़ाइल का बैकअप लें:
cp router.config router.config.broken - फ़ाइल एन्कोडिंग जाँचें: UTF-8 बिना BOM (Byte Order Mark) होनी चाहिए
- वाक्यविन्यास सत्यापित करें: कुंजियाँ
=विभाजक (’:’ नहीं) का उपयोग करें, कुंजियों के अंत में स्पेस न हों,#केवल टिप्पणियों के लिए - आम करप्शन: मानों में Non-ASCII अक्षर, लाइन एंडिंग से जुड़ी समस्याएँ (CRLF बनाम LF — Windows बनाम Unix लाइन एंडिंग)
- यदि सुधारा न जा सके: router.config हटाएँ — router डिफ़ॉल्ट कॉन्फ़िग बना देगा और पहचान सुरक्षित रहेगी
संरक्षित रखने के लिए आवश्यक router.config सेटिंग्स:
i2np.bandwidth.inboundKBytesPerSecond=512
i2np.bandwidth.outboundKBytesPerSecond=256
router.updatePolicy=notify
routerconsole.lang=en
router.hiddenMode=false
खोई हुई या अमान्य router.keys नई router पहचान बनाता है। यह स्वीकार्य है, सिवाय इसके कि:
- floodfill चलाना (floodfill की स्थिति खोना)
- प्रकाशित पते के साथ eepsites होस्ट करना (निरंतरता खोना)
- नेटवर्क में स्थापित प्रतिष्ठा
बिना बैकअप के रिकवरी संभव नहीं - नया बनाएं: router.keys हटाएँ, I2P को पुनः आरंभ करें, नई पहचान बन जाएगी।
महत्वपूर्ण भेद: router.keys (पहचान) बनाम keyData/* (सेवाएँ). router.keys खोने से router की पहचान बदल जाती है. keyData/mysite-keys.dat खोने से आपके eepsite का .i2p पता बदल जाता है - यदि पता प्रकाशित हो चुका हो तो यह विनाशकारी है.
eepsite/सेवा कुंजियों का अलग से बैकअप लें:
# Identify your service keys
ls -la ~/.i2p/keyData/
# Backup with descriptive names
cp ~/.i2p/keyData/myservice-keys.dat ~/backups/myservice-keys-$(date +%Y%m%d).dat
# Store securely (encrypted if sensitive)
gpg -c ~/backups/myservice-keys-*.dat
NetDb और peerProfiles (पीयर प्रोफ़ाइलें) में करप्शन:
लक्षण: शून्य सक्रिय peers (समान-स्तरीय नोड्स), tunnels नहीं बन पा रहे हैं, लॉग्स में “Database corruption detected”
सुरक्षित फ़िक्स (सब कुछ स्वतः ही reseed (प्रारंभिक नेटवर्क डेटा लेना)/पुनर्निर्मित हो जाएगा):
i2prouter stop
rm -rf ~/.i2p/netDb/*
rm -rf ~/.i2p/peerProfiles/*
i2prouter start
# Wait 10-15 minutes for reseed and integration
इन निर्देशिकाओं में केवल कैश की गई नेटवर्क जानकारी होती है - इन्हें हटाने पर नया bootstrap (प्रारंभिक सेटअप) करना पड़ेगा, पर कोई भी महत्वपूर्ण डेटा नहीं खोएगा।
रोकथाम की रणनीतियाँ:
- हमेशा सुव्यवस्थित शटडाउन:
i2prouter stopका उपयोग करें या router कंसोल का “Shutdown” बटन - कभी भी प्रक्रिया को जबरन समाप्त न करें - स्वचालित बैकअप: Cron जॉब (निर्धारित कार्य) द्वारा ~/.i2p का साप्ताहिक बैकअप अलग डिस्क पर
- डिस्क स्वास्थ्य निगरानी: SMART स्थिति (ड्राइव स्वास्थ्य संकेतक) को समय-समय पर जाँचें - विफल होती डिस्क डेटा को भ्रष्ट करती हैं
- पर्याप्त डिस्क स्पेस: 1+ GB खाली बनाए रखें - पूरी तरह भरी डिस्क डेटा भ्रष्टाचार का कारण बनती हैं
- UPS (निरंतर विद्युत आपूर्ति) की अनुशंसा: लिखने के दौरान बिजली की विफलताएँ फ़ाइलों को भ्रष्ट कर देती हैं
- महत्वपूर्ण कॉन्फ़िगरेशन का संस्करण नियंत्रण: router.config, i2ptunnel.config के लिए Git रिपॉजिटरी रोलबैक सक्षम करती है
फ़ाइल अनुमतियाँ महत्वपूर्ण हैं:
# Correct permissions (user install)
chmod 600 ~/.i2p/router.keys
chmod 600 ~/.i2p/*.config
chmod 700 ~/.i2p/keyData
chmod 755 ~/.i2p
# Never run as root - creates permission problems
आम त्रुटि संदेशों की व्याख्या
I2P की लॉगिंग ऐसे विशिष्ट त्रुटि संदेश प्रदान करती है जो समस्याओं की सटीक पहचान करती हैं। इन संदेशों को समझना समस्या निवारण को तेज करता है।
“No tunnels available” तब दिखाई देता है जब router संचालन के लिए पर्याप्त tunnels नहीं बना पाया होता है। यह स्टार्टअप के बाद पहले 5-10 मिनटों में सामान्य है। यदि यह 15 मिनट से अधिक समय तक बना रहे:
- http://127.0.0.1:7657 पर Active Peers > 10 की पुष्टि करें
- बैंडविड्थ आवंटन पर्याप्त है, यह जाँचें (न्यूनतम 128+ KB/sec)
- http://127.0.0.1:7657/tunnels पर tunnel success rate की जाँच करें (यह >40% होना चाहिए)
- tunnel build rejection के कारणों के लिए लॉग्स की समीक्षा करें
“Clock skew detected” (घड़ी के समय में असंगति पाई गई) या “NTCP2 disconnect code 7” दर्शाता है कि सिस्टम समय नेटवर्क सर्वसम्मति से 90 सेकंड से अधिक भिन्न है। I2P को ±60 सेकंड की सटीकता आवश्यक है। समय-विचलित routers के साथ कनेक्शन स्वतः अस्वीकार कर दिए जाते हैं।
तुरंत ठीक करें:
# Linux
sudo timedatectl set-ntp true
sudo systemctl restart systemd-timesyncd
date # Verify correct time
# Windows
# Control Panel → Date and Time → Internet Time → Update now
# Verify after sync
http://127.0.0.1:7657/logs # Should no longer show clock skew warnings
“Build timeout” या “Tunnel build timeout exceeded” का अर्थ है कि पीयर चेन के माध्यम से tunnel का निर्माण टाइमआउट विंडो (समय-सीमा) के भीतर पूरा नहीं हुआ (आम तौर पर 60 सेकंड)। कारण:
- धीमे पीयर्स (सहकर्मी): Router ने tunnel के लिए प्रतिक्रिया न देने वाले प्रतिभागियों का चयन कर लिया
- नेटवर्क भीड़भाड़: I2P नेटवर्क पर उच्च लोड है
- अपर्याप्त बैंडविड्थ: आपकी बैंडविड्थ सीमाएँ समय पर tunnel निर्माण को रोकती हैं
- अतिभारित Router: बहुत अधिक भाग लेने वाले tunnels संसाधनों का उपभोग कर रहे हैं
समाधान: बैंडविड्थ बढ़ाएँ, भाग लेने वाले tunnels की संख्या घटाएँ (router.maxParticipatingTunnels पर http://127.0.0.1:7657/configadvanced), बेहतर पीयर चयन के लिए पोर्ट फ़ॉरवर्डिंग सक्षम करें।
“Router बंद हो रहा है” या “सुव्यवस्थित बंदी जारी है” सामान्य बंदी या क्रैश रिकवरी के दौरान दिखाई देता है। सुव्यवस्थित बंदी में अधिकतम 10 मिनट लग सकते हैं, क्योंकि router अपने tunnels बंद करता है, peers को सूचित करता है, और स्थिति को स्थायी रूप से सहेजता है।
यदि शटडाउन अवस्था में 11 मिनट से अधिक समय तक अटका रहे, तो बलपूर्वक समाप्त करें:
# Linux
kill -9 $(pgrep -f i2p)
# Windows
taskkill /F /IM javaw.exe
“java.lang.OutOfMemoryError: Java heap space” heap (हिप—Java की मेमोरी का क्षेत्र) के समाप्त हो जाने का संकेत देता है। तत्काल समाधान:
- wrapper.config संपादित करें:
wrapper.java.maxmemory=512(या उससे अधिक) - पूर्ण शटडाउन आवश्यक है - रीस्टार्ट करने से परिवर्तन लागू नहीं होगा
- पूर्ण शटडाउन के लिए 11 मिनट प्रतीक्षा करें
- router को नए सिरे से शुरू करें
- http://127.0.0.1:7657/graphs पर मेमोरी आवंटन सत्यापित करें - वहाँ अतिरिक्त गुंजाइश (headroom) दिखनी चाहिए
संबंधित मेमोरी त्रुटियाँ:
- “GC overhead limit exceeded”: garbage collection (स्वचालित मेमोरी सफाई) में बहुत अधिक समय लग रहा है - heap बढ़ाएँ
- “Metaspace”: Java क्लास मेटाडेटा स्पेस समाप्त हो गया है -
wrapper.java.additional.X=-XX:MaxMetaspaceSize=256Mजोड़ें
Windows-विशिष्ट: Kaspersky Antivirus wrapper.config सेटिंग्स की परवाह किए बिना Java heap को 512MB तक सीमित करता है - अनइंस्टॉल करें या I2P को अपवाद सूची (exclusions) में जोड़ें।
“कनेक्शन टाइमआउट” या “I2CP त्रुटि - पोर्ट 7654” जब एप्लिकेशन router से कनेक्ट करने का प्रयास करते हैं:
- router के चल रहे होने की पुष्टि करें: http://127.0.0.1:7657 को प्रतिक्रिया देनी चाहिए
- I2CP पोर्ट जांचें:
netstat -an | grep 7654में LISTENING दिखना चाहिए - सुनिश्चित करें कि localhost फ़ायरवॉल अनुमति देता है:
sudo ufw allow from 127.0.0.1 - सुनिश्चित करें कि एप्लिकेशन सही पोर्ट का उपयोग कर रहा है (I2CP=7654, SAM=7656)
“Certificate validation failed” या “RouterInfo corrupt” reseed (रीसीड: netDb का प्रारंभिक डेटा डाउनलोड करने की प्रक्रिया) के दौरान:
मूल कारण: Clock skew (सिस्टम घड़ी का समय विचलन; पहले इसे ठीक करें), दूषित netDb, अमान्य reseed (नेटवर्क से पहली बार जुड़ने की प्रक्रिया) प्रमाणपत्र
# After fixing clock:
i2prouter stop
rm -rf ~/.i2p/netDb/* # Delete corrupted database
i2prouter start # Auto-reseeds with fresh data
“Database corruption detected” netDb या peerProfiles में डिस्क-स्तरीय डेटा भ्रष्टाचार का संकेत देता है:
# Safe fix - all will rebuild
i2prouter stop
rm -rf ~/.i2p/netDb/* ~/.i2p/peerProfiles/*
i2prouter start
SMART (Self-Monitoring, Analysis and Reporting Technology—ड्राइव स्वास्थ्य निगरानी तकनीक) टूल्स से डिस्क का स्वास्थ्य जांचें - बार-बार होने वाली करप्शन इस बात का संकेत है कि स्टोरेज फेल हो रही है।
प्लेटफ़ॉर्म-विशिष्ट चुनौतियाँ
विभिन्न ऑपरेटिंग सिस्टम अनुमतियों, सुरक्षा नीतियों और सिस्टम एकीकरण से संबंधित विशिष्ट I2P परिनियोजन चुनौतियाँ उत्पन्न करते हैं।
Linux अनुमतियों और सेवा संबंधी समस्याएँ
पैकेज से स्थापित I2P सिस्टम उपयोगकर्ता i2psvc (Debian/Ubuntu) या i2p (अन्य वितरणों) के रूप में चलता है, जिसके लिए कुछ विशिष्ट अनुमतियों की आवश्यकता होती है:
# Fix package install permissions
sudo chown -R i2psvc:i2psvc /var/lib/i2p /var/log/i2p /run/i2p
sudo chmod 750 /var/log/i2p /var/lib/i2p
sudo chmod 644 /var/lib/i2p/*.config
# User install permissions (should be your user)
chown -R $USER:$USER ~/.i2p
chmod 700 ~/.i2p
chmod 600 ~/.i2p/router.keys ~/.i2p/*.config
File descriptor limits (फ़ाइल डिस्क्रिप्टर सीमाएँ) कनेक्शनों के लिए router की क्षमता को प्रभावित करती हैं। डिफ़ॉल्ट सीमाएँ (1024) उच्च-बैंडविड्थ routers के लिए अपर्याप्त हैं:
# Check current limits
ulimit -n
# Temporary increase
ulimit -n 4096
# Permanent fix: Edit /etc/security/limits.conf
i2psvc soft nofile 4096
i2psvc hard nofile 8192
# Systemd override
sudo mkdir -p /etc/systemd/system/i2p.service.d/
sudo nano /etc/systemd/system/i2p.service.d/override.conf
# Add:
[Service]
LimitNOFILE=8192
sudo systemctl daemon-reload
sudo systemctl restart i2p
AppArmor टकराव Debian/Ubuntu पर आम हैं और सेवा के प्रारंभ को रोकते हैं:
# Error: "Failed at step APPARMOR spawning /usr/sbin/wrapper"
# Cause: AppArmor profile missing or misconfigured
# Solution 1: Disable AppArmor for I2P
sudo aa-complain /usr/sbin/wrapper
# Solution 2: Reconfigure package without AppArmor
sudo dpkg-reconfigure -plow i2p
# Select "No" when asked about AppArmor
# Solution 3: LXC/Proxmox containers - disable AppArmor in container config
lxc.apparmor.profile: unconfined
SELinux से संबंधित समस्याएँ RHEL/CentOS/Fedora पर:
# Temporary: Set permissive mode
sudo setenforce 0
# Permanent: Generate custom policy
sudo ausearch -c 'java' --raw | audit2allow -M i2p_policy
sudo semodule -i i2p_policy.pp
# Or disable SELinux for I2P process (less secure)
sudo semanage permissive -a i2p_t
SystemD सेवा समस्या निवारण:
# Detailed service status
sudo systemctl status i2p.service -l
# Full logs
sudo journalctl -xe -u i2p.service
# Follow logs live
sudo journalctl -f -u i2p.service
# Restart with logging
sudo systemctl restart i2p.service && sudo journalctl -f -u i2p.service
Windows फ़ायरवॉल और एंटीवायरस का हस्तक्षेप
Windows Defender और तृतीय-पक्ष एंटीवायरस उत्पाद अक्सर नेटवर्क व्यवहार पैटर्न के कारण I2P को चिह्नित करते हैं। उचित कॉन्फ़िगरेशन सुरक्षा बनाए रखते हुए अनावश्यक ब्लॉकों को रोकता है।
Windows Defender फ़ायरवॉल कॉन्फ़िगर करें:
# Run PowerShell as Administrator
# Find Java path (adjust for your Java installation)
$javaPath = "C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot\bin\javaw.exe"
# Create inbound rules
New-NetFirewallRule -DisplayName "I2P Java" -Direction Inbound -Program $javaPath -Action Allow
New-NetFirewallRule -DisplayName "I2P UDP" -Direction Inbound -Protocol UDP -LocalPort 22648 -Action Allow
New-NetFirewallRule -DisplayName "I2P TCP" -Direction Inbound -Protocol TCP -LocalPort 22648 -Action Allow
# Add exclusions to Windows Defender
Add-MpPreference -ExclusionPath "C:\Program Files\i2p"
Add-MpPreference -ExclusionPath "$env:APPDATA\I2P"
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\I2P"
Add-MpPreference -ExclusionProcess "javaw.exe"
http://127.0.0.1:7657/confignet पर दिए गए आपके वास्तविक I2P पोर्ट से पोर्ट 22648 को बदलें।
Kaspersky Antivirus से संबंधित विशेष समस्या: Kaspersky के “Application Control” (एप्लिकेशन नियंत्रण) wrapper.config सेटिंग्स की परवाह किए बिना Java heap को 512MB तक सीमित कर देता है। यह उच्च-बैंडविड्थ routers पर OutOfMemoryError का कारण बनता है।
समाधान: 1. Kaspersky की Exclusions सूची में I2P जोड़ें: Settings → Additional → Threats and Exclusions → Manage Exclusions 2. या Kaspersky अनइंस्टॉल करें (I2P के संचालन हेतु अनुशंसित)
थर्ड-पार्टी एंटीवायरस संबंधी सामान्य दिशानिर्देश:
- I2P की स्थापना निर्देशिका को अपवादों में जोड़ें
- %APPDATA%\I2P और %LOCALAPPDATA%\I2P को अपवादों में जोड़ें
- javaw.exe को व्यवहार-आधारित विश्लेषण से बाहर रखें
- ऐसी “Network Attack Protection” विशेषताएँ अक्षम करें जो I2P प्रोटोकॉल्स में हस्तक्षेप कर सकती हैं
macOS Gatekeeper द्वारा स्थापना अवरुद्ध
macOS Gatekeeper बिना हस्ताक्षरित अनुप्रयोगों को चलने से रोकता है। I2P इंस्टॉलर्स Apple Developer ID से साइन नहीं होते, जिससे सुरक्षा चेतावनियाँ प्रदर्शित होती हैं।
I2P इंस्टॉलर के लिए Gatekeeper को बायपास करें:
# Method 1: Remove quarantine attribute
xattr -d com.apple.quarantine ~/Downloads/i2pinstall_*.jar
java -jar ~/Downloads/i2pinstall_*.jar
# Method 2: Use System Settings (macOS 13+)
# Try to open installer → macOS blocks it
# System Settings → Privacy & Security → scroll down
# Click "Open Anyway" next to I2P warning
# Confirm in dialog
# Method 3: Control-click installer
# Control-click (right-click) i2pinstall_*.jar
# Select "Open" from menu → "Open" again in dialog
# Bypasses Gatekeeper for this specific file
स्थापना के बाद चलाने पर अब भी चेतावनियाँ आ सकती हैं:
# If I2P won't start due to Gatekeeper:
xattr -dr com.apple.quarantine ~/i2p/
Gatekeeper (macOS की सुरक्षा सुविधा) को कभी भी स्थायी रूप से निष्क्रिय न करें - अन्य अनुप्रयोगों के लिए सुरक्षा जोखिम। केवल फ़ाइल-विशिष्ट बाईपास का उपयोग करें।
macOS फ़ायरवॉल कॉन्फ़िगरेशन:
- सिस्टम प्रेफरेंसेज़ → सिक्योरिटी एवं प्राइवेसी → फ़ायरवॉल → फ़ायरवॉल ऑप्शंस
- एप्लिकेशन जोड़ने के लिए “+” पर क्लिक करें
- Java इंस्टॉलेशन तक जाएँ (उदा.,
/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/bin/java) - जोड़ें और “Allow incoming connections” पर सेट करें
Android I2P एप्लिकेशन संबंधी समस्याएँ
Android संस्करण संबंधी बाधाएँ और संसाधन सीमाएँ विशिष्ट चुनौतियाँ उत्पन्न करती हैं।
न्यूनतम आवश्यकताएँ: - वर्तमान संस्करणों के लिए Android 5.0+ (API level 21+) आवश्यक - न्यूनतम 512MB RAM, 1GB+ अनुशंसित - ऐप + router डेटा के लिए 100MB स्टोरेज - I2P के लिए बैकग्राउंड ऐप प्रतिबंध निष्क्रिय
ऐप तुरंत क्रैश हो जाती है:
- Android संस्करण जांचें: Settings → About Phone → Android version (कम से कम 5.0 या उससे अधिक होना चाहिए)
- सभी I2P संस्करण अनइंस्टॉल करें: केवल एक वैरिएंट इंस्टॉल करें:
- net.i2p.android (Google Play)
- net.i2p.android.router (F-Droid)
एकाधिक इंस्टॉल में टकराव होता है
- ऐप डेटा साफ़ करें: Settings → Apps → I2P → Storage → Clear Data
- साफ़ स्थिति से पुनः इंस्टॉल करें
बैटरी ऑप्टिमाइज़ेशन के कारण router बंद हो रहा है:
Android बैटरी बचाने के लिए बैकग्राउंड ऐप्स को आक्रामक रूप से बंद कर देता है। I2P को अपवाद देना आवश्यक है:
- सेटिंग्स → बैटरी → बैटरी ऑप्टिमाइज़ेशन (या ऐप की बैटरी खपत)
- I2P खोजें → अनुकूलित न करें (या बैकग्राउंड गतिविधि की अनुमति दें)
- सेटिंग्स → ऐप्स → I2P → बैटरी → बैकग्राउंड गतिविधि की अनुमति दें + प्रतिबंध हटाएँ
मोबाइल पर कनेक्शन संबंधी समस्याएँ:
- बूटस्ट्रैप के लिए WiFi आवश्यक है: Initial reseed (रीसीड सर्वर से प्रारंभिक डेटा प्राप्त करने की प्रक्रिया) काफी डेटा डाउनलोड करता है - WiFi का उपयोग करें, सेल्यूलर नहीं
- नेटवर्क परिवर्तन: I2P नेटवर्क स्विच को सुचारू रूप से हैंडल नहीं करता - WiFi/सेल्यूलर परिवर्तन के बाद ऐप को पुनः प्रारंभ करें
- मोबाइल के लिए बैंडविड्थ: सेल्यूलर डेटा समाप्त होने से बचने के लिए 64-128 KB/sec पर संयमित रूप से कॉन्फ़िगर करें
मोबाइल के लिए प्रदर्शन अनुकूलन:
- I2P ऐप → मेन्यू → सेटिंग्स → बैंडविड्थ
- उपयुक्त सीमाएँ निर्धारित करें: सेलुलर के लिए 64 KB/sec inbound (आगत), 32 KB/sec outbound (निर्गत)
- भाग लेने वाले tunnels कम करें: सेटिंग्स → एडवांस्ड → अधिकतम भाग लेने वाले tunnels: 100-200
- बैटरी की बचत के लिए “Stop I2P when screen off” सक्षम करें
Android पर टोरेंटिंग:
- एक साथ चलने वाले टोरेंट की संख्या अधिकतम 2-3 तक सीमित रखें
- DHT (वितरित हैश टेबल) की आक्रामकता कम करें
- टोरेंटिंग के लिए केवल वाई-फाई का उपयोग करें
- मोबाइल हार्डवेयर पर धीमी गति स्वीकार करें
Reseed (नेटवर्क की प्रारंभिक जानकारी डाउनलोड करना) और bootstrap (नेटवर्क से प्रारंभिक कनेक्शन स्थापित करना) से संबंधित समस्याएँ
I2P के नए इंस्टॉलेशनों को reseeding (प्रारंभिक पीयर जानकारी प्राप्त करना) की आवश्यकता होती है - नेटवर्क से जुड़ने के लिए सार्वजनिक HTTPS सर्वरों से प्रारंभिक पीयर जानकारी लाना। reseeding से जुड़ी समस्याएँ उपयोगकर्ताओं को शून्य पीयर और बिना नेटवर्क एक्सेस की स्थिति में फँसा देती हैं।
नई स्थापना के बाद “No active peers” आम तौर पर reseed (शुरुआत में नेटवर्क से आवश्यक डेटा/साथियों की सूची डाउनलोड करने की प्रक्रिया) की विफलता का संकेत देता है। लक्षण:
- ज्ञात समकक्ष: 0 या 5 से कम पर ही बना रहता है
- “Network: Testing” 15 मिनट से अधिक समय तक बना रहता है
- लॉग में “Reseed failed” या reseed सर्वर (प्रारंभिक पीयर-सूची स्रोत) से कनेक्शन त्रुटियाँ दिखती हैं
reseed (शुरुआती समकक्षों की सूची प्राप्त करने की प्रक्रिया) क्यों विफल होता है:
- HTTPS को ब्लॉक करने वाला फायरवॉल: कॉर्पोरेट/ISP फायरवॉल reseed server (I2P में नेटवर्क बूटस्ट्रैप/प्रारंभिक peers देने वाला सर्वर) के कनेक्शनों को ब्लॉक करते हैं (पोर्ट 443)
- SSL प्रमाणपत्र त्रुटियाँ: सिस्टम में नवीनतम रूट प्रमाणपत्र नहीं हैं
- प्रॉक्सी की आवश्यकता: बाहरी कनेक्शनों के लिए नेटवर्क को HTTP/SOCKS प्रॉक्सी चाहिए
- Clock skew (सिस्टम घड़ी का समय असंतुलन): सिस्टम समय गलत होने पर SSL प्रमाणपत्र सत्यापन विफल हो जाता है
- भौगोलिक सेंसरशिप: कुछ देश/ISP ज्ञात reseed servers को ब्लॉक करते हैं
मैन्युअल reseed (नेटवर्क बूटस्ट्रैप के लिए प्रारंभिक नोड सूची डाउनलोड) को मजबूर करें:
- http://127.0.0.1:7657/configreseed पर जाएँ
- “Save changes and reseed now” पर क्लिक करें
- http://127.0.0.1:7657/logs पर “Reseed got XX router infos” के लिए नज़र रखें
- प्रोसेसिंग के लिए 5-10 मिनट प्रतीक्षा करें
- http://127.0.0.1:7657 जाँचें - Known peers बढ़कर 50+ होना चाहिए
reseed proxy (रीसीड प्रॉक्सी) कॉन्फ़िगर करें प्रतिबंधात्मक नेटवर्क के लिए:
http://127.0.0.1:7657/configreseed → प्रॉक्सी कॉन्फ़िगरेशन:
- HTTP प्रॉक्सी: [proxy-server]:[port]
- या SOCKS5: [socks-server]:[port]
- “केवल reseed के लिए प्रॉक्सी का उपयोग करें” को सक्षम करें (reseed: I2P नेटवर्क के प्रारंभिक बूटस्ट्रैप हेतु netDb डेटा डाउनलोड करना)
- आवश्यक होने पर क्रेडेंशियल्स
- सहेजें और reseed को बलपूर्वक प्रारंभ करें
विकल्प: reseed (I2P नेटवर्क से प्रारंभिक peers प्राप्त करने की प्रक्रिया) के लिए Tor प्रॉक्सी:
यदि Tor Browser या Tor daemon (पृष्ठभूमि सेवा) चल रहा हो:
- प्रॉक्सी प्रकार: SOCKS5
- होस्ट: 127.0.0.1
- पोर्ट: 9050 (डिफ़ॉल्ट Tor SOCKS पोर्ट)
- सक्षम करें और reseed (netDb के प्रारंभिक peers को फिर से प्राप्त करना)
su3 फ़ाइल के माध्यम से हस्तचालित reseed (प्रारम्भिक नेटवर्क डेटाबेस/नोड सूची दोबारा प्राप्त करना) (अंतिम उपाय):
जब सभी स्वचालित reseed (I2P नेटवर्क से प्रारंभिक कनेक्शन/बूटस्ट्रैप के लिए डेटा प्राप्त करने की प्रक्रिया) विफल हो जाएँ, तो reseed फ़ाइल को out-of-band (मुख्य चैनल/नेटवर्क से अलग माध्यम) से प्राप्त करें:
- अप्रतिबंधित कनेक्शन पर विश्वसनीय स्रोत से i2pseeds.su3 डाउनलोड करें (https://reseed.i2p.rocks/i2pseeds.su3 , https://reseed-fr.i2pd.xyz/i2pseeds.su3 )
- I2P को पूरी तरह बंद करें
- i2pseeds.su3 को ~/.i2p/ डायरेक्टरी में कॉपी करें
- I2P प्रारंभ करें - फ़ाइल को स्वतः निकालकर और प्रोसेस करता है
- प्रोसेसिंग के बाद i2pseeds.su3 को हटा दें
- http://127.0.0.1:7657 पर पीयर्स की संख्या बढ़ने की पुष्टि करें
reseed (आरंभिक netDb डेटा प्राप्त करने की प्रक्रिया) के दौरान SSL प्रमाणपत्र त्रुटियाँ:
Error: "Reseed: Certificate verification failed"
Cause: System root certificates outdated or missing
समाधान:
# Linux - update certificates
sudo apt install ca-certificates
sudo update-ca-certificates
# Windows - install KB updates for root certificate trust
# Or install .NET Framework (includes certificate updates)
# macOS - update system
# Software Update includes certificate trust updates
30 मिनट से अधिक समय तक 0 ज्ञात पीयर्स पर अटका:
यह दर्शाता है कि reseed (प्रारंभिक बूटस्ट्रैप/नेटवर्क सीडिंग प्रक्रिया) पूरी तरह विफल हो गया है। समस्या निवारण क्रम:
- सिस्टम समय सही है, यह सत्यापित करें (सबसे सामान्य समस्या - इसे सबसे पहले ठीक करें)
- HTTPS कनेक्टिविटी का परीक्षण करें: ब्राउज़र में https://reseed.i2p.rocks खोलकर देखें - अगर यह असफल हो, तो नेटवर्क समस्या है
- I2P logs जाँचें http://127.0.0.1:7657/logs पर, विशिष्ट reseed (नेटवर्क बूटस्ट्रैप/seed डेटा प्राप्त करने की प्रक्रिया) त्रुटियों के लिए
- किसी अन्य reseed URL का प्रयास करें: http://127.0.0.1:7657/configreseed → कस्टम reseed URL जोड़ें: https://reseed-fr.i2pd.xyz/
- मैनुअल su3 file विधि का उपयोग करें (su3: I2P का हस्ताक्षरित reseed/update फ़ाइल प्रारूप) यदि स्वचालित प्रयास समाप्त हो गए हों
Reseed servers (नेटवर्क में जुड़ने के लिए प्रारंभिक नोड सूची प्रदान करने वाले सर्वर) कभी-कभी ऑफ़लाइन रहते हैं: I2P में कई हार्ड-कोड किए गए Reseed servers शामिल होते हैं। यदि कोई एक विफल हो जाए, तो router स्वतः अन्य को आज़माता है। सभी Reseed servers का पूर्ण विफल होना अत्यंत दुर्लभ है, पर संभव है।
वर्तमान सक्रिय reseed servers (रीसीड सर्वर) (अक्टूबर 2025 तक):
यदि डिफ़ॉल्ट से समस्या हो, तो कस्टम URLs के रूप में जोड़ें।
कड़ी सेंसरशिप वाले क्षेत्रों के उपयोगकर्ताओं के लिए:
प्रारंभिक reseed (प्रारंभिक नोड-सीड लाने की प्रक्रिया) के लिए Tor के जरिए Snowflake/Meek bridges (Tor के प्लगेबल ट्रांसपोर्ट ब्रिज) का उपयोग करने पर विचार करें, फिर नेटवर्क से जुड़ जाने पर सीधे I2P पर स्विच कर लें। या सेंसरशिप ज़ोन के बाहर से steganography (गोपनीय संदेश-छिपाने की तकनीक), ईमेल, या USB के जरिए i2pseeds.su3 प्राप्त करें।
अतिरिक्त सहायता कब लेनी चाहिए
यह मार्गदर्शिका I2P से संबंधित अधिकांश समस्याओं को कवर करती है, लेकिन कुछ समस्याओं के लिए डेवलपर्स का ध्यान या समुदाय की विशेषज्ञता की आवश्यकता होती है।
इन स्थितियों में I2P समुदाय से सहायता लें:
- सभी समस्या निवारण चरणों का पालन करने के बाद भी Router लगातार क्रैश होता है
- Memory leaks के कारण आवंटित heap (मेमोरी का निर्धारित भाग) से परे निरंतर वृद्धि हो रही है
- उचित कॉन्फ़िगरेशन के बावजूद Tunnel की सफलता दर 20% से कम बनी रहती है
- लॉग में नई त्रुटियाँ जो इस गाइड में शामिल नहीं हैं
- सुरक्षा कमजोरियाँ खोजी गईं
- फीचर अनुरोध या सुधार सुझाव
मदद मांगने से पहले, निदान संबंधी जानकारी एकत्र करें:
- I2P संस्करण: http://127.0.0.1:7657 (उदा., “2.10.0”)
- Java संस्करण:
java -versionआउटपुट - ऑपरेटिंग सिस्टम और संस्करण
- Router की स्थिति: नेटवर्क स्थिति, सक्रिय समकक्षों की संख्या, Participating tunnels
- बैंडविड्थ कॉन्फ़िगरेशन: इनबाउंड/आउटबाउंड सीमाएँ
- पोर्ट फ़ॉरवर्डिंग स्थिति: Firewalled या OK
- प्रासंगिक लॉग अंश: http://127.0.0.1:7657/logs से त्रुटियाँ दिखाती हुई अंतिम 50 पंक्तियाँ
आधिकारिक समर्थन चैनल:
- फोरम: https://i2pforum.net (क्लियरनेट) या http://i2pforum.i 2p (I2P के भीतर)
- IRC: #i2p Irc2P पर (irc.postman.i2p I2P के माध्यम से) या irc.freenode.net (क्लियरनेट)
- Reddit: https://reddit.com/r/i2p समुदाय चर्चा के लिए
- बग ट्रैकर: https://i2pgit.org/i2p-hackers/i2p.i2p/-/issues पुष्ट बगों के लिए
- मेलिंग सूची: i2p-dev@lists.i2p-projekt.de विकास संबंधी प्रश्नों के लिए
यथार्थवादी अपेक्षाएँ मायने रखती हैं। I2P मूलभूत डिज़ाइन के कारण clearnet (सामान्य सार्वजनिक इंटरनेट) से धीमा है - multi-hop एन्क्रिप्टेड tunnel का उपयोग स्वाभाविक विलंबता पैदा करता है। 30 सेकंड में पेज लोड और 50 KB/sec टॉरेंट गति के साथ काम कर रहा I2P router सही ढंग से काम कर रहा है, खराब नहीं है। clearnet की गति की अपेक्षा करने वाले उपयोगकर्ता, विन्यास अनुकूलन चाहे जैसा भी हो, निराश होंगे।
निष्कर्ष
अधिकांश I2P समस्याएँ तीन श्रेणियों से उत्पन्न होती हैं: bootstrap (प्रारंभिक नेटवर्क-सिंक चरण; 10-15 मिनट आवश्यक) के दौरान अपर्याप्त धैर्य, अपर्याप्त संसाधन आवंटन (न्यूनतम 512 MB RAM, 256 KB/sec बैंडविड्थ), या गलत तरीके से कॉन्फ़िगर किया गया port forwarding (router पर आने वाले पोर्ट को अंदर की मशीन तक अग्रेषित करना)। I2P की distributed architecture (विकेंद्रीकृत संरचना) और anonymity-focused design (अनामिकता/गोपनीयता केंद्रित डिज़ाइन) को समझना उपयोगकर्ताओं को अपेक्षित व्यवहार और वास्तविक समस्याओं में अंतर करने में मदद करता है।
router की “Firewalled” स्थिति, भले ही आदर्श न हो, I2P के उपयोग को नहीं रोकती - यह केवल नेटवर्क में योगदान को सीमित करती है और प्रदर्शन को थोड़ा घटाती है। नए उपयोगकर्ताओं को स्थिरता को अनुकूलन पर प्राथमिकता देनी चाहिए: उन्नत सेटिंग्स समायोजित करने से पहले router को कई दिनों तक लगातार चलाएँ, क्योंकि अपटाइम (सक्रिय रहने की अवधि) के साथ एकीकरण स्वाभाविक रूप से बेहतर होता जाता है।
समस्या निवारण करते समय, हमेशा पहले मूल बातें सत्यापित करें: सही सिस्टम समय, पर्याप्त बैंडविड्थ, router का निरंतर चलना, और 10+ सक्रिय समकक्ष। अधिकांश समस्याएँ, अस्पष्ट कॉन्फ़िगरेशन पैरामीटरों को समायोजित करने के बजाय, इन मूल बातों को ठीक करने से ही हल हो जाती हैं। I2P धैर्य और निरंतर संचालन को बेहतर प्रदर्शन से पुरस्कृत करता है, क्योंकि router अपटाइम (चालू रहने की अवधि) के दिनों और हफ्तों में अपनी साख बनाता है और समकक्ष चयन का अनुकूलन करता है।