Sobre o projeto
O Offline Protocol SDK é uma camada de transporte e coordenação baseada em Rust para criar aplicações, agentes e dispositivos offline-first. Ele permite descoberta de pares, comunicação segura e coordenação em múltiplos transportes, incluindo BLE, Wi-Fi Direct, Internet, Reticulum e relays Nostr.
Os principais recursos incluem:
- **Multi-Transporte**: Alterna automaticamente entre BLE, WiFi Direct, Internet, Reticulum e relays Nostr com base nas condições em tempo real.
- **Rede Mesh**: Descoberta automática de pares e retransmissão de mensagens com mesh auto-organizada baseada em clusters.
- **Criptografia Ponta a Ponta**: Criptografia MLS automática com sigilo direto (RFC 9420), fail-closed por padrão.
- **Funções de Grupo**: Gerenciamento de funções de administrador/membro com invariantes de segurança do último administrador.
- **DORS**: Dynamic Offline Relay Switch para seleção ideal de transporte.
- **Confiabilidade**: ACKs, retentativas e deduplicação integrados.
- **Bindings Multiplataforma**: React Native para iOS/Android e Python para macOS/Linux/Windows.
O SDK é modular, composto por vários crates Rust: tipos centrais, codec de envelope selado, abstração de transporte, roteamento DORS, confiabilidade, criptografia MLS, descoberta de serviços, replicação de dados CRDT, suporte a folhas para dispositivos restritos, mecanismo principal do protocolo e bindings UniFFI.
Nota arquitetural importante: os crates Rust são mecanismos de protocolo sem I/O. Eles enfileiram, roteiam, criptografam e selecionam transportes, mas nunca abrem sockets nem tocam em rádios. Uma ponte de plataforma realiza o I/O real. O binding React Native inclui pontes para iOS e Android (BLE, WiFi Direct, Internet, Nostr, Reticulum), e o binding Python inclui pontes BLE e Internet. Consumidores diretos de Rust devem escrever sua própria ponte.
Exemplos de início rápido são fornecidos para React Native (npm install @offline-protocol/mesh-sdk) e aplicativos desktop em Python (compilar a partir de bindings/python). A criptografia é habilitada por padrão e fail-closed; a operação em texto simples exige opt-out explícito e emite avisos de segurança.
A documentação inclui aprofundamentos de arquitetura, referência de API, guias de configuração, detalhes de entrega de mensagens, aprofundamento do DORS, guia de rede mesh, integração MLS, arquitetura de transporte, descoberta de serviços, integração com React Native e Python, transportes Reticulum e Nostr, telemetria, integração iOS/Android, especificação do protocolo, modelo de ameaças, máquinas de estado, ADRs e contratos de ponte.
O SDK é licenciado sob dupla licença AGPL-3.0-only ou uma licença comercial. Ele contém criptografia, portanto considerações de controle de exportação estão documentadas. O nome e o logotipo são marcas registradas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.