-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Awesome GUN
GUN is a realtime, decentralized, offline-first, graph protocol to sync the web. Guide Last Updated: 4/5/2024; Added Gustav's Guide, Bullet-Catcher, Gun-Vue again, Oshu-Gun, Buns And Guns, new Gun Azure Adapter
- GUN Guides
- Apps
- Plugins / Helpers
- Framework Integrations
- Alternative Implementations
- Storage Adapters
- Deployment
- Gustav Corpas' take: Decentralized Database Mastery: A Unified Guide from Basics to Advanced with gunDB - Series Began, Jan 5th 2024; Intro to GUN, Graph Nodes, and Decentralized Systems
- BUNS and GUNS by JamesGibson14 James Gibson's use of BUN for JS Runtime for GUN
- Bullet Catcher by zrrzzt; By Geir Gåsodden "Restrict Put on GUN"; Create an inline reject/accept policy framework for changes to GUN DB Graphs, outside of Certificates (see Gustav's guide)
- Gun-Restrict by zrrzzt by Geir Gåsodden, Run GUN server with three methods of access: to GUN server directly, Authenticated Service Port, and Public Service Port
- See Gun-vue, as demonstration and Vue framework library; lower in Framework Implementations
- See Meething, a multi-user online conference software implementing GUN as NAT Relay, Database, and Network, thanks to a coalition of work and gifts/grants.
- Dletta's DHT-Proxy for GUN, allowing GUN nodes and peers to find each other over DHT versus NAT-relaying through a GUN relay service. And Johannes Valbjørn's gun_torrent_signaling signaling based on Dletta's work.
- Oshu-Gun is a service that implements a POP-like mail server. It and other service protocols are listed in the Apps section and Plugins / Helpers section below.
-
live-loc demo
- A decentralized live location sharing and navigation platform ~ By Raghav Yadav
-
splitio demo
- A decentralized, p2p, e2ee, splitwise clone (bill splitting / expense-sharing webapp)
-
readthis.space demo
- It's a decentralized, throwaway authoring platform.
-
GUN Kanban demo
- A P2P KanBan!
-
gun-poll demo
- Polls
-
gun-calendar demo
- A calendar / scheduling app
-
gun-editor
- An experimental collaborative editor (partial implementation)
-
NotABug
- A decentralized link aggregator with reddit’s classic, open source UI
-
Iris
- Iris is a social networking application that stores and indexes everything on the devices of its users and connects directly with peers who run the application - no corporate gatekeepers needed.
-
LiveCodeStream
- Broadcast with ease, straight from your browser
-
PushToTalk
- A Push to Talk demo with GUN db
-
Maskbook
- Encrypt your posts & chats on You-Know-Where. Allow only your friends to decrypt.
-
streams
- An experimental nanoblogging engine / anonymous group chat / outliner / productivity tool
-
GiveMeCredit
- A Social media application designed to give communities political independence
-
Trace
- ~ By PsychoLlama - live demo
-
Connect-4
- ~ By PsychoLlama - live demo
- TodoMVC
-
GoShareData
- An enterprise system for data sharing database data with colleagues
-
JS-Trafficlights
- Trafficlights manager for limited resource access, like VPNs or remote desktops
-
SENTINL
- Clustering the Kibi/Kibana Alerting & Reporting Application (watcher) ~ By lmangani and Sergey Bondarenko
-
paStash
- Spaghetti I/O Event Processing, Interpolation, Correlation with Gun persistence ~ By lmangani
-
fastify-gundb
- Fastify is a Fast and low overhead modular web framework, supporting persistence layer using Gun ~ By lmangani
-
PiTherm
- Raspberry Pi thermostat application using Gun to sync client UIs ~ By paullj1
-
Gewd Notes
- Workflowy clone using gun ~ By negue
-
CHAIN
- Point of sale using gun w' no signup ~ By VETO
-
OVGrid - Open Virtual Grid
- WebXR Educational Virtual World - Real-time shared experiences. ~ By estebanrfp
- Project progress videos - @ovgrid
-
dKanban demo
- Distributed Real-time Kanban board that stores data in Gun. ~ By estebanrfp
-
gun-voting demo
- Real-time distributed voting system embeddable in an iframe using Gun, Now chronological method, test it and share a voting link!. ~ By estebanrfp
-
TheSource.fm demo
- The artificial intelligence that tuned the universe. ~ By The Resistance Foundation
-
Ixnay demo
- Distributed manufacture and blueprint sharing. ~ By Antony Perillo
-
Agregore
- a p2p web browser that uses gundb along with other p2p protocols. ~ By RangerMauve
-
Oshu-gun
- a POP-like mail system, supporting invitation and group chat links
-
gun-overlays
- Livestreaming Overlay along with Admin Interface, ala other broadcasting software controllers
-
gun-avatar
- SEA public key visualizer - great for gun user avatars and room backgrounds
-
GunStreamer
- Streaming component for Gun db.
-
gun-inspector
- Gun Node visualizer and editor
-
visualGraph
- Gun Utility to Traverse Graph and use d3.js to visualize
-
gun-graphin
- Gun Graph visualization and Navigation using Graphin library
-
Gun-scape
- GunDB Cytoscape Graph Visualizer + Live Editor
-
CRDT Continuous Sequence
- Makes CRDT sets orderable
-
gunjs trust share key
- gun.js Trust and Share Key functions simple.
-
polyGun
- GunDB Polyglot Server [ https/wss + letsencrypt ]
-
gun-host
- GunDB HTTP/HTTPS Server and API ~ By Sergey Bondarenko
-
gun-kibana-graph
- Visualization Plugin to display Gun graphs in Kibana ~ By lmangani
- gun-synclist Get an Array with full nodes on init, after that only the changed - full - node, its soul and its index. ~ By Stefdv
- gun-tag Tag, untag, filter and find intersects on nodes ~ By Stefdv
-
gun-schema
- Schema validation module for node and the browser ~ By RangerMauve
-
labelmaker
- Organize and index data into groups with tags ~ By PsychoLlama
-
onward
- Listen for changes on an entire document at once ~ By amark
-
reticle
- Namespace your data, preventing naming conflicts and adding clear separation between apps ~ By PsychoLlama
- synchronous
- gun-ws on Github
-
load
- Load full document structures to Gun ~ By IMGNRY
-
gun-most
- Extends gunDB with the ability to chain into most.js observables ~ By ctrlplusb
-
graphql-gun
- Augmented graphql query interface for Gun
-
bullet
- Alternative syntax to Gun, promise support, utility modules, and easy Gun adapter events.
-
gun-appendOnly
- Support append only node keys on a first-come-first-served basis and allow modification to key content based on SEA users
-
gun-hue
- Explore and change your hue lighting with gun! ~ By PsychoLlama
-
gun-ui-lcd
- Component to attach an html lcd to Gun ~ By Stefdv
-
gun-util
- Convenience and utility methods for Gun, including:
- DateTree: A time graph for efficient storage, iteration and lookup of time based data.
- Encryption: Easy bulk encryption.
- GunUser: Promises and safety checks for authentication.
- Convenience and utility methods for Gun, including:
-
griffin
- A decentralized document-oriented database. Built with Gun and implements an API and query language similar to MongoDB.
-
Lone Wolf Protocol
- A decentralized messaging protocol built with Gun.
-
gun-fetch
- Use Gun with fetch and a uri scheme. ~ By resession
-
Gunsafe (alpha API & CLI), NPM: Gunsafe
- A decentralized secure vault API and CLI built on Gun chain, secured by SEA, with gunsafe vault synchronization across devices ~ By Daniel Raeder
-
@gun-vue
- A collection of Vue 3 composable functions, pluggable components and tech demos of using Gun with Vue reactivity system.
-
Gun Phaser Multiplayer Boilerplate
- A boilerplate for starting a multiplayer web game project with Phaser + Gun by mimiza
-
Google Cloud Function
- An example of using Google Cloud Function + Gun by mimiza
-
svelte gundb example
- This is a project template for Svelte apps with the gun database.
-
Remix.GUN - React v18
- Project template for deploying Remix http server/GUN relay server. Shipped with loader/ action context api.
-
sapper/svelte gundb example
- This is a project template for Sapper/Svelte apps with the gun database. The server is served alongside the page and accessing at location.origin + "/gun". Sapper is a framework designed with svelte to facilitate offline first functionality and all svelte goodness.
-
Weir
- Auto-generate react component data bindings to gundb nodes
-
vue-gun
- Vue plugin to add Gun integration ~ By sjones6
-
gun-react-native
- A distribution of Gun designed to work with React Native out of the box ~ By sjones6
-
as
- Mark's personal UI Framework with deep assumptions and opinionated bindings to GUN ~ By amark
-
gun-realm
- A React Native RealmJS adapter for GunJS ~ By sjones6
-
gun-ui-gauge
- (Still under development to fit the latest Gun version ( 0.9.x ) )
- Add a GunDB controlled gauge to your webpage ~ By Stefdv
- Node-RED ~ By TotallyInformation
-
purescript-bf-gun
- gundb bindings for purescript ~ by Yornaath
- Typescript: ChainGun
- Java: JGUN, Gun.Java (not implemented fully)
- Python: PyGUNDB
- Golang: GUNDB Port Go, Esgopeta
-
gun-level A LevelDB adapter that works with the levelDB module ecosystem ~ By PsychoLlama
-
gun-level-browser-indexedDB Example of LevelDB binding with indexedDB in the browser with GUN and choo ~ By zrrrzzt
-
gun-mongo A MongoDB Adapter that stores entire nodes in Mongo documents ~ By sjones6
-
gun-mongo-key A MongoDB Adapter that stores nodes as key:value pairs in Mongo documents ~ By sjones6
-
gun-db(on Github) Sqlite/ODBC storage adapter for Gun ~ By d3x0r
- Depends on sack.vfs. Can provide encryption for storage.
-
gun-file(on Github) Local Storage adapter for Gun ~ By d3x0r
- Depends on JSON6
-
gun-cassandra Experimental Cassandra / Elassandra persistence layer for Gun ~ By lmangani
-
gun-elastic Experimental Elasticsearch persistence layer for Gun/Flint ~ By lmangani
-
gun-flint Micro-framework for building Gun adapters ~ By sjones6
-
gun-adapter-perf https://github.com/sjones6/gun-adapter-perf ~ By sjones6
Examples, demos and tools demonstrating Gun features and capabilities
-
GitHub Examples Original, up to date Gun examples
-
gun-scape GunDB Cytoscape Graph Visualizer with Live Editor
-
Next.js Example of how to get started with Next.js and GUN!
-
GunStore.io Storing data in Gun DB by sending simple HTTP requests & custom URLs
-
postMessage postMessage API integration for iframes. inner
-
Gun Voice Recording Simple audio recording using MediaRecorder with Gun.
-
Gun custom index An example of how you can index a list of items based on object property (in this case, index a list of people by gender and retrieve only the people of a certain gender in an efficient way)
-
User catalogue An example of how you can list all the users in your app based on registering users against a content addressed catalogue
-
gundb-react-todolist Simple todo-list using gun and react-gun
-
react minimalist example with hooks Minimalist example on how use gun with basic React hooks such as
useState
anduseEffect
and functional components:- subscribe to stream after mounting with
useEffect
hook - unsubscribe from stream when unmounting component
- create an item in a node
- list all items from that node
- delete item from node
- subscribe to stream after mounting with
-
react text search by indexed text Example on how to save a list of items in Gun, index them by name (or whatever prop you need) and perform a very efficient search.
-
gunDB + React + Express user auth example with:
- sign up/sign in/change password
- update user's "public" profile
- multi-tab session syncing
- access control using JWT access tokens and SEA certificates
Snippets page with various examples of Gun patterns/features.
- arsenal-dock A Docker container for running GunJS
Items that have succumbed to link rot.
- Items with archived links
- Add any links to Internet Archive / Wayback machine or other sources here!
- These items unfortunately have no known archived links
-
creeper.im
- Send public messages to nearby people.
-
creeper.im
The old pages are: (these will be archived after migrated to this page)