diff --git a/README.md b/README.md index 053588d..e794abf 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ A low-level Go implementation of the I2P Client Protocol (I2CP) focused on devel ## Features - Pure Go I2CP client implementation with minimal dependencies +- Complete I2CP client - Secure session establishment and management - Cryptographic operations (DSA/SHA1/SHA256) - Stream-based encrypted messaging @@ -87,6 +88,37 @@ This library implements core I2P networking primitives. When using it: - Rotate destinations if necessary - Monitor tunnel health +## Roadmap + +### Core I2CP Protocol Features +- [ ] **Message Priority Support** - Implement priority levels for I2CP messages (SendMessageExpires with priority flags) +- [ ] **Bandwidth Limiting** - Add support for bandwidth limiting properties (i2cp.inboundBytesPerSecond, i2cp.outboundBytesPerSecond) +- [ ] **LS2 Support** - Implement LeaseSet2 format for enhanced metadata and multiple signature types +- [ ] **ECIES-X25519 Encryption** - Add support for modern ECIES encryption alongside existing ElGamal +- [ ] **Ed25519 Signatures** - Implement Ed25519 signature support for improved performance and security +- [ ] **BlindedInfo Support** - Add support for blinded destinations and encrypted leaseset publishing +- [ ] **Meta LeaseSet Support** - Implement support for multi-destination meta leaseset format + +### Extended I2CP Features +- [ ] **Session Persistence** - Implement session state saving/loading for graceful restart +- [ ] **Advanced Tunnel Configuration** - Support for tunnel variance, randomization options +- [ ] **Client Authentication** - Implement I2CP client authentication mechanisms +- [ ] **Streaming Support** - Add higher-level streaming protocol implementation over I2CP +- [ ] **Datagram Support** - Implement repliable datagram messaging +- [ ] **Destination Lookup Caching** - Add intelligent caching for destination resolution + +### Modern Crypto & Protocol +- [ ] **RedDSA Signatures** - Support for RedDSA signature algorithm +- [ ] **ChaCha20/Poly1305** - Modern AEAD cipher support for tunnel encryption +- [ ] **SipHash** - Implement SipHash for improved hash table security +- [ ] **Noise Protocol** - Add Noise-based handshakes for enhanced forward secrecy + +### Quality & Performance +- [ ] **Connection Pooling** - Implement I2CP connection pooling for better resource usage +- [ ] **Async Message Handling** - Non-blocking message processing with goroutine pools +- [ ] **Metrics & Monitoring** - Add comprehensive metrics collection and health monitoring +- [ ] **Zero-Copy Operations** - Optimize buffer management to reduce memory allocations + ## Testing ```bash @@ -110,3 +142,4 @@ go test -v ./... ## License MIT License - See LICENSE file +