Repolode
amark

amark/gun

Um mecanismo e toolkit JavaScript para sincronizar grafos e criar apps descentralizados, offline-first e criptografados de ponta a ponta, com sincronização peer-to-peer.

Alternativa open source a:Firebase

Estrelas
19,149
Forks
1,241
Issues abertas
317
Último commit
há 7 dias

O que é?

GUN é um ecossistema de ferramentas para criar aplicações criptografadas e administradas por comunidades, apresentado como uma alternativa open source a backends como Firebase. Ele armazena dados como um grafo de nós chave/valor, capazes de representar documentos, tabelas e outras estruturas, e sincroniza alterações em tempo real entre peers, sem um servidor central mestre.

As aplicações rodam no navegador ou no Node.js, e a biblioteca funciona offline, mesclando atualizações quando os dispositivos se reconectam. O ecossistema inclui o SEA, para autenticação de usuários e criptografia; um peer de relay, que pode ser implantado com Docker, Heroku ou um script de instalação para Linux; além de bindings e exemplos para frameworks como React, Vue, Svelte e Electron.

O projeto usa resolução de conflitos baseada em CRDT, e o README descreve a biblioteca principal como um mecanismo embarcado leve, com cerca de 9 KB após a compactação gzip.

Recursos principais

  • 01Sincronização de estado entre clientes em tempo real, de peer para peer.
  • 02Modelo de dados em grafo que oferece suporte a chave/valor, tabelas e documentos.
  • 03Operação offline-first, com mesclagem automática ao reconectar.
  • 04Criptografia de ponta a ponta e autenticação de usuários pelo módulo SEA.
  • 05Implantação de peer de relay via Docker, Heroku ou script de instalação para Linux.

Casos de uso

  • Criar apps web colaborativos ou multiplayer que continuam funcionando offline.
  • Prototipar um backend serverless ou descentralizado em JavaScript.
  • Criar repositórios de dados criptografados e controlados pelos usuários para apps pessoais ou comunitários.
  • Executar peers de relay auto-hospedados para uma equipe de desenvolvimento.

Início rápido

  1. 1

    Instale o pacote com npm

    npm install gun
  2. 2

    Execute os exemplos incluídos na pasta do pacote

    cd node_modules/gun && npm start

Antes de usar

  • A licença está listada como NOASSERTION, então verifique os termos de licença do repositório antes de usar.
  • O README não informa uma versão estável, portanto pode haver mudanças entre versões.

Tópicos

Perguntas frequentes

O que é gun?
Um mecanismo e toolkit JavaScript para sincronizar grafos e criar apps descentralizados, offline-first e criptografados de ponta a ponta, com sincronização peer-to-peer. GUN é um ecossistema de ferramentas para criar aplicações criptografadas e administradas por comunidades, apresentado como uma alternativa open source a backends como Firebase. Ele armazena dados como um grafo de nós chave/valor, capazes de representar documentos, tabelas e outras estruturas, e sincroniza alterações em tempo real entre peers, sem um servidor central mestre.
gun é gratuito? Qual é a licença?
gun é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
gun ainda é mantido?
Manutenção ativa. O último commit de gun foi em 15 de out. de 2026.
Para que posso usar gun?
Criar apps web colaborativos ou multiplayer que continuam funcionando offline. Prototipar um backend serverless ou descentralizado em JavaScript. Criar repositórios de dados criptografados e controlados pelos usuários para apps pessoais ou comunitários. Executar peers de relay auto-hospedados para uma equipe de desenvolvimento.
Como instalar gun?
Instale o pacote com npm: npm install gun Execute os exemplos incluídos na pasta do pacote: cd node_modules/gun && npm start
Onde consigo gun?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/amark/gun

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados