hafnium

Crates.iohafnium
lib.rshafnium
version0.1.0
sourcesrc
created_at2024-11-07 23:24:55.90563
updated_at2024-11-07 23:24:55.90563
descriptionA simple and secure port forward reverse proxy.
homepage
repositoryhttps://github.com/xlmnxp/hafnium
max_upload_size
id1440497
size346,324
Salem Yaslem (xlmnxp)

documentation

README

Hafnium

Hafnium is reverse proxy, it use to expose local port over nat (ex. CGNAT)

How it work

How it works

Features

Core Features To-Do

Key Management

  • Implement hf genkey command
    • Generate private/public key pairs
    • Store keys securely
    • Export public key in shareable format

Server-side Features

  • Implement server core functionality

    • Create TCP/UDP server listener
    • Handle client connections (including forward of data)
    • Implement public key authentication
  • Implement port management commands

    • hf allow <port> [tcp/udp]
    • hf disallow <port> [tcp/udp]
    • Default allow-all ports mechanism
  • Implement connection management

    • hf list peers
    • hf list ports
    • hf disconnect [peer_public_key]
  • Configuration system

    • hf config get <key>
    • hf config set <key> <value>
    • Implement persistent configuration storage

Client-side Features

  • Implement client core functionality

    • hf connect <ip_address>:<port> <public_key>
    • Handle connection authentication
    • Maintain persistent connection
  • Port forwarding features

    • hf open <port> [tcp/udp]
    • hf close <port> [tcp/udp]
    • Port forwarding logic implementation
  • Client utilities

    • hf list peers
    • hf list ports
    • hf disconnect

Technical Infrastructure

  • Set up project structure
  • Implement logging system
  • Error handling
  • Connection security
  • Network protocol design
  • Documentation
    • Installation guide
    • Usage documentation
    • API documentation

License

the code license is AGPL-3.0 read more.

Commit count: 19

cargo fmt