Об этом проекте

GUN — это протокол кибербезопасности с открытым исходным кодом для синхронизации децентрализованных графовых данных. Он предоставляет лёгкий встраиваемый движок, который по умолчанию обеспечивает синхронизацию состояния в реальном времени по принципу "peer-to-peer", поддерживая через графовую модель данных ключи/значения, таблицы, документы, видео и многое другое. Система спроектирована для работы по принципу "local-first" и "offline-first", со сквозным шифрованием, доступным через модуль SEA (Security, Encryption, Authorization). Проект позиционирует себя как альтернативу Firebase с открытым исходным кодом или децентрализованный Dropbox, позволяя разработчикам создавать управляемые сообществом и зашифрованные приложения. Он включает разрешение конфликтов на основе CRDT, криптографическую безопасность, сериализацию хранилища на основе radix, ячеистые сети и алгоритмы маршрутизации. Основная библиотека имеет размер примерно 9 КБ в сжатом виде и может работать в браузерах, Node.js и React Native. GUN поддерживает множество интеграций и привязок, включая GraphQL, Electron, React, Vue, Svelte и веб-компоненты. Варианты развёртывания включают Heroku, Docker, Dome, Zeet и ретрансляционные узлы на базе Linux. Проект поддерживается Марком Надалем и сообществом участников, документация включает справочник по API, учебные пособия, примеры, аутентификацию и руководства по развёртыванию. Он лицензирован под Zlib / MIT / Apache 2.0.