mirror of
https://github.com/go-i2p/go-i2ptunnel.git
synced 2025-07-13 16:53:24 -04:00
TCP "Standard" Tunnels:
TCP Tunnels provide a transparent bridge between TCP applications and I2P networks. These "Standard" tunnels enable secure, anonymous communication by creating direct connections between TCP endpoints and I2P destinations.
TCP Server Tunnel
A TCP Server tunnel connects a local TCP service to the I2P network through:
- A TCP Client component that interfaces with the local service
- An I2P Service component that maintains a persistent destination address
When an I2P peer connects to the tunnel's destination, the traffic flows:
- Incoming: I2P Network → I2P Service → TCP Client → Local Service
- Outgoing: Local Service → TCP Client → I2P Service → I2P Network
TCP Client Tunnel
A TCP Client tunnel operates by:
- Running a TCP Server that listens on a local port
- Maintaining an I2P Client connected to a specific destination
When activated:
- Local applications connect to the TCP Server
- Traffic routes through the I2P Client to the target I2P destination
- Creates a secure point-to-point connection
Both tunnel types preserve the original TCP traffic while adding I2P's anonymity and encryption layers.
When a local client connects to the I2P tunnel's destination, the traffic flows:
- Outgoing: Local Client → TCP Server → I2P Client → I2P Network
- Incoming: I2P Network → I2P Client → TCP Server → Local Client