Preguntas frecuentes

Respuestas breves sobre cómo ejecutar nostrfy. Todo lo de abajo enlaza a la documentación — y si lo prefieres, puedes compararlo con strfry.

¿Qué es nostrfy?

nostrfy es un motor de servidor de relé Nostr todo en uno escrito en Rust. Almacena eventos de clientes Nostr y los entrega en respuesta a suscripciones, implementando todos los NIP del lado del relé, más un servidor de medios Blossom opcional, una API REST de solo lectura y una API de gestión NIP-86 — todo en un solo binario.

¿nostrfy es gratis y de código abierto?

Sí. nostrfy es software libre, con doble licencia MIT o Apache-2.0, a tu elección. El código fuente está en GitHub y no hay niveles de pago, telemetría ni dependencia forzada.

¿Qué necesito para ejecutar nostrfy?

Un único binario estático se ejecuta en Linux (x86_64 y aarch64) y FreeBSD (x86_64). Se ha verificado en un VPS de 0,25 vCPU / 512 MB. El almacenamiento es una base LMDB local: no se necesita ningún servidor de base de datos externo.

¿Cómo instalo nostrfy?

Una línea: curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh. El script detecta tu sistema operativo y arquitectura, descarga el binario precompilado correspondiente, verifica su suma de comprobación y lo coloca en el PATH. También puedes compilar desde el código fuente con Cargo o copiar una plantilla de configuración lista.

¿Cómo se configura nostrfy?

Todo está en un único archivo nostrfy.toml totalmente comentado — identidad del relé, límites, almacenamiento, control de acceso, Blossom y RPC. nostrfy check lo valida antes de arrancar, y la mayoría de los ajustes se recargan en caliente con SIGHUP.

¿Qué NIP admite nostrfy?

nostrfy implementa 36 NIP, incluidos NIP-01, eliminación NIP-09, grupos NIP-29, autenticación NIP-42, búsqueda NIP-50, zaps NIP-57, gift wrap NIP-59, listas de relés NIP-65, negentropy NIP-77, gestión NIP-86 y autenticación HTTP NIP-98. La lista supported_nips de NIP-11 es dinámica: un NIP desaparece cuando sus kinds se bloquean o desactivan.

¿Aloja nostrfy archivos multimedia?

Sí. El servidor de archivos Blossom integrado aloja subidas direccionadas por contenido en su propio nombre de host — disco local o un bucket compatible con S3 como AWS S3 o Cloudflare R2. Las subidas se autorizan con eventos kind-24242 firmados y pueden restringirse a una allowlist.

¿Puedo migrar desde strfry?

Sí. nostrfy migrate-strfry importa directamente una base de strfry o un export JSONL, aplicando la semántica reemplazable/direccionable, las eliminaciones NIP-09 y los efectos secundarios de moderación NIP-29, y puede fusionar los ajustes equivalentes de strfry en nostrfy.toml. La migración es offline, admite simulacro (dry-run) y es segura de repetir.

¿Puede nostrfy funcionar detrás de un proxy inverso o Cloudflare?

Sí. Configura server.trusted_proxies con las direcciones del proxy (loopback para nginx o Caddy en el mismo host, el rango del balanceador en la nube) para que los límites por IP, blockip y los registros vean la dirección real del cliente. El TLS lo termina tu proxy o túnel; nostrfy sirve HTTP y WebSocket sin cifrar detrás de él.

¿Tiene nostrfy una API REST?

Sí — una API /api/v1 de solo lectura en el mismo puerto que el relé WebSocket, en su propio hilo de lectura, por lo que el tráfico REST nunca bloquea a los suscriptores. Consulta eventos por npub, nevent o naddr y ofrece recuentos, estadísticas de autor, desgloses por día/mes y búsqueda de texto completo.

¿Cómo se mantiene nostrfy en línea bajo carga o abuso?

Protección contra sobrecarga, hilos de lectura dedicados, aislamiento de pánicos y límites estrictos de recursos. Las colas acotadas fallan rápido en lugar de agotar la memoria; los límites de conexiones por IP detienen los floods de sockets, y un disco bloqueado no bloquea las lecturas. Los subsistemas están aislados y el relé sigue sirviendo.

¿Cómo gestiono usuarios, baneos y roles?

A través de la API de gestión JSON-RPC NIP-86 con un token Bearer o una clave de administrador NIP-98: banear claves, bloquear IPs, gestionar allowlists de kinds, roles y códigos de invitación. Las concesiones de métodos permiten delegar la moderación en otras claves sin dar permisos completos de administrador.