Repolode
amark

amark/gun

JavaScript-движок синхронизации графов и набор инструментов для создания децентрализованных приложений с поддержкой офлайн-режима, сквозным шифрованием и синхронизацией между узлами.

Open source альтернатива:Firebase

Звёзды
19,149
Форки
1,241
Открытые issues
317
Последний коммит
7 дней назад

Что это?

GUN — это экосистема инструментов для создания приложений с шифрованием, которыми управляет сообщество. Проект позиционируется как альтернатива с открытым исходным кодом таким бэкендам, как Firebase. Данные хранятся в виде графа узлов «ключ/значение», которые могут представлять документы, таблицы и другие структуры. Изменения синхронизируются между узлами в реальном времени, без центрального главного сервера.

Приложения работают в браузере или Node.js, а библиотека поддерживает офлайн-режим и объединяет обновления при повторном подключении устройств. В экосистему входят SEA для аутентификации пользователей и шифрования, узел-ретранслятор, который можно развернуть с помощью Docker, Heroku или установочного скрипта для Linux, а также биндинги и примеры для таких фреймворков, как React, Vue, Svelte и Electron.

В основе проекта — разрешение конфликтов на базе CRDT. В README основная библиотека описана как лёгкий встраиваемый движок размером около 9 КБ после сжатия gzip.

Ключевые возможности

  • 01Синхронизация состояния между клиентами в реальном времени и по одноранговой сети.
  • 02Графовая модель данных с поддержкой пар «ключ/значение», таблиц и документов.
  • 03Работа в первую очередь офлайн с автоматическим объединением данных при повторном подключении.
  • 04Сквозное шифрование и аутентификация пользователей с помощью модуля SEA.
  • 05Развёртывание узла-ретранслятора через Docker, Heroku или установочный скрипт для Linux.

Сценарии использования

  • Создание совместных или многопользовательских веб-приложений, которые продолжают работать офлайн.
  • Быстрое создание прототипа бессерверного или децентрализованного бэкенда на JavaScript.
  • Создание зашифрованных хранилищ данных под контролем пользователей для личных приложений или приложений сообщества.
  • Запуск собственных узлов-ретрансляторов для команды разработчиков.

Быстрый старт

  1. 1

    Установите пакет с помощью npm

    npm install gun
  2. 2

    Запустите примеры, входящие в пакет, из папки пакета

    cd node_modules/gun && npm start

Что важно знать

  • В качестве лицензии указано NOASSERTION, поэтому перед использованием проверьте условия лицензирования в репозитории.
  • В README не указана стабильная версия, поэтому между версиями возможны изменения.

Темы

Частые вопросы

Что такое gun?
JavaScript-движок синхронизации графов и набор инструментов для создания децентрализованных приложений с поддержкой офлайн-режима, сквозным шифрованием и синхронизацией между узлами. GUN — это экосистема инструментов для создания приложений с шифрованием, которыми управляет сообщество. Проект позиционируется как альтернатива с открытым исходным кодом таким бэкендам, как Firebase. Данные хранятся в виде графа узлов «ключ/значение», которые могут представлять документы, таблицы и другие структуры. Изменения синхронизируются между узлами в реальном времени, без центрального главного сервера.
gun можно использовать бесплатно? Какая у него лицензия?
gun распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
gun всё ещё поддерживается?
Активно поддерживается. Последний коммит в gun — 15 окт. 2026 г..
Для чего можно использовать gun?
Создание совместных или многопользовательских веб-приложений, которые продолжают работать офлайн. Быстрое создание прототипа бессерверного или децентрализованного бэкенда на JavaScript. Создание зашифрованных хранилищ данных под контролем пользователей для личных приложений или приложений сообщества. Запуск собственных узлов-ретрансляторов для команды разработчиков.
Как установить gun?
Установите пакет с помощью npm: npm install gun Запустите примеры, входящие в пакет, из папки пакета: cd node_modules/gun && npm start
Где скачать gun?
Исходный код и инструкции по установке — на GitHub: https://github.com/amark/gun

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Мультимодельная база данных на Rust, объединяющая документы, графы, реляционные, временные ряды и данные «ключ—значение», с запросами в реальном времени и встроенным контролем доступа.

33,2 тыс.1,4 тыс.RustOtherОбновлён 3 дня назад