A modular networking stack in Rust that enables connections by public key instead of IP addresses, with automatic hole-punching and relay fallback.
Iroh is a modular networking stack written in Rust that enables connections between endpoints using public keys instead of traditional IP addresses. It solves the problem of fragile network connections by automatically finding and maintaining the fastest path between peers, handling NAT traversal through hole-punching and providing relay fallback when direct connections aren't possible.
Developers building peer-to-peer applications, distributed systems, or networking tools that require resilient connections without manual network configuration.
Iroh offers a simpler networking abstraction that handles complex connection management automatically, provides built-in security through cryptographic addressing, and enables protocol composition through its modular design.
IP addresses break, dial keys instead. Modular networking stack in Rust.
Replaces fragile IP addresses with cryptographic public keys for endpoint identification, simplifying connection management as described in the README's core philosophy of 'dialing by public key'.
Handles hole-punching automatically to establish direct P2P connections, with fallback to public relays when needed, reducing developer overhead in complex network environments.
Built on QUIC, providing authenticated encryption, concurrent streams, and datagram transport out of the box, ensuring secure and efficient communication without head-of-line blocking.
Offers pre-built protocols like iroh-blobs for blob transfer and iroh-gossip for overlay networks, allowing developers to leverage higher-level networking without reinventing the wheel.
Primarily optimized for Rust usage; FFI bindings for other languages are available but may be less mature or documented, as noted in the 'Other Languages' section with a caveat to 'check out iroh-ffi'.
Fallback mechanisms rely on an open ecosystem of public relays, which could introduce latency, privacy concerns, or potential centralization points in decentralized applications.
Some features, like iroh-willow, are marked as 'in-construction' in the README, indicating immaturity and potential instability for production use in certain areas.
Hurl, run and test HTTP requests with plain text.
A native gRPC client & server implementation with async/await support.
🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
Actor framework for Rust.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.