update
This commit is contained in:
202
README.md
202
README.md
@@ -1,118 +1,118 @@
|
|||||||
# Reticulum-Go
|
# Reticulum-Go
|
||||||
|
|
||||||
Reticulum Network Stack in Go.
|
Reticulum Network Stack in Go.
|
||||||
|
|
||||||
To-Do List
|
## To-Do List
|
||||||
|
|
||||||
Core Components
|
### Core Components
|
||||||
[✓] Basic Configuration System
|
- [x] Basic Configuration System
|
||||||
[✓] Basic config structure
|
- [x] Basic config structure
|
||||||
[✓] Default settings
|
- [x] Default settings
|
||||||
[✓] Config file loading/saving
|
- [x] Config file loading/saving
|
||||||
[✓] Path management
|
- [x] Path management
|
||||||
|
|
||||||
[✓] Constants Definition
|
- [x] Constants Definition
|
||||||
[✓] Packet constants
|
- [x] Packet constants
|
||||||
[✓] MTU constants
|
- [x] MTU constants
|
||||||
[✓] Header types
|
- [x] Header types
|
||||||
[✓] Additional protocol constants
|
- [x] Additional protocol constants
|
||||||
|
|
||||||
[✓] Identity Management
|
- [x] Identity Management
|
||||||
[✓] Identity creation
|
- [x] Identity creation
|
||||||
[✓] Key pair generation
|
- [x] Key pair generation
|
||||||
[✓] Identity storage/recall
|
- [x] Identity storage/recall
|
||||||
[✓] Public key handling
|
- [x] Public key handling
|
||||||
[✓] Signature verification
|
- [x] Signature verification
|
||||||
[✓] Hash functions
|
- [x] Hash functions
|
||||||
|
|
||||||
[✓] Cryptographic Primitives
|
- [x] Cryptographic Primitives
|
||||||
[✓] Ed25519
|
- [x] Ed25519
|
||||||
[✓] Curve25519
|
- [x] Curve25519
|
||||||
[✓] AES-GCM
|
- [x] AES-GCM
|
||||||
[✓] SHA-256
|
- [x] SHA-256
|
||||||
[✓] HKDF
|
- [x] HKDF
|
||||||
[✓] Secure random number generation
|
- [x] Secure random number generation
|
||||||
[✓] HMAC
|
- [x] HMAC
|
||||||
|
|
||||||
[✓] Packet Handling
|
- [x] Packet Handling
|
||||||
[✓] Packet creation
|
- [x] Packet creation
|
||||||
[✓] Packet validation
|
- [x] Packet validation
|
||||||
[✓] Basic proof system
|
- [x] Basic proof system
|
||||||
[✓] Packet encryption
|
- [x] Packet encryption
|
||||||
[✓] Signature verification
|
- [x] Signature verification
|
||||||
[ ] Testing of packet encrypt/decrypt/sign/proof
|
- [ ] Testing of packet encrypt/decrypt/sign/proof
|
||||||
|
|
||||||
[✓] Transport Layer
|
- [x] Transport Layer
|
||||||
[✓] Path management
|
- [x] Path management
|
||||||
[✓] Basic packet routing
|
- [x] Basic packet routing
|
||||||
[✓] Announce handling
|
- [x] Announce handling
|
||||||
[✓] Link management
|
- [x] Link management
|
||||||
[✓] Resource cleanup
|
- [x] Resource cleanup
|
||||||
[✓] Network layer integration
|
- [x] Network layer integration
|
||||||
[ ] Testing announce from go client to python client
|
- [ ] Testing announce from go client to python client
|
||||||
[ ] Testing path finding and caching
|
- [ ] Testing path finding and caching
|
||||||
|
|
||||||
[✓] Interface Implementation
|
### Interface Implementation
|
||||||
[✓] UDP Interface
|
- [x] UDP Interface
|
||||||
[✓] TCP Interface
|
- [x] TCP Interface
|
||||||
[✓] Auto Interface
|
- [x] Auto Interface
|
||||||
[ ] Local Interface (In Progress)
|
- [ ] Local Interface (In Progress)
|
||||||
[ ] I2P Interface
|
- [ ] I2P Interface
|
||||||
[ ] Pipe Interface
|
- [ ] Pipe Interface
|
||||||
[ ] RNode Interface
|
- [ ] RNode Interface
|
||||||
[ ] RNode Multiinterface
|
- [ ] RNode Multiinterface
|
||||||
[ ] Serial Interface
|
- [ ] Serial Interface
|
||||||
[ ] AX25KISS Interface
|
- [ ] AX25KISS Interface
|
||||||
[ ] Interface Discovery
|
- [ ] Interface Discovery
|
||||||
[ ] Interface Modes
|
- [ ] Interface Modes
|
||||||
- [ ] Full mode
|
- [ ] Full mode
|
||||||
- [ ] Gateway mode
|
- [ ] Gateway mode
|
||||||
- [ ] Access point mode
|
- [ ] Access point mode
|
||||||
- [ ] Roaming mode
|
- [ ] Roaming mode
|
||||||
- [ ] Boundary mode
|
- [ ] Boundary mode
|
||||||
|
|
||||||
[✓] Destination System
|
### Destination System
|
||||||
[✓] Destination creation
|
- [x] Destination creation
|
||||||
[✓] Destination types (IN/OUT)
|
- [x] Destination types (IN/OUT)
|
||||||
[✓] Destination aspects
|
- [x] Destination aspects
|
||||||
[✓] Announce implementation
|
- [x] Announce implementation
|
||||||
[✓] Ratchet support
|
- [x] Ratchet support
|
||||||
[✓] Request handlers
|
- [x] Request handlers
|
||||||
|
|
||||||
[✓] Link System
|
### Link System
|
||||||
[✓] Link establishment
|
- [x] Link establishment
|
||||||
[✓] Link teardown
|
- [x] Link teardown
|
||||||
[✓] Basic packet transfer
|
- [x] Basic packet transfer
|
||||||
[✓] Encryption/Decryption
|
- [x] Encryption/Decryption
|
||||||
[✓] Identity verification
|
- [x] Identity verification
|
||||||
[✓] Request/Response handling
|
- [x] Request/Response handling
|
||||||
[✓] Session key management
|
- [x] Session key management
|
||||||
[✓] Link state tracking
|
- [x] Link state tracking
|
||||||
|
|
||||||
[✓] Resource System
|
### Resource System
|
||||||
[✓] Resource creation
|
- [x] Resource creation
|
||||||
[✓] Resource transfer
|
- [x] Resource transfer
|
||||||
[✓] Compression
|
- [x] Compression
|
||||||
[✓] Progress tracking
|
- [x] Progress tracking
|
||||||
[✓] Segmentation
|
- [x] Segmentation
|
||||||
[✓] Cleanup routines
|
- [x] Cleanup routines
|
||||||
|
|
||||||
[ ] Testing & Validation
|
### Testing & Validation
|
||||||
[ ] Unit tests for all components (Link, Resource, Destination, Identity, Packet, Transport, Interface)
|
- [ ] Unit tests for all components (Link, Resource, Destination, Identity, Packet, Transport, Interface)
|
||||||
[ ] Integration tests
|
- [ ] Integration tests
|
||||||
[ ] Cross-client compatibility tests
|
- [ ] Cross-client compatibility tests
|
||||||
[ ] Performance benchmarks
|
- [ ] Performance benchmarks
|
||||||
[ ] Security auditing (When Reticulum is 1.0 / stable)
|
- [ ] Security auditing (When Reticulum is 1.0 / stable)
|
||||||
|
|
||||||
[ ] Documentation
|
### Documentation
|
||||||
[ ] API documentation
|
- [ ] API documentation
|
||||||
[ ] Usage examples
|
- [ ] Usage examples
|
||||||
|
|
||||||
[ ] Other
|
### Other
|
||||||
[ ] Rate limiting
|
- [ ] Rate limiting
|
||||||
[ ] QoS implementation?
|
- [ ] QoS implementation?
|
||||||
|
|
||||||
[ ] Ivans Future Addon Packages
|
### Ivans Future Addon Packages
|
||||||
[ ] Post-quantum cryptographic primitives (seperate package)
|
- [ ] Post-quantum cryptographic primitives (separate package)
|
||||||
[ ] Hardware security module (HSM) support (seperate package)
|
- [ ] Hardware security module (HSM) support (separate package)
|
||||||
[ ] Encrypted storage for identities (seperate package)
|
- [ ] Encrypted storage for identities (separate package)
|
||||||
@@ -6,17 +6,26 @@ panic_on_interface_error = false
|
|||||||
loglevel = 4
|
loglevel = 4
|
||||||
|
|
||||||
[interfaces]
|
[interfaces]
|
||||||
[interfaces."Local TCP"]
|
[[Local UDP]]
|
||||||
|
type = "UDPInterface"
|
||||||
|
interface_enabled = true
|
||||||
|
address = "0.0.0.0"
|
||||||
|
port = 37697
|
||||||
|
|
||||||
|
[[Auto Discovery]]
|
||||||
|
type = "AutoInterface"
|
||||||
|
interface_enabled = true
|
||||||
|
discovery_port = 29717
|
||||||
|
data_port = 42672
|
||||||
|
|
||||||
|
[interfaces."RNS Testnet Amsterdam"]
|
||||||
type = "TCPClientInterface"
|
type = "TCPClientInterface"
|
||||||
enabled = true
|
enabled = true
|
||||||
target_host = "rns.quad4.io"
|
target_host = "amsterdam.connect.reticulum.network"
|
||||||
target_port = 4242
|
target_port = 4965
|
||||||
|
|
||||||
[interfaces."Local UDP"]
|
[interfaces."RNS Testnet BetweenTheBorders"]
|
||||||
type = "UDPInterface"
|
type = "TCPClientInterface"
|
||||||
enabled = true
|
enabled = true
|
||||||
interface = "lo"
|
target_host = "reticulum.betweentheborders.com"
|
||||||
address = "127.0.0.1"
|
target_port = 4242
|
||||||
port = 37428
|
|
||||||
target_address = "127.0.0.1"
|
|
||||||
target_port = 37430
|
|
||||||
@@ -6,17 +6,26 @@ panic_on_interface_error = false
|
|||||||
loglevel = 4
|
loglevel = 4
|
||||||
|
|
||||||
[interfaces]
|
[interfaces]
|
||||||
[interfaces."Local TCP"]
|
[interfaces."RNS Testnet Amsterdam"]
|
||||||
type = "TCPClientInterface"
|
type = "TCPClientInterface"
|
||||||
enabled = true
|
enabled = true
|
||||||
target_host = "rns.quad4.io"
|
target_host = "amsterdam.connect.reticulum.network"
|
||||||
target_port = 4243
|
target_port = 4965
|
||||||
|
|
||||||
[interfaces."Local UDP"]
|
[interfaces."RNS Testnet BetweenTheBorders"]
|
||||||
type = "UDPInterface"
|
type = "TCPClientInterface"
|
||||||
enabled = true
|
enabled = true
|
||||||
interface = "lo"
|
target_host = "reticulum.betweentheborders.com"
|
||||||
address = "127.0.0.1"
|
target_port = 4242
|
||||||
port = 37430
|
|
||||||
target_address = "127.0.0.1"
|
[[Local UDP]]
|
||||||
target_port = 37428
|
type = "UDPInterface"
|
||||||
|
interface_enabled = true
|
||||||
|
address = "0.0.0.0"
|
||||||
|
port = 37698
|
||||||
|
|
||||||
|
[[Auto Discovery]]
|
||||||
|
type = "AutoInterface"
|
||||||
|
interface_enabled = true
|
||||||
|
discovery_port = 29718
|
||||||
|
data_port = 42673
|
||||||
Reference in New Issue
Block a user