This proposal is for creating an I2P transport that connects to other routers through Pluggable Transports.
Pluggable Transports (PTs) were developed by Tor as a way to add obfuscation transports to Tor bridges in a modular way.
I2P already has a modular transport system that decreases the barrier to adding alternative transports. Adding support for PTs would provide I2P with an easy way to experiment with alternative protocols, and get ready for blocking resistance.
There are a few potential layers of implementation:
- A generic PT that implements SOCKS and ExtORPort and configures and forks the in and out processes, and registers with the comm system. This layer knows nothing about NTCP, and it may or may not use NTCP. Good for testing.
- Building on 1), a generic NTCP PT that builds on the NTCP code and funnels NTCP to 1).
- Building on 2), a specific NTCP-xxxx PT configured to run a given external in and out process.