f3d22dfcd47bc138b5c4d8bd796d24b9553db76c
Reticulum-Go
Reticulum Network implementation in Go.
Aiming for full spec compatibility with the Python version 0.8.8+.
Go 1.23.4
Packages:
golang.org/x/crypto
To-Do List
Core Components (In Progress)
-
Basic Configuration System
- Basic config structure
- Default settings
- Config file loading/saving
- Path management
-
Constants Definition (Testing required)
- Packet constants
- MTU constants
- Header types
- Additional protocol constants
-
Identity Management (Testing required)
- Identity creation
- Key pair generation
- Identity storage/recall
- Public key handling
- Signature verification
- Hash functions
-
Cryptographic Primitives (Testing required)
- Ed25519
- Curve25519
- AES-GCM
- SHA-256
- HKDF
- Secure random number generation
- HMAC
-
Packet Handling (In Progress)
- Packet creation
- Packet validation
- Basic proof system
- Packet encryption
- Signature verification
- Testing of packet encrypt/decrypt/sign/proof
-
Transport Layer (In Progress)
- Path management
- Basic packet routing
- Announce handling
- Link management
- Resource cleanup
- Network layer integration
- Testing announce from go client to python client
- Testing path finding and caching
Interface Implementation (In Progress)
- UDP Interface
- TCP Interface
- Auto Interface
- Local Interface (In Progress)
- I2P Interface
- Pipe Interface
- RNode Interface
- RNode Multiinterface
- Serial Interface
- AX25KISS Interface
- Interface Discovery
- Interface Modes
- Full mode
- Gateway mode
- Access point mode
- Roaming mode
- Boundary mode
Destination System (Testing required)
- Destination creation
- Destination types (IN/OUT)
- Destination aspects
- Announce implementation
- Ratchet support
- Request handlers
Link System (Testing required)
- Link establishment
- Link teardown
- Basic packet transfer
- Encryption/Decryption
- Identity verification
- Request/Response handling
- Session key management
- Link state tracking
Resource System (Testing required)
- Resource creation
- Resource transfer
- Compression
- Progress tracking
- Segmentation
- Cleanup routines
Compatibility
- RNS Utilities.
- Reticulum config.
Testing & Validation
- Unit tests for all components (Link, Resource, Destination, Identity, Packet, Transport, Interface)
- Integration tests
- Cross-client compatibility tests
- Performance benchmarks
- Security auditing (When Reticulum is 1.0 / stable)
Documentation
- API documentation
- Usage examples
Cleanup
- Seperate Cryptography from identity.go to their own files.
- Move constants to their own files.
- Remove default community interfaces in default config creation after testing.
Other
- Rate limiting
- QoS implementation?
Ivans Future Addon Packages
- Post-quantum cryptographic primitives (separate package)
- Hardware security module (HSM) support (separate package)
- Encrypted storage for identities (separate package)
Description