Hafnium is reverse proxy, it use to expose local port over nat (ex. CGNAT)
- Implement
hf genkey
command- Generate private/public key pairs
- Store keys securely
- Export public key in shareable format
-
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
-
-
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
-
- Set up project structure
- Implement logging system
- Error handling
- Connection security
- Network protocol design
- Documentation
- Installation guide
- Usage documentation
- API documentation
the code license is AGPL-3.0
read more.