mirror of
https://github.com/go-i2p/go-i2cp.git
synced 2025-06-11 02:08:42 -04:00
Update ROADMAP.md to include desired I2CP features
This commit is contained in:
33
README.md
33
README.md
@ -5,6 +5,7 @@ A low-level Go implementation of the I2P Client Protocol (I2CP) focused on devel
|
|||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Pure Go I2CP client implementation with minimal dependencies
|
- Pure Go I2CP client implementation with minimal dependencies
|
||||||
|
- Complete I2CP client
|
||||||
- Secure session establishment and management
|
- Secure session establishment and management
|
||||||
- Cryptographic operations (DSA/SHA1/SHA256)
|
- Cryptographic operations (DSA/SHA1/SHA256)
|
||||||
- Stream-based encrypted messaging
|
- Stream-based encrypted messaging
|
||||||
@ -87,6 +88,37 @@ This library implements core I2P networking primitives. When using it:
|
|||||||
- Rotate destinations if necessary
|
- Rotate destinations if necessary
|
||||||
- Monitor tunnel health
|
- 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
|
## Testing
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -110,3 +142,4 @@ go test -v ./...
|
|||||||
## License
|
## License
|
||||||
|
|
||||||
MIT License - See LICENSE file
|
MIT License - See LICENSE file
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user