GUN is a peer-to-peer protocol and decentralized graph database that enables building encrypted, community-run applications with real-time synchronization across networks.
GUN solves the problem of building applications that work offline, remain synchronized across peers without a central server, and maintain end-to-end encryption. It uses a graph data structure that supports multiple access patterns—key-value, tables, documents, and more—and employs conflict-free replicated data types for state synchronization. Applications built on GUN operate with multiplayer functionality by default, allowing peers to sync data in real time while maintaining local-first operation and the ability to function without internet connectivity.
Developers should choose GUN for projects requiring decentralized infrastructure, offline-first capabilities, or peer-to-peer synchronization without relying on centralized services. It suits applications ranging from communication platforms and collaborative tools to media sharing and IoT systems. The tool is production-ready, with established deployments including the Internet Archive and numerous other applications. GUN provides an ecosystem of tools rather than a single library, allowing developers to compose solutions for various use cases. Getting started requires minimal setup—developers can try an interactive tutorial in the browser or install via npm and run examples locally.
Responses to issues and pull requests typically arrive within one to two weeks. Work in the issue tracker centers on TypeScript-related tasks.