Sobre el proyecto
El SDK del Protocolo Offline es una capa de transporte y coordinación basada en Rust para construir aplicaciones, agentes y dispositivos offline-first. Permite el descubrimiento de pares, comunicación segura y coordinación a través de múltiples transportes, incluyendo BLE, Wi-Fi Direct, Internet, Reticulum y relays de Nostr.
Las características clave incluyen:
- **Multi-Transporte**: Cambia automáticamente entre BLE, WiFi Direct, Internet, Reticulum y relays de Nostr según las condiciones en tiempo real.
- **Redes Malladas**: Descubrimiento automático de pares y retransmisión de mensajes con malla autoorganizada basada en clústeres.
- **Cifrado de Extremo a Extremo**: Cifrado MLS automático con secreto directo (RFC 9420), con cierre por defecto en caso de fallo.
- **Roles de Grupo**: Gestión de roles de administrador/miembro con invariantes de seguridad para el último administrador.
- **DORS**: Conmutador de Relay Offline Dinámico para la selección óptima de transporte.
- **Fiabilidad**: ACKs, reintentos y deduplicación integrados.
- **Enlaces Multiplataforma**: React Native para iOS/Android y Python para macOS/Linux/Windows.
El SDK es modular, compuesto por varios crates de Rust: tipos centrales, códec de sobre sellado, abstracción de transporte, enrutamiento DORS, fiabilidad, cifrado MLS, descubrimiento de servicios, replicación de datos CRDT, soporte de hojas para dispositivos restringidos, motor principal del protocolo y enlaces UniFFI.
Nota arquitectónica importante: Los crates de Rust son motores de protocolo sin E/S. Ponen en cola, enrutan, cifran y seleccionan transportes, pero nunca abren sockets ni tocan radios. Un puente de plataforma realiza la E/S real. El enlace de React Native incluye puentes para iOS y Android (BLE, WiFi Direct, Internet, Nostr, Reticulum), y el enlace de Python incluye puentes BLE e Internet. Los consumidores directos de Rust deben escribir su propio puente.
Se proporcionan ejemplos de inicio rápido para React Native (npm install @offline-protocol/mesh-sdk) y aplicaciones de escritorio Python (compilar desde bindings/python). El cifrado está habilitado por defecto y cierra en caso de fallo; la operación en texto plano requiere una exclusión explícita y emite advertencias de seguridad.
La documentación incluye análisis profundos de arquitectura, referencia de API, guías de configuración, detalles de entrega de mensajes, análisis profundo de DORS, guía de redes malladas, integración MLS, arquitectura de transporte, descubrimiento de servicios, integración de React Native y Python, transportes Reticulum y Nostr, telemetría, integración de iOS/Android, especificación del protocolo, modelo de amenazas, máquinas de estado, ADRs y contratos de puente.
El SDK tiene doble licencia bajo AGPL-3.0-only o una licencia comercial. Contiene cifrado, por lo que se documentan consideraciones de control de exportación. El nombre y el logotipo son marcas registradas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.