주요 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 |
| 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는 구성 및 모니터링을 위한 웹 기반 콘솔이 내장되어 있습니다. 크로스 플랫폼을 지원하며 다양한 패키징 형식으로 제공됩니다 — Android 버전의 i2pd도 사용 가능합니다(예: 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를 제공하는 것입니다.
I2P+ (Java 포크)
웹사이트: https://i2pplus.github.io
설명: I2P+는 표준 Java I2P 클라이언트의 커뮤니티 유지 관리 포크입니다. 새로운 언어로 재구현한 것이 아니라, 추가 기능과 최적화를 갖춘 Java router의 향상된 버전입니다. I2P+는 공식 I2P 네트워크와 완전히 호환되면서도 개선된 사용자 경험과 더 나은 성능 제공에 중점을 둡니다. 새롭게 디자인된 웹 콘솔 인터페이스, 더 사용자 친화적인 구성 옵션, 그리고 다양한 최적화(예: 향상된 토렌트 성능과 방화벽 뒤에 있는 router를 위한 개선된 네트워크 피어 처리)를 도입했습니다. I2P+는 공식 I2P 소프트웨어와 마찬가지로 Java 환경을 필요로 하므로, Java가 아닌 환경을 위한 솔루션은 아닙니다. 그러나 Java를 사용할 수 있고 추가 기능을 갖춘 대체 빌드를 원하는 사용자에게 I2P+는 매력적인 옵션을 제공합니다. 이 포크는 업스트림 I2P 릴리스와 동기화되어 최신 상태를 유지하며(버전 번호에 “+” 접미사 추가), 프로젝트 웹사이트에서 다운로드할 수 있습니다.