Overview
BitTorrent over I2P enables anonymous file sharing through encrypted tunnels using I2P’s streaming layer. All peers are identified by cryptographic I2P destinations instead of IP addresses. The system supports HTTP and UDP trackers, hybrid magnet links, and post-quantum hybrid encryption.
1. Protocol Stack
| Layer | Function | Example |
|---|---|---|
| Application | BitTorrent | i2psnark, BiglyBT |
| Transport | Streaming / SAM v3 | I2CP, NTCP2 |
| Network | Garlic routing | I2NP |
All connections run through I2P’s encrypted transport layer (NTCP2 or SSU2). Even UDP tracker packets are encapsulated within I2P streaming.
2. Trackers
HTTP Trackers
Standard .i2p trackers respond to HTTP GET requests such as:
http://tracker2.postman.i2p/announce?info_hash=<20-byte>&peer_id=<20-byte>&port=6881&uploaded=0&downloaded=0&left=1234&compact=1
Responses are bencoded and use I2P destination hashes for peers.
UDP Trackers
UDP trackers were standardized in 2025 (Proposal 160).
Primary UDP Trackers
udp://tracker2.postman.i2p/announceudp://opentracker.simp.i2p/ahttp://opentracker.skank.i2p/ahttp://opentracker.dg2.i2p/a
3. Magnet Links
magnet:?xt=urn:btih:<infohash>&dn=<name>&tr=http://tracker2.postman.i2p/announce&tr=udp://denpa.i2p/announce&xs=i2p:<destination.b32.i2p>
| Parameter | Meaning |
|---|---|
xs=i2p:<dest> | Explicit I2P destination |
tr= | Tracker URLs (HTTP or UDP) |
dn= | Display name |
Magnet links support hybrid swarms across I2P and clearnet when configured.
4. DHT Implementations
| Implementation | Type | Status |
|---|---|---|
| Java I2P | Experimental overlay | Stable |
| i2pd | UDP-based internal overlay | Active |
| BiglyBT | SAM v3.3-based | Fully supported |
5. Client Implementations
I2PSnark
- Bundled with all routers
- HTTP-only tracker support
- Built-in tracker at
http://127.0.0.1:7658/ - No UDP tracker support
BiglyBT
- Full-featured with I2P plugin
- Supports HTTP + UDP trackers
- Hybrid torrent support
- Uses SAM v3.3 interface
Tixati / XD
- Lightweight clients
- SAM-based tunneling
- Experimental ML-KEM hybrid encryption
6. Configuration
I2PSnark
i2psnark.dir=/home/user/torrents
i2psnark.autostart=true
i2psnark.maxUpBW=128
i2psnark.maxDownBW=256
i2psnark.enableDHT=false
BiglyBT
SAMHost=127.0.0.1
SAMPort=7656
SAMNickname=BiglyBT-I2P
SAMAutoStart=true
DHTEnabled=true
7. Security Model
| Component | Description |
|---|---|
| Encryption | NTCP2 / SSU2 with X25519+ML-KEM hybrid |
| Identity | I2P destinations replace IP addresses |
| Anonymity | Peer info hidden; traffic multiplexed |
| Leak Prevention | Remove headers (X-Forwarded-For, Client-IP, Via) |
Hybrid (clearnet + I2P) torrents should be used only if anonymity isn’t critical.
8. Performance
| Factor | Impact | Recommendation |
|---|---|---|
| Tunnel length | Adds latency | 1-hop client, 2-hop server |
| Peers | Boosts speed | 20+ active peers |
| Compression | Minimal gain | Usually off |
| Bandwidth | Router-limited | Default settings optimal |
Typical speeds range 30–80 KB/s, depending on peers and network conditions.
9. Known Issues
- Partial DHT interoperability between Java I2P and i2pd
- Magnet metadata fetch delay under heavy load
- NTCP1 deprecated but still used by old peers
- UDP simulated over streaming increases latency
10. Future Roadmap
- QUIC-like multiplexing
- Full ML-KEM integration
- Unified hybrid swarm logic
- Improved reseed mirrors
- Adaptive DHT retries