Repolode
n0-computer

n0-computer/iroh

Biblioteca Rust para conectar aplicaciones mediante claves públicas, con transporte QUIC, hole punching y servidores relay como alternativa.

Estrellas
12,779
Forks
778
Issues abiertos
183
Último commit
hace 8 horas

¿Qué es?

Iroh permite que las aplicaciones se conecten a un peer mediante su clave pública en lugar de una dirección IP. La biblioteca encuentra y mantiene la mejor ruta disponible hacia ese peer: primero intenta establecer una conexión directa mediante hole punching y, si falla, recurre a servidores relay públicos.

Las conexiones se basan en QUIC a través de la biblioteca noq, que ofrece cifrado autenticado, streams concurrentes con prioridades y transporte de datagramas, y evita el bloqueo de cabecera. Los desarrolladores pueden crear sus propios protocolos sobre estas conexiones.

El repositorio también incluye protocolos listos para usar: iroh-blobs, para transferencias direccionadas por contenido con BLAKE3; iroh-gossip, para redes overlay de publicación-suscripción; e iroh-docs, para un almacén de clave-valor con consistencia eventual. Los bindings para otros lenguajes se mantienen por separado en iroh-ffi.

Funciones clave

  • 01Conectar con peers mediante su clave pública en lugar de su dirección IP
  • 02Conexiones directas mediante hole punching, con servidores relay como alternativa
  • 03Conexiones QUIC con cifrado y streams multiplexados
  • 04Protocolos listos para transferir blobs, intercambiar mensajes gossip y gestionar documentos de clave-valor
  • 05Implementación de un servidor relay público incluida en el workspace

Casos de uso

  • Aplicaciones peer-to-peer que necesitan conectar dispositivos detrás de NAT
  • Sincronizar archivos entre dispositivos sin un servidor central
  • Crear sistemas de mensajería en tiempo real o redes overlay de publicación-suscripción entre nodos

Inicio rápido

  1. 1

    Instala la biblioteca de Rust con cargo

    cargo add iroh
  2. 2

    Consulta el ejemplo echo para ver el código completo

Antes de usarlo

  • Es principalmente una biblioteca de Rust; para otros lenguajes se utilizan los bindings del proyecto independiente iroh-ffi.

Temas

Preguntas frecuentes

¿Qué es iroh?
Biblioteca Rust para conectar aplicaciones mediante claves públicas, con transporte QUIC, hole punching y servidores relay como alternativa. Iroh permite que las aplicaciones se conecten a un peer mediante su clave pública en lugar de una dirección IP. La biblioteca encuentra y mantiene la mejor ruta disponible hacia ese peer: primero intenta establecer una conexión directa mediante hole punching y, si falla, recurre a servidores relay públicos.
¿iroh es gratuito? ¿Qué licencia tiene?
iroh es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿iroh sigue mantenido?
Mantenimiento activo. El último commit de iroh fue el 19 oct 2026.
¿Para qué puedo usar iroh?
Aplicaciones peer-to-peer que necesitan conectar dispositivos detrás de NAT Sincronizar archivos entre dispositivos sin un servidor central Crear sistemas de mensajería en tiempo real o redes overlay de publicación-suscripción entre nodos
¿Cómo se instala iroh?
Instala la biblioteca de Rust con cargo: cargo add iroh Consulta el ejemplo echo para ver el código completo
¿Dónde consigo iroh?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/n0-computer/iroh

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados