OpenSource-Hub
I

iroh

SHA-256
9.4k stars·Developer Tools·SHA-256 checksum verified

IP addresses break, dial keys instead. Iroh is a modular Rust networking stack that lets you connect by public key, with automatic hole-punching and relay fallback.

Smart Download

Download Download Version

v1.0.0 · 4.8 MB

Dial by public key, not IP address. Modular Rust networking with automatic hole-punching and relay fallback.

Core Features

  • Connect using stable public keys; IP address changes are invisible to applications
  • Automatic NAT hole-punching for direct connections, falling back to public relays
  • Built on QUIC providing authenticated encryption, concurrent streams, and datagram support
  • Three ready-to-use protocols: blobs (BLAKE3 content-addressed transfer), gossip (publish-subscribe overlays), docs (eventually-consistent key-value store)
  • Continuous performance monitoring at perf.iroh.computer

What It Can't Do

  • Currently Rust-only; FFI bindings (iroh-ffi) are under development. Public relay servers may introduce latency and should be evaluated for privacy-sensitive use cases. Hole-punching success depends on network conditions; in restrictive NATs the relay path may always be used.

Use Cases

  • Peer-to-peer file sync and content distribution
  • Decentralized messaging and social networks
  • Direct secure communication between IoT devices

Detailed Introduction

Iroh is a next-generation networking library for Rust that replaces fragile IP addresses with stable public key identifiers. Built on QUIC, it provides authenticated encryption, concurrent streams, and datagram transport out of the box. Unlike traditional stacks (e.g., libp2p), iroh focuses on simplicity: dial by public key, automatic hole-punching for direct connections, and a fallback to public relays when direct connection fails. The project offers three composable protocols—blobs (content-addressed transfer), gossip (pub-sub overlays), and docs (eventually-consistent key-value store)—making it a complete toolkit for building peer-to-peer applications. Its performance is continuously measured at perf.iroh.computer. With 9.4K GitHub stars and dual Apache-2.0/MIT licensing, iroh is a mature choice for developers who want a lightweight, modern P2P stack without the overhead of libp2p.

Tags

p2pnetworkingrustquichole-punchingdecentralizedblob-transfergossipkey-value-store

Getting Started

1

Download installer

Click the button above to download the installer for your system

2

Install the software

Double-click the downloaded installer and follow the prompts

3

Ensure Rust toolchain is installed, then run cargo add iroh

4

Create an endpoint with Endpoint::bind(), connect to a peer by their public key and ALPN

5

Exchange data over QUIC streams; implement ProtocolHandler on the accepting side, then compile and run

Install Guide
  1. Ensure Rust toolchain is installed, then run cargo add iroh
  2. Create an endpoint with Endpoint::bind(), connect to a peer by their public key and ALPN
  3. Exchange data over QUIC streams; implement ProtocolHandler on the accepting side, then compile and run
File Integrity

SHA-256 checksum verified

Checksum extracted from GitHub official Release page

SHA256 Checksum

9a3113360f882b510b55e18dfaed57899d8c350d0108ea8827daf42ce3353a3c

This checksum is extracted from the GitHub Release page. Verify file integrity after download.

All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.

Open Source Transparency

View GitHub Source
Environment Guide

Uninstall Info

Remove the iroh dependency from your Cargo.toml and run cargo update. If you cloned the repo, delete the directory.

No Extra Dependencies

Ready to use after download. No additional runtime required.

Project Info
LicenseApache-2.0
Last Updated2026-06-17T07:28:56Z
GitHub RepositoryOfficial Website

Similar Projects