README 建议优先用预编译包,源码构建需按对应操作系统文档操作;Android 与 Qt GUI 版本在独立仓库 i2pd-android、i2pd-qt 中;项目不接受 LLM/AI 生成的 PR 与 issue 文本
i2pd
PurpleI2PBSD-3-Clause活跃维护轻量级 C++ 实现的 I2P 匿名网络客户端,提供端到端加密通信,可替代官方 Java 版,适合在资源受限设备上搭建隐私网络。
🛡 I2P: End-to-End encrypted and anonymous Internet
从 https://github.com/PurpleI2P/i2pd/releases/latest 下载预编译包或二进制文件安装;源码构建方式见 https://i2pd.readthedocs.io/en/latest/README 未说明具体硬件要求,仅列出支持的系统与平台(GNU/Linux、Windows、macOS、FreeBSD、Android、iOS、Docker、Snap)
I2P 匿名网络的 C++ 全功能客户端守护进程,用来搭建端到端加密、不暴露真实 IP 的匿名通信
轻量级 C++ 实现的 I2P 匿名网络客户端,提供端到端加密通信,可替代官方 Java 版,适合在资源受限设备上搭建隐私网络。
核心能力
- 实现 I2P 匿名网络层,通信端到端加密且不暴露真实 IP
- 提供分布式匿名网络框架,支持 P2P 与客户端-服务器类应用
- 体积小、依赖简单、性能快
- 为安全应用开发者提供丰富的 API 集合
- 支持 Linux、Windows、macOS、FreeBSD、Android、iOS 及 Docker/Snap 部署
容易踩的坑
- 3.0.0最新正式版2026-10-20 · 2026-10-20 19:06 UTC
- Torrents tunnels with RPC, magnets, PEX, DHT, datagram trackers support
- Full SAM 3.3 implementation
- Multi-destination client tunnels
- Offline keys for an encrypted LeaseSet
- Fixed Datagram2 signatures
- Faster LeaseSet lookups
- Less datagram loss ratio
- New UDP tunnels window and ack policy. Fixed stalled UDP tunnels
- Added "LocalDestinationInfo" method to I2PControl
- Fixed SAM session disconnect after reconnect
- Create keys files readable by owner only
- Reject LeaseSet type 1 if coming from ECIESx25519 session
- Close HTTP server connection if invalid or too long headers
- Allow ipv6 binding for Haiku
- Reject ipv4-mapped ipv6 addresses in RouterInfo
- Updated reseeds list
- 2.61.02026-07-20 · 2026-07-20 18:39 UTC
查看更新说明
- Implemented torsocks support in SOCKS proxy
- Fixed Incorrect offline signature in CLOSE streaming packet
- Always send ".b32.i2p" in "Host:" header from HTTP proxy
- Fixed "i2cp.closeIdleTime" and "i2cp.newDestOnResume" for default HTTP and SOCKS proxy
- Set SSU2 default crypto type to ML-KEM-768 when applicable
- Implemented peer ordering keys and groups
- "keepaliveinterval" for UDP client tunnel
- Support OpenSSL 4
- Fixed websocket connection get terminated immediately through HTTP server tunnel
- Support ".b32.i2p" and B33 hosts in SAM datagram destinations
- Send data with SYN streaming packet if available
- Post-quantum support with LibreSSL
- Option to disable unveil/pledge in OpenBSD
- Handle 'm' and 'r' tunnel build request options
- Update destination's transient keys through SAM
- Try to reseed again after 30 second if failed
- Show router caps in main window for Windows and Haiku
- 2.60.02026-04-25 · 2026-04-25 08:38 UTC
查看更新说明
- Implemented "i2cp.closeIdleTime" and "i2cp.newDestOnResume" client tunnel and proxy params
- Use ML-KEM-768 crypto type by default if openssl >= 3.5
- Binding to ipv6 ULA address
- Set default bandwidth=O for x86_64 and bandwidth=P for x86_64 with more than 4 cores
- Forward ipv4 and ipv6 connections to usptream SOCK5 proxy
- New routers profiling algorithm
- Fixed incorrect private signing key size for offline signatures
- Generate ECIESx25519 session tags faster
- More I2PControl RouterInfo metrics
- Localization to Persian
- Fixed incorrect new session reply for session with post-quantum crypto
- Fixed Inverted value of "i2cp.dontPublishLeaseSet"
- Recreate zero and one hop tunnels after being offline
- Updated reseeds list
- 2.59.02026-02-08 · 2026-02-08 22:51 UTC
查看更新说明
- Post-quantum NTCP2 crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if OpenSSL >= 3.5.0
- UDP associate for SOCKS5 proxy
- Localization to Esperanto, Filipino and Finnish. Updated localization to Hebrew
- Fixed random NetDb crash on stop
- Limited connectivity mode
- Multiple fixes for SAM datagrams
- Limiting the number of datagrams sent to maintain the consistency of session encryption through UDP tunnels
- Desktop app mode for Haiku
- False positive peer test cause by recent another peer test
- Don't communicate with routers of version < 0.9.58
- Floodfills are not introducers
- Publish actual port if full-cone NAT
- "i2p.streaming.maxConnsPerMinute" and "i2p.streaming.maxResends" params
- Trusted routers list for first hop per tunnel
- Multiple streaming performance improvements
- Multi cloves garlic message for datagrams. Datagram3 and 800 inbound tags by default
- Webconsole layout improvements
- Updated reseeds list
- 2.58.02025-09-08 · 2025-09-08 22:59 UTC
查看更新说明
- Post-quantum end-to-end crypto(ML-KEM-512, ML-KEM-768, ML-KEM-1024) support if OpenSSL >= 3.5.0. Enable it by default
- Datagram2 and Datagram3
- Support boost 1.89
- Don't verify streaming SYN packet signature if comes from an ECIESx25519 session
- Specify light or dark theme for webconsole
- Try to resolve host again in server tunnel if failed before
- "ssu2.firewalled4" and "ssu2.firewalled6" params to force Firewalled even if network is OK
- Create unique loopback address from fd00::/8 range for ::1 if explicitly set in server tunnels
- Don't show Network status if ipv6 only
- SAM PING command
- Send correct version in I2CP SetDate message
- Fixed max UDP buffer size for OpenBSD
- "i2p.streaming.maxWindowSize" and "i2p.streaming.dontSign" params
- Streaming ping through BOB
- Limit number of outbound streaming packets if the peer can't handle them
- Updated reseeds list
- Fixed lack of file descriptors for Haiku
- Outgoing stream will not constantly re-requests LeaseSet if the remote peer has gone away
- Don't call deprecated functions for openssl 3
- Accept "HELLO VERSION" without "MIN" and "MAX" in SAM
- Non-blocking mode for UDP sockets in UDP tunnels
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Note: i2pd for Android can be found in the i2pd-android repository and with a Qt GUI in the i2pd-qt repository. For macOS, a GUI version can be found in the gui-i2pd repository.
i2pd
i2pd (I2P Daemon) is a full-featured C++ implementation of I2P client.
I2P (Invisible Internet Protocol) is a universal anonymous network layer.
All communications over I2P are anonymous and end-to-end encrypted, participants
don't reveal their real IP addresses.
I2P client is a software used for building and using anonymous I2P networks. Such networks are commonly used for anonymous peer-to-peer applications (filesharing, cryptocurrencies) and anonymous client-server applications (websites, instant messengers, chat-servers).
I2P allows people from all around the world to communicate and share information without restrictions.
Features
- Distributed anonymous networking framework
- End-to-end encrypted communications
- Small footprint, simple dependencies, fast performance
- Rich set of APIs for developers of secure applications
Resources
Installing
The easiest way to install i2pd is by using precompiled packages and binaries.
You can fetch most of them on release page.
Please see documentation for more info.
Building
See documentation for how to build i2pd from source on your OS.
note: i2pd with Qt GUI can be found in i2pd-qt repository and for android in i2pd-android repository.
Build instructions:
Supported systems:
- GNU/Linux (Debian, Ubuntu, etc) -
- CentOS, Fedora, Mageia -

- Alpine, ArchLinux, openSUSE, Gentoo, etc.
- Windows -
- Mac OS -
- Docker image -
- Snap -
- FreeBSD -
- Android
- iOS
Using i2pd
See documentation and example config file.
Localization
You can help us with translation i2pd to your language using Crowdin platform! Translation project can be found here.
New languages can be requested on project's discussion page.
No LLM/AI policy
No LLM/AI generated code for pull requests
No LLM/AI generated texts for issues
Donations
E-Mail: i2porignal at yandex.com
BTC: 3MDoGJW9TLMTCDGrR9bLgWXfm6sjmgy86f
LTC: LKQirrYrDeTuAPnpYq5y7LVKtywfkkHi59
ETH: 0x9e5bac70d20d1079ceaa111127f4fb3bccce379d
GST: GbD2JSQHBHCKLa9WTHmigJRpyFgmBj4woG
DASH: Xw8YUrQpYzP9tZBmbjqxS3M97Q7v3vJKUF
ZEC: t1cTckLuXsr1dwVrK4NDzfhehss4NvMadAJ
ANC: AQJYweYYUqM1nVfLqfoSMpUMfzxvS4Xd7z
XMR: 497pJc7X4xqKvcLBLpSUtRgWqMMyo24u4btCos3cak6gbMkpobgSU6492ztUcUBghyeHpYeczB55s38NpuHoH5WGNSPDRMH
License
This project is licensed under the BSD 3-clause license, which can be found in the file LICENSE in the root of the project source code.