Skip to content

I2P SAMv3 support

jpk68 requested to merge jpk68/ccs-proposals:proposals into master
layout: fr
title: "I2P SAMv3 support"
author: jpk68
date: March 7, 2026
amount: 50
milestones:
  - name: Research and prototype
    funds: 10
    done:
    status: unfinished
  - name: Core SAMv3 implementation in `monerod`
    funds: 15
    done:
    status: unfinished
  - name: GUI integration and docs
    funds: 10
    done:
    status: unfinished
  - name: Beta testing and review
    funds: 15
    done:
    status: unfinished
payouts:
  - date:
    amount:
  - date:
    amount:
  - date:
    amount:
  - date:
    amount:

What

Monero's core software currently has very limited support for the I2P network, which is through the use of SOCKS proxies. This has a number of disadvantages in terms of both security and ease of use.

I propose to work on improving and modernizing I2P support in Monero through the following:

  • Implementing I2P's SAMv3 protocol in monerod
  • Adding functionality to the GUI for configuring I2P connections
  • Contributing to and improving upon existing documentation for anonymity networks in Monero
  • Attending community/development meetings
  • Other tasks mentioned below

The scope of tasks/effort needed is very similar to that which has already been discussed here.

Milestones

Milestone 1: Research and prototype (10 XMR)

  • Study SAMv3 docs, evaluate existing protocol implementations
  • Decide on ACCEPT vs FORWARD for incoming connections, permanent vs transient destinations
  • Deliver a working proof-of-concept SAMv3 session from monerod, connecting to a test I2P router

Milestone 2: Core SAMv3 implementation in monerod (15 XMR)

  • Full SAMv3 integration replacing the SOCKS proxy path
  • Support for both Java I2P and i2pd routers
  • Handle external router start/stop/restart gracefully
  • Sane default tunnel configuration per I2P expert guidance
  • Deliver a working PR with SAMv3, functional for CLI usage, with unit tests as per guidelines

Milestone 3: GUI integration and docs (10 XMR)

  • Toggle to enable/configure I2P connections in the GUI; indicator for router status (up/down)
  • Configuration options exposed in GUI
  • Rewritten docs: new install (i2pd + Java I2P), migration from i2p-zero, migration of existing setups
  • Verify and update seed node list

Milestone 4: Beta testing and review (15 XMR)

  • Announce and recruit beta testers
  • Address community feedback from testing
  • Pass code review requirements
  • Address all PR review comments
  • PR has loose approval, and is ready to be merged into master branch

Who

I'm a self-taught programmer who has been interested in Monero and similar projects for quite some time now. I have been active in development discussion/happenings on IRC/Matrix for several months, and have also contributed a number of merged PRs (albeit mostly small ones) to core Monero repos as well as Monero-adjacent community projects. Here are some examples:

Funding

I am requesting a total of 50 XMR for all milestones combined, with the corresponding amount to be paid out upon the completion of each individual milestone.

Edited by jpk68

Merge request reports

Loading