Repolode
amark

amark/gun

一个基于 JavaScript 的图数据同步引擎与工具集,用于构建去中心化、离线优先、端到端加密的点对点应用。

可替代:Firebase

Star
19,149
Fork
1,241
未关闭 Issue
317
最近提交
7天前

这是什么?

GUN 是一套用于构建社区运行、加密应用的工具生态,可视为开源的 Firebase 替代方案。它以图(graph)的形式存储数据,键值、表格、文档等结构都能表示,并在对等节点之间实时同步变更,无需中心化的主服务器。

应用可以运行在浏览器或 Node.js 中,离线时仍可读写,设备重新联网后自动合并更新。生态中包含用于用户认证与加密的 SEA 模块,可通过 Docker、Heroku 或 Linux 安装脚本部署的中继节点,以及面向 React、Vue、Svelte、Electron 等框架的示例和绑定。

项目基于 CRDT 解决数据冲突,核心库体积约为 9KB(gzip 压缩后)。

核心功能

  • 01客户端之间的实时点对点状态同步。
  • 02图数据模型,可同时表示键值、表格和文档。
  • 03离线优先,重新联网后自动合并数据。
  • 04通过 SEA 模块提供端到端加密与用户认证。
  • 05支持通过 Docker、Heroku 或 Linux 安装脚本部署中继节点。

适用场景

  • 开发支持离线使用的协作型或多人在线 Web 应用。
  • 用 JavaScript 原型化无服务器或去中心化的后端。
  • 为个人或社区应用构建加密、用户自主掌控的数据存储。
  • 为开发团队部署自托管的中继节点。

快速上手

  1. 1

    用 npm 安装该包

    npm install gun
  2. 2

    在包目录中运行内置示例

    cd node_modules/gun && npm start

使用前须知

  • 许可证显示为 NOASSERTION,使用前请自行核实仓库中的许可条款。
  • README 未说明稳定版本状态,版本之间可能存在变化。

标签

常见问题

gun 是什么?
一个基于 JavaScript 的图数据同步引擎与工具集,用于构建去中心化、离线优先、端到端加密的点对点应用。 GUN 是一套用于构建社区运行、加密应用的工具生态,可视为开源的 Firebase 替代方案。它以图(graph)的形式存储数据,键值、表格、文档等结构都能表示,并在对等节点之间实时同步变更,无需中心化的主服务器。
gun 可以免费使用吗?用的什么许可证?
gun 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
gun 还在维护吗?
活跃维护中。gun 最近一次提交是在 2026年10月15日。
gun 适合用来做什么?
开发支持离线使用的协作型或多人在线 Web 应用。 用 JavaScript 原型化无服务器或去中心化的后端。 为个人或社区应用构建加密、用户自主掌控的数据存储。 为开发团队部署自托管的中继节点。
gun 怎么安装和运行?
用 npm 安装该包: npm install gun 在包目录中运行内置示例: cd node_modules/gun && npm start
在哪里获取 gun?
源代码和安装说明在 GitHub 上:https://github.com/amark/gun

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目