Sudo-Ivan 144f5bea6a update
2024-12-31 19:26:21 -06:00
2024-12-31 14:33:58 -06:00
2024-12-31 14:12:55 -06:00
2024-12-31 15:15:06 -06:00
2024-12-31 17:07:23 -06:00
2024-12-31 17:51:22 +00:00
2024-12-31 19:26:21 -06:00
2024-12-31 17:02:57 -06:00
2024-12-31 17:02:57 -06:00
2024-12-31 15:30:39 -06:00
2024-12-31 19:25:23 -06:00
2024-12-31 19:25:31 -06:00
2024-12-31 15:20:14 -06:00

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-CBC
    • 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
  • Buffer System (In Progress)

    • Raw channel reader/writer
    • Buffered stream implementation
    • Compression support
    • Testing with Channel system
    • Cross-client compatibility testing
  • Channel System (Not Started)

    • Channel creation and management
    • Message handling
    • Channel encryption
    • Channel authentication
    • Channel callbacks
    • Integration with Buffer system
  • Resolver System (Not Started)

    • Name resolution
    • Cache management
    • Announce handling
    • Path resolution
    • Integration with Transport layer

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
  • Hot reloading interfaces

Destination System (Testing required)

  • Destination creation
  • Destination types (IN/OUT)
  • Destination aspects
  • Announce implementation
  • Ratchet support
  • Request handlers
  • 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)
v0.6.0 Latest
2025-12-30 18:41:36 +00:00
Languages
Go 96.3%
JavaScript 3.2%
Nix 0.3%
Dockerfile 0.1%
Shell 0.1%