fastn-net
Network utilities and P2P communication for the fastn ecosystem.
Overview
fastn-net provides P2P networking capabilities for fastn entities using Iroh. Each fastn instance is called an "entity" in the P2P network, identified by a unique ID52 (52-character encoded Ed25519 public key).
Features
- P2P networking between fastn entities with NAT traversal
- HTTP and TCP proxying between entities
- Connection pooling for HTTP clients
- Protocol multiplexing (HTTP, TCP, SOCKS5, Ping) over single connections
- Entity identification via ID52 encoding
Installation
[]
= "0.1"
Usage
use ;
// Get the global Iroh endpoint for entity connections
let endpoint = global_iroh_endpoint.await;
// Connect to another entity and open a stream
let connection = endpoint.connect.await?;
let = connection.open_bi.await?;
// Send a ping to test connectivity between entities
ping.await?;
let response = next_string.await?;
assert_eq!;
Supported Protocols
Protocol::Ping- Connectivity testingProtocol::Http- HTTP request proxyingProtocol::Tcp- TCP tunnelingProtocol::Socks5- SOCKS5 proxyProtocol::HttpProxy- HTTP proxy protocol
License
UPL-1.0