i2a is a lightweight, standalone bridge that exposes the Invisible Internet Project (I2P) network as a standard local HTTP API.
It embeds the full Emissary I2P router, meaning you only need a single binary to get started. It handles the complex lifecycle of the router and creates a clean reverse proxy, allowing standard tools (browsers, Postman, curl, or your own apps) to interact with hidden services effortlessly.
- Zero Config: Launches and manages the underlying I2P router automatically (Embedded).
- Single Binary: No external dependencies or separate router binaries needed.
- Port Mapping: Maps any
.i2phidden service tolocalhost:8790(or your chosen port). - Hardened: Strips sensitive headers before forwarding to the anonymous network.
- Cross-Platform: Runs natively on Windows, Linux, and macOS (Intel & Apple Silicon).
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/BlackTechX011/i2a/main/scripts/install.sh | bashWindows (PowerShell)
iwr -useb https://raw.githubusercontent.com/BlackTechX011/i2a/main/scripts/install.ps1 | iex- Go to the Releases Page.
- Download the binary for your platform.
- Run it!
git clone https://github.com/BlackTechX011/i2a.git
cd i2a/i2a
cargo build --releaseBy default, i2a targets i2p-projekt.i2p and hosts it on port 8790.
# Start the bridge
i2aTarget a specific hidden service:
i2a --target http://myhiddenwebsite.i2pChange the local hosting port:
i2a --port 3000Full Help Menu:
i2a --helpgraph LR
User[User / Browser] -- HTTP Request --> I2A[i2a Local Server :8790]
subgraph "i2a Process"
I2A -- Sanitized Req --> Emissary[Embedded I2P Router]
end
Emissary -- Encrypted --> I2P[I2P Network]
I2P -- Response --> Emissary
Emissary --> I2A
I2A --> User
This tool is for educational purposes and facilitating access to the I2P network. The author is not responsible for the content accessed via the I2P network.
MIT License.