i2p_client 0.0.24

A SAMv3 I2P client for the local I2P router instance.
Documentation

Donate

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

Notes

!! WIP - not stable until version 1.0 !!

Goals

*[x] Connect with local instance *[x] Create minimal CLI *[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] Ping/Pong (Code implemented; waiting on SAM 3.2 support - currently only supporting 3.0-3.1) *[ ] Support requesting EEPSite pages persisting locally *[ ] Send message over I2P *[ ] Receive message over I2P *[ ] Determine if local I2P router installed *[ ] Determine local I2P router status *[ ] Auto-install I2P router *[ ] Support service_bus crate implementing Service trait *[ ] Control local I2P router instance lifecycle (start/stop)

Crates.io

!! WIP - not stable until version 1.0 !!

Setup - Ubuntu 18.04

  1. Download & Install I2P Router
    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
    i2prouter start
    
  3. Stop I2P Router
    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
    sudo apt update
    sudo apt upgrade
    curl https://sh.rustup.rs -sSf | sh
    
  6. Restart terminal
  7. Verify Rust installed
     rustc --version
    
  8. Install build essentials
    sudo apt install build-essential