주요 I2P 클라이언트 구현체는 Java를 사용합니다. 특정 시스템에서 Java를 사용할 수 없거나 선호하지 않는 경우, 커뮤니티 구성원들이 개발하고 유지 관리하는 대안적인 I2P 클라이언트 구현체들이 있습니다. 이러한 프로그램들은 다른 프로그래밍 언어나 접근 방식을 사용하여 동일한 핵심 기능을 제공합니다.
비교표
| 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 클라이언트입니다. 수년간(2016년경부터) 프로덕션 사용에서 안정적이었으며 커뮤니티에서 적극적으로 유지보수하고 있습니다. i2pd는 I2P 네트워크 프로토콜과 API를 완전히 구현하여 Java I2P 네트워크와 완전히 호환됩니다. 이 C++ router는 Java 런타임을 사용할 수 없거나 원하지 않는 시스템에서 경량 대안으로 자주 사용됩니다. i2pd에는 구성 및 모니터링을 위한 내장 웹 기반 콘솔이 포함되어 있습니다. 크로스 플랫폼이며 다양한 패키징 형식으로 제공되며, i2pd의 Android 버전도 이용 가능합니다(예: F-Droid를 통해).
Go-I2P (Go)
저장소: https://github.com/go-i2p/go-i2p
설명: Go-I2P는 Go 프로그래밍 언어로 작성된 I2P 클라이언트입니다. I2P router의 독립적인 구현으로, Go의 효율성과 이식성을 활용하는 것을 목표로 합니다. 프로젝트는 활발히 개발되고 있지만 아직 초기 단계이며 기능이 완전하지 않습니다. 2025년 현재, Go-I2P는 실험적인 것으로 간주됩니다 — 커뮤니티 개발자들이 활발히 작업하고 있지만, 더 성숙해질 때까지는 프로덕션 환경에서의 사용은 권장되지 않습니다. Go-I2P의 목표는 개발이 완료되면 I2P 네트워크와 완전히 호환되는 현대적이고 경량의 I2P router를 제공하는 것입니다.
Emissary (Rust)
웹사이트: https://eepnet.github.io/emissary/
설명: Emissary는 임베디드 I2P router로 작동하도록 설계된 I2P 프로토콜 스택의 Rust 구현체입니다. 다른 애플리케이션에 통합하거나 독립적으로 실행할 수 있습니다. Emissary는 eepsite 호스팅, 토렌트, IRC 및 이메일 서비스를 지원합니다. 이 프로젝트에는 빠른 설정, 개발자를 위한 임베딩, 상세한 구성을 다루는 광범위한 문서가 포함되어 있습니다. 실험적인 프로젝트로서 활발한 개발 중이며 아직 프로덕션 사용에는 권장되지 않습니다.
I2P+ (Java 포크)
웹사이트: https://i2pplus.github.io
설명: I2P+는 표준 Java I2P 클라이언트의 커뮤니티 유지 관리 포크입니다. 새로운 언어로 재구현한 것이 아니라, 추가 기능과 최적화가 포함된 Java router의 향상된 버전입니다. I2P+는 공식 I2P 네트워크와 완전한 호환성을 유지하면서 개선된 사용자 경험과 더 나은 성능 제공에 중점을 둡니다. 새로워진 웹 콘솔 인터페이스, 더 사용자 친화적인 구성 옵션, 그리고 다양한 최적화(예: 향상된 torrent 성능과 특히 방화벽 뒤의 router를 위한 네트워크 피어 처리 개선)를 도입합니다. I2P+는 공식 I2P 소프트웨어와 마찬가지로 Java 환경이 필요하므로, Java가 없는 환경을 위한 해결책은 아닙니다. 하지만 Java를 보유하고 있으면서 추가 기능이 있는 대안적인 빌드를 원하는 사용자에게는 I2P+가 매력적인 선택지를 제공합니다. 이 포크는 업스트림 I2P 릴리스와 함께 최신 상태로 유지되며(버전 번호에 “+” 추가), 프로젝트 웹사이트에서 구할 수 있습니다.