Sobre el proyecto

GUN es un protocolo de ciberseguridad de código abierto para sincronizar datos de grafos descentralizados. Proporciona un motor embebido ligero que permite la sincronización de estado en tiempo real y peer-to-peer por defecto, admitiendo clave/valor, tablas, documentos, videos y más a través de un modelo de datos de grafos. El sistema está diseñado para operación local-first y offline-first, con cifrado de extremo a extremo disponible a través de su módulo SEA (Security, Encryption, Authorization). El proyecto se posiciona como una alternativa de código abierto a Firebase o un Dropbox descentralizado, permitiendo a los desarrolladores construir aplicaciones cifradas y administradas por la comunidad. Incluye resolución de conflictos basada en CRDT, seguridad criptográfica, serialización de almacenamiento radix, redes en malla y algoritmos de enrutamiento. La biblioteca principal tiene aproximadamente 9KB comprimidos con gzip y puede ejecutarse en navegadores, Node.js y React Native. GUN admite una variedad de integraciones y enlaces, incluyendo GraphQL, Electron, React, Vue, Svelte y componentes web. Las opciones de implementación incluyen Heroku, Docker, Dome, Zeet y pares de retransmisión basados en Linux. El proyecto es mantenido por Mark Nadal y una comunidad de colaboradores, con documentación que cubre referencia de API, tutoriales, ejemplos, autenticación y guías de implementación. Está licenciado bajo Zlib / MIT / Apache 2.0.