Comparação

nostrfy vs strfry

Ambos são relays Nostr de um único binário, armazenam eventos em LMDB e falam o mesmo protocolo. Mas fazem escolhas diferentes: strfry é o relay C++ maduro com sistema de plugins write-policy, enquanto nostrfy é um motor escrito em Rust que reúne os recursos de que o operador precisa — grupos, mídia, REST, gerenciamento — em um binário e um arquivo de configuração.

Visão geral

nostrfystrfry
LinguagemRustC++
LicençaMIT ou Apache-2.0GPL-3.0
ArmazenamentoLMDB (sem banco externo)LMDB (sem banco externo)
ConfiguraçãoUm único nostrfy.toml, recarga a quente (SIGHUP)strfry.conf, recarga a quente
NIP anunciados34 (36 implementados, incl. opcionais)11 NIP principais
Grupos NIP-29 + LiveKitIntegrado—
Servidor de mídia BlossomIntegrado (disco local ou S3/R2)—
REST API/api/v1 integrado—
API de gerenciamentoNIP-86 JSON-RPC com administradores delegados—
Negentropy (NIP-77)SimSim — o strfry o originou
Políticas de escrita / pluginsListas allow/deny integradas + NIP-86Interface de plugins write-policy
Ferramenta de migraçãonostrfy migrate-strfrystrfry import / export / sync

Licença

O strfry está sob GPL-3.0, que exige que obras derivadas sejam publicadas nos mesmos termos. O nostrfy tem dupla licença MIT ou Apache-2.0, então pode ser embutido em produtos de código fechado e relicenciado livremente. Se o seu relay faz parte de uma pilha comercial ou licenciada, isso costuma ser a diferença decisiva.

Configuração e operação

  • O nostrfy é configurado por um único nostrfy.toml: identidade, limites, armazenamento, controle de acesso, Blossom e RPC em um só lugar. A maioria das configurações recarrega a quente via SIGHUP.
  • Cada opção é validada antes de o relay iniciar pelo nostrfy check — tipos errados, limites impossíveis e combinações que bloqueiam o acesso são relatados com correções.
  • O daemon inclui rotação de logs, estatísticas ao vivo, endpoint de saúde e métricas Prometheus; a CLI gerencia listas de acesso, atualizações e migrações.

Recursos integrados

Em vez de acoplar serviços auxiliares, o nostrfy inclui o que um relay público costuma precisar:

Grupos NIP-29 + LiveKit

Grupos aplicados pelo relay, eventos de moderação e metadados de grupo assinados pelo relay, além de salas de áudio/vídeo via LiveKit.

Servidor de mídia Blossom

Uploads endereçados por conteúdo no seu próprio hostname, em disco local ou em um bucket compatível com S3 (AWS S3, Cloudflare R2).

REST API

API /api/v1 somente leitura no seu próprio thread de leitura: consulte eventos por npub, nevent ou naddr, com contagens, estatísticas e pesquisa.

Gerenciamento NIP-86

API de gerenciamento JSON-RPC com autenticação Bearer ou NIP-98, concessões de métodos delegadas e códigos de convite.

Onde o strfry se destaca

O strfry continua sendo uma excelente escolha: originou o protocolo negentropy, suporta reinícios sem tempo de inatividade e compressão WebSocket opcional, e sua interface de plugins write-policy permite executar lógica arbitrária em cada publicação. Se você precisa de um sandbox de plugins e de nada mais desta lista, o strfry é ideal. Se prefere grupos, mídia, REST e gerenciamento de fábrica — ou precisa de uma licença permissiva — o nostrfy é o caminho mais curto.

Migrar do strfry

Você não precisa começar do zero.nostrfy migrate-strfry lê o próprio formato de exportação do strfry, verifica cada evento e importa todo o banco — incluindo exclusões NIP-09, efeitos colaterais de moderação NIP-29 e marcas de primeira aparição. É offline, aceita simulação e é seguro repetir.