Comparación

nostrfy vs strfry

Ambos son relés Nostr de un solo binario, guardan los eventos en LMDB y hablan el mismo protocolo. Pero toman decisiones distintas: strfry es el relé C++ maduro con sistema de plugins write-policy, mientras que nostrfy es un motor escrito en Rust que reúne las funciones que necesita el operador — grupos, medios, REST, gestión — en un binario y un archivo de configuración.

De un vistazo

nostrfystrfry
LenguajeRustC++
LicenciaMIT o Apache-2.0GPL-3.0
AlmacenamientoLMDB (sin base de datos externa)LMDB (sin base de datos externa)
ConfiguraciónUn solo nostrfy.toml, recarga en caliente (SIGHUP)strfry.conf, recarga en caliente
NIP anunciados34 (36 implementados, incl. opcionales)11 NIP principales
Grupos NIP-29 + LiveKitIntegrado—
Servidor de medios BlossomIntegrado (disco local o S3/R2)—
REST API/api/v1 integrado—
API de gestiónNIP-86 JSON-RPC con administradores delegados—
Negentropy (NIP-77)SíSí — strfry lo originó
Políticas de escritura / pluginsListas allow/deny integradas + NIP-86Interfaz de plugins write-policy
Herramienta de migraciónnostrfy migrate-strfrystrfry import / export / sync

Licencia

strfry está bajo GPL-3.0, que exige que las obras derivadas se publiquen bajo los mismos términos. nostrfy tiene doble licencia MIT o Apache-2.0, por lo que puede integrarse en productos de código cerrado y relicenciarse libremente. Si tu relé forma parte de una pila comercial o con licencia, esto suele ser la diferencia decisiva.

Configuración y operación

  • nostrfy se configura mediante un único nostrfy.toml: identidad, límites, almacenamiento, control de acceso, Blossom y RPC en un solo lugar. La mayoría de los ajustes se recargan en caliente con SIGHUP.
  • Cada opción la valida nostrfy check antes de arrancar el relé — tipos erróneos, límites imposibles y combinaciones que bloquean el acceso se reportan con correcciones.
  • El demonio incluye rotación de registros, estadísticas en vivo, un endpoint de comprobación de estado y métricas Prometheus; la CLI gestiona listas de acceso, actualizaciones y migraciones.

Funciones integradas

En lugar de añadir servicios auxiliares, nostrfy incorpora lo que un relé público suele necesitar:

Grupos NIP-29 + LiveKit

Grupos impuestos por el relé, eventos de moderación y metadatos de grupo firmados por el relé, además de salas de audio/vídeo vía LiveKit.

Servidor de medios Blossom

Las subidas direccionadas por contenido se ejecutan en su propio nombre de host, en disco local o en un bucket compatible con S3 (AWS S3, Cloudflare R2).

REST API

API /api/v1 de solo lectura en su propio hilo de lectura: consulta eventos por npub, nevent o naddr, con recuentos, estadísticas y búsqueda.

Gestión NIP-86

API de gestión JSON-RPC con autenticación Bearer o NIP-98, concesiones de métodos delegadas y códigos de invitación.

Donde strfry destaca

strfry sigue siendo una excelente opción: originó el protocolo negentropy, admite reinicios sin tiempo de inactividad y compresión WebSocket opcional, y su interfaz de plugins write-policy permite ejecutar lógica arbitraria en cada publicación. Si necesitas un entorno aislado (sandbox) de plugins y nada más de esta lista, strfry es ideal. Si prefieres grupos, medios, REST y gestión integrados — o necesitas una licencia permisiva — nostrfy es el camino más corto.

Migrar desde strfry

No tienes que empezar de cero. nostrfy migrate-strfry lee el propio formato de exportación de strfry, verifica cada evento e importa toda la base de datos — incluidas las eliminaciones NIP-09, los efectos secundarios de moderación NIP-29 y las marcas de primera aparición. Es offline, admite dry-run y es seguro de repetir.