31 releases
0.2.9 | Apr 14, 2020 |
---|---|
0.2.8 | Apr 14, 2020 |
0.1.2 | Apr 12, 2020 |
0.0.24 | Apr 10, 2020 |
0.0.11 | Mar 26, 2020 |
#2378 in Command line utilities
105 downloads per month
Used in 2 crates
51KB
918 lines
Resolving Architecture
Clarity in Design
I2P Client
A client for a local I2P instance. Can be ran within the Service Bus as a Service.
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:
Goals
*[ ] 1.0.0 - Minimal Useful Functionality *[x] 0.1.0 - Minimal CLI: Handshake and Session creation *[x] 0.2.0 - Basic I/O: Send/Receive Datagrams *[ ] 0.3.0 - Service Bus Support: service_bus crate implementing Service trait *[ ] 0.4.0 - EEP Site Support: requesting EEPSite pages persisting locally (started but unsure how to make request/reply using SAM interface) *[ ] 0.5.0 - Router Control: I2P Control integration *[ ] 0.6.0 - Test Suite *[ ] 0.7.0 - Example CLI use cases *[ ] 0.8.0 - Example Service use cases *[ ] 0.9.0 - Determine if local I2P router installed *[ ] 0.10.0 - Determine local I2P router status *[ ] 0.11.0 - Auto-install I2P router *[ ] 0.12.0 - README.md completed *[ ] 0.13.0 - All code documented *[ ] 0.14.0 - All examples documented
*[ ] 2.0.0 SAMv3.0 Compliance
*[ ] 3.0.0 SAMv3.1 Compliance
*[ ] 4.0.0 SAMv3.2 Compliance *[ ] 4.1.0 - Ping/Pong
*[ ] 5.0.0 SAMv3.3 Compliance
!! WIP - not stable until version 1.0 !!
Setup - Ubuntu 18.04
- Download & Install I2P Router
sudo apt-add-repository ppa:i2p-maintainers/i2p sudo apt-get update sudo apt-get install I2P
- 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
- Stop I2P Router
i2prouter stop
- 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)
- Install Rust
sudo apt update sudo apt upgrade curl https://sh.rustup.rs -sSf | sh
- Restart terminal
- Verify Rust installed
rustc --version
- Install build essentials
sudo apt install build-essential
- install crate
cargo install i2p_client
Demo
Utilities
-
CLI Help:
~/.cargo/bin/i2p_client
-
Generate Pub/Priv keys:
~/.cargo/bin/i2p_client gen --sig_type EDDSA_SHA512_ED25519
Send/Receive
- Receiver:
~/.cargo/bin/i2p_client --alias Bob receive
- Sender:
~/.cargo/bin/i2p_client --alias Alice send --message 'hello Bob, sincerely Alice' --to [Bob's local destination here - the one with AAAA on end - size=516]
Note: Initial session creation can take a few minutes waiting on tunnels; 1st message may not get through, try another
Dependencies
~3MB
~51K SLoC