Repolode
n0-computer

n0-computer/iroh

Biblioteca Rust para conectar apps por chave pública, com transporte QUIC, hole punching e fallback por relay.

Estrelas
12,779
Forks
778
Issues abertas
183
Último commit
há 8 horas

O que é?

Iroh permite que aplicações se conectem a um peer usando sua chave pública, em vez de um endereço IP. A biblioteca encontra e mantém a melhor rota disponível até o peer, tentando primeiro uma conexão direta por hole punching e recorrendo a servidores relay públicos quando isso não funciona.

As conexões usam QUIC por meio da biblioteca noq, que oferece criptografia autenticada, streams concorrentes com prioridades e transporte por datagramas, além de evitar bloqueio de linha de frente. Desenvolvedores podem criar seus próprios protocolos sobre essas conexões.

O repositório também oferece protocolos prontos: iroh-blobs para transferência endereçada por conteúdo com BLAKE3, iroh-gossip para redes overlay de publish-subscribe e iroh-docs para um armazenamento de chave-valor com consistência eventual. Os bindings para outras linguagens são mantidos separadamente em iroh-ffi.

Recursos principais

  • 01Conecte-se a peers por chave pública, em vez de endereço IP
  • 02Conexões diretas por hole punching, com fallback por relay
  • 03Conexões QUIC com criptografia e streams multiplexados
  • 04Protocolos prontos para transferência de blobs, gossip e documentos de chave-valor
  • 05Implementação de servidor relay público incluída no workspace

Casos de uso

  • Apps peer-to-peer que precisam conectar dispositivos atrás de NAT
  • Sincronização de arquivos entre dispositivos sem um servidor central
  • Criação de sistemas de mensagens em tempo real ou redes overlay de pub-sub entre nós

Início rápido

  1. 1

    Instale a biblioteca Rust com cargo

    cargo add iroh
  2. 2

    Consulte o exemplo echo para ver o código completo

Antes de usar

  • É principalmente uma biblioteca Rust; para outras linguagens, são usados os bindings do projeto separado iroh-ffi.

Tópicos

Perguntas frequentes

O que é iroh?
Biblioteca Rust para conectar apps por chave pública, com transporte QUIC, hole punching e fallback por relay. Iroh permite que aplicações se conectem a um peer usando sua chave pública, em vez de um endereço IP. A biblioteca encontra e mantém a melhor rota disponível até o peer, tentando primeiro uma conexão direta por hole punching e recorrendo a servidores relay públicos quando isso não funciona.
iroh é gratuito? Qual é a licença?
iroh é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
iroh ainda é mantido?
Manutenção ativa. O último commit de iroh foi em 19 de out. de 2026.
Para que posso usar iroh?
Apps peer-to-peer que precisam conectar dispositivos atrás de NAT Sincronização de arquivos entre dispositivos sem um servidor central Criação de sistemas de mensagens em tempo real ou redes overlay de pub-sub entre nós
Como instalar iroh?
Instale a biblioteca Rust com cargo: cargo add iroh Consulte o exemplo echo para ver o código completo
Onde consigo iroh?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/n0-computer/iroh

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados