Repolode
amark

amark/gun

分散型でオフラインファースト、エンドツーエンド暗号化に対応したアプリを構築するための、JavaScript製グラフ同期エンジン兼ツールキット。ピア間で同期します。

代替できる製品:Firebase

スター
19,149
フォーク
1,241
未解決の Issue
317
最終コミット
7 日前

これは何?

GUNは、コミュニティが運営する暗号化アプリを構築するためのツール群で、Firebaseのようなバックエンドに代わるオープンソースの選択肢として位置づけられています。データをドキュメントやテーブルなどを表現できるキーと値のノードからなるグラフとして保存し、中央のマスターサーバーを介さず、ピア間で変更をリアルタイムに同期します。

アプリケーションはブラウザーまたはNode.jsで動作し、ライブラリはオフラインでも利用できます。デバイスが再接続すると更新内容がマージされます。エコシステムには、ユーザー認証と暗号化を担うSEA、Docker、Heroku、またはLinux用インストールスクリプトでデプロイできるリレーピアのほか、React、Vue、Svelte、Electronなどのフレームワーク向けバインディングやサンプルが含まれます。

このプロジェクトはCRDTベースの競合解決を採用しており、READMEではコアライブラリをgzip圧縮時に約9KBの軽量な組み込みエンジンと説明しています。

主な機能

  • 01クライアント間で状態をリアルタイムにP2P同期します。
  • 02キーと値、テーブル、ドキュメントに対応するグラフデータモデル。
  • 03オフラインファーストで動作し、再接続時に更新内容を自動マージします。
  • 04SEAモジュールによるエンドツーエンド暗号化とユーザー認証。
  • 05Docker、Heroku、またはLinux用インストールスクリプトでリレーピアをデプロイできます。

ユースケース

  • オフラインでも動作し続ける、共同作業アプリやマルチプレイヤーWebアプリの構築。
  • 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 の最終コミットは 2026年10月15日 です。
gun は何に使えますか?
オフラインでも動作し続ける、共同作業アプリやマルチプレイヤーWebアプリの構築。 JavaScriptでサーバーレスまたは分散型バックエンドを試作する。 個人用またはコミュニティ向けアプリのために、暗号化されたユーザー所有のデータストアを作成する。 開発チーム向けにセルフホスト型のリレーピアを運用する。
gun のインストール方法は?
npmでパッケージをインストールします: npm install gun パッケージのフォルダーから同梱のサンプルを実行します: cd node_modules/gun && npm start
gun はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/amark/gun

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト