मुख्य I2P client implementation Java का उपयोग करता है। यदि आप किसी विशेष system पर Java का उपयोग नहीं कर सकते या नहीं करना चाहते हैं, तो community members द्वारा विकसित और maintained वैकल्पिक I2P client implementations उपलब्ध हैं। ये programs विभिन्न programming languages या approaches का उपयोग करके समान मुख्य functionality प्रदान करते हैं।
तुलना तालिका
| Client | Language | Maturity | Actively Maintained | Suitable For | Notes |
|---|---|---|---|---|---|
| Java I2P | Java | Stable | ✅ Yes (official) | General users | Standard full router; includes console, plugins, and tools |
| i2pd | C++ | Stable | ✅ Yes | Low-resource systems, servers | Lightweight, fully compatible with Java I2P, includes web console |
| Go-I2P | Go | Experimental | ⚙️ In development | Developers, testing | Early-stage Go implementation; not yet production ready |
| Emissary | Rust | Experimental | ⚙️ In development | Developers, embedded use | Rust I2P implementation; embeddable router with eepsite, torrent, IRC and email support |
| I2P+ | Java | Stable (fork) | ✅ Yes | Advanced users | Enhanced Java I2P fork with UI and performance improvements |
i2pd (C++)
वेबसाइट: https://i2pd.website
विवरण: i2pd (I2P Daemon) C++ में लागू किया गया एक पूर्ण-सुविधा युक्त I2P client है। यह कई वर्षों से production उपयोग के लिए स्थिर है (लगभग 2016 से) और समुदाय द्वारा सक्रिय रूप से maintained है। i2pd I2P network protocols और APIs को पूर्ण रूप से implement करता है, जो इसे Java I2P network के साथ पूरी तरह compatible बनाता है। यह C++ router अक्सर उन systems पर lightweight विकल्प के रूप में उपयोग किया जाता है जहां Java runtime उपलब्ध नहीं है या अवांछित है। i2pd में configuration और monitoring के लिए एक built-in web-based console शामिल है। यह cross-platform है और कई packaging formats में उपलब्ध है — i2pd का एक Android version भी उपलब्ध है (उदाहरण के लिए, F-Droid के माध्यम से)।
Go-I2P (Go)
रिपॉजिटरी: https://github.com/go-i2p/go-i2p
विवरण: Go-I2P एक I2P client है जो Go programming language में लिखा गया है। यह I2P router का एक स्वतंत्र implementation है, जिसका उद्देश्य Go की efficiency और portability का लाभ उठाना है। यह project सक्रिय विकास के अधीन है, लेकिन यह अभी भी प्रारंभिक चरण में है और अभी तक feature-complete नहीं है। 2025 तक, Go-I2P को experimental माना जाता है — यह community developers द्वारा सक्रिय रूप से काम किया जा रहा है, लेकिन जब तक यह और परिपक्व नहीं हो जाता, तब तक production उपयोग के लिए इसकी अनुशंसा नहीं की जाती है। Go-I2P का लक्ष्य एक आधुनिक, हल्का I2P router प्रदान करना है जो विकास पूरा होने पर I2P network के साथ पूर्ण compatibility रखे।
Emissary (Rust)
वेबसाइट: https://eepnet.github.io/emissary/
विवरण: Emissary एक Rust implementation है I2P protocol stack का, जो एक embeddable I2P router के रूप में कार्य करने के लिए डिज़ाइन किया गया है। इसे अन्य applications में integrate किया जा सकता है या standalone चलाया जा सकता है। Emissary eepsite hosting, torrents, IRC और email services का समर्थन करता है। इस project में व्यापक documentation शामिल है जो quick-start setup, developers के लिए embedding, और विस्तृत configuration को कवर करती है। एक experimental project के रूप में, यह सक्रिय विकास के अधीन है और अभी तक production use के लिए अनुशंसित नहीं है।
I2P+ (Java fork)
वेबसाइट: https://i2pplus.github.io
विवरण: I2P+ मानक Java I2P क्लाइंट का एक समुदाय द्वारा रखरखाव किया गया fork है। यह किसी नई भाषा में reimplementation नहीं है, बल्कि अतिरिक्त सुविधाओं और अनुकूलन के साथ Java router का एक उन्नत संस्करण है। I2P+ आधिकारिक I2P नेटवर्क के साथ पूर्ण रूप से संगत रहते हुए बेहतर उपयोगकर्ता अनुभव और बेहतर प्रदर्शन प्रदान करने पर केंद्रित है। यह एक नवीनीकृत वेब कंसोल इंटरफेस, अधिक उपयोगकर्ता-अनुकूल कॉन्फ़िगरेशन विकल्प, और विभिन्न अनुकूलन प्रस्तुत करता है (उदाहरण के लिए, बेहतर torrent प्रदर्शन और नेटवर्क peers की बेहतर handling, विशेष रूप से firewall के पीछे के routers के लिए)। I2P+ को आधिकारिक I2P सॉफ़्टवेयर की तरह ही Java environment की आवश्यकता होती है, इसलिए यह गैर-Java environments के लिए समाधान नहीं है। हालांकि, उन उपयोगकर्ताओं के लिए जिनके पास Java है और वे अतिरिक्त क्षमताओं के साथ वैकल्पिक build चाहते हैं, I2P+ एक आकर्षक विकल्प प्रदान करता है। इस fork को upstream I2P releases के साथ अद्यतन रखा जाता है (इसकी version numbering में “+” जोड़कर) और इसे प्रोजेक्ट की वेबसाइट से प्राप्त किया जा सकता है।