reach

Crates.ioreach
lib.rsreach
version0.0.1
created_at2025-09-27 17:17:52.502211+00
updated_at2025-09-28 10:14:23.289578+00
descriptionCore P2P chat and connections functionality for Rustalk
homepagehttps://github.com/muhammad-fiaz/Rustalk
repositoryhttps://github.com/muhammad-fiaz/Rustalk
max_upload_size
id1857487
size100,421
Muhammad Fiaz (muhammad-fiaz)

documentation

README

Reach 🌐

Core P2P Networking Library for Rustalk

Reach is the foundational library that powers Rustalk's peer-to-peer communication capabilities. It provides secure, encrypted networking, identity management, and session handling.

Features

  • 🔐 End-to-End Encryption: AES-GCM encryption with secure key exchange
  • 🌐 P2P Networking: Direct peer-to-peer communication without central servers
  • 🔑 Identity Management: Secure user identity and credential handling
  • 📡 Session Management: Robust session handling and peer discovery
  • High Performance: Built with Rust and Tokio for async performance
  • 🛡️ Security First: Industry-standard cryptographic primitives

Usage

Reach is designed to be used as a library by other Rustalk components:

use reach::{ReachEngine, UserCredentials};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let credentials = UserCredentials {
        email: "user@example.com".to_string(),
        password: "secure_password".to_string(),
    };
    
    let engine = ReachEngine::new(credentials).await?;
    engine.start_server(5000).await?;
    
    Ok(())
}

Core Components

  • ReachEngine: Main P2P engine orchestrating all components
  • Identity: User identity and credential management
  • NetworkManager: P2P networking and connection handling
  • CryptoEngine: Encryption/decryption and key management
  • SessionManager: Chat session and peer management
  • Config: Configuration management and persistence

Installation

Reach is typically used as a dependency in other Rust projects:

[dependencies]
reach = "0.0.1"

License

Apache-2.0 License. See LICENSE for details.

Contributing

See CONTRIBUTING.md for contribution guidelines.


Part of the Rustalk project.

Commit count: 0

cargo fmt