Resolving Architecture

Clarity in Design

I2P Client

A client for a local I2P instance. Can be ran within the Service Bus as a Service.

build Crate Info API Docs

License PGP

commits repo size

num lang top lang Rustc Version 1.42+

Info | Docs | Changelog

Donate

Request BTC/XMR/ZEC address for a donation at brian@resolvingarchitecture.io.

Notes

!! WIP - not stable until version 1.0 !!

I2P-RS version use attempted but not fully working as of 1st Qtr 2020.

Please read version notes on I2P SAM:

v1, v2, v3

Goals

*[ ] 1.0.0 - Full SAMv1.0 Compliance *[x] 0.1.0 - Minimal CLI *[x] Connect with local instance *[x] Lists known aliases with b32 addresses (from published personal addressbook - .i2p/eepsite/docroot/hosts.txt) *[x] Find a specific destination based on an alias *[x] Create minimal CLI

*[ ] 0.2.0 - Basic I/O
    *[ ] Send message over I2P
    *[ ] Receive message over I2P

*[ ] 0.3.0 - Service Bus Support
    *[ ] Support [service_bus](https://crates.io/crates/service-bus) crate implementing Service trait

*[ ] 0.4.0 - EEP Site Support
    *[ ] Support requesting EEPSite pages persisting locally (started but unsure how to make request/reply using SAM interface)

*[ ] 0.5.0 - Router Control
    *[ ] [I2P Control](https://geti2p.net/en/docs/api/i2pcontrol) integration

*[ ] 0.6.0 - Examples and Documentation
    *[ ] Example CLI use cases
    *[ ] Example Service use cases
    *[ ] README.md completed
    *[ ] All code documented
    *[ ] All examples documented

*[ ] 0.7.0 - Fully Tested and Released for Production

*[ ] 0.8.0 - Ease of installation
    *[ ] Determine if local I2P router installed
    *[ ] Determine local I2P router status
    *[ ] Auto-install I2P router

*[ ] 0.9.0 - All SAMv1.0 features implemented and tested

*[ ] 2.0.0 - Full SAMv2.0 Compliance

*[ ] 3.0.0 - Full SAMv3.0 Compliance

*[ ] 3.1.0 - Full SAMv3.1 Compliance

*[ ] 3.2.0 - Full SAMv3.2 Compliance *[ ] Ping/Pong (Code implemented; waiting on SAM 3.2 support)

Crates.io

!! WIP - not stable until version 1.0 !!

Setup - Ubuntu 18.04

  1. Download & Install I2P Router shell script sudo apt-add-repository ppa:i2p-maintainers/i2p sudo apt-get update sudo apt-get install I2P
  2. Start I2P Router from the commandline, wait for the html console to launch, then wait for active peers to reach at least 10 shell script i2prouter start
  3. Stop I2P Router shell script i2prouter stop
  4. Enable SAMv3 port by changing parameter clientApp.0.startOnLoad from false to true in file 01-net.i2p.sam.SAMBridge-clients.config located in your home directory at: .i2p/clients.config.d/ (your home directory on Linux: /home/username)
  5. Install Rust shell script sudo apt update sudo apt upgrade curl https://sh.rustup.rs -sSf | sh
  6. Restart terminal
  7. Verify Rust installed shell script rustc --version
  8. Install build essentials shell script sudo apt install build-essential