面向 JavaScript 应用的本地优先、响应式 NoSQL 数据库,可运行于浏览器、Node.js、React Native 等环境。
- 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
用 npm 安装该包
npm install gun - 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 数据每日更新。
相关项目
2.3万1182TypeScriptApache-2.0更新于 昨天
一个 JavaScript 库,让浏览器无需自建服务器即可通过 WebRTC 直接点对点通信,用于构建多人网页应用。
2796161TypeScriptMIT更新于 4天前
基于 Postgres 的开发平台,提供托管数据库、认证、自动生成的 API、文件存储等功能,可作为 Firebase 的开源替代。
11.2万1.7万TypeScriptApache-2.0更新于 前天
面向 Node.js 等 JS 平台的 TypeScript/JavaScript ORM,同时支持 Active Record 与 Data Mapper 模式。
3.7万6697TypeScriptMIT更新于 昨天
用 Rust 编写的多模型数据库,统一支持文档、图、关系、时序和键值数据,并内置实时查询与权限控制。
3.3万1393RustOther更新于 3天前