El relé Nostr que nunca se cae.
nostrfy es un motor de servidor de relé Nostr todo en uno. Rápido por diseño, ligero por naturaleza, potente por defecto. Instalación en una línea, configuración en un solo archivo TOML y ejecución en prácticamente cualquier VPS.
Instalación en una línea
El script de instalación detecta tu sistema operativo y arquitectura, descarga el binario precompilado correspondiente, verifica su suma SHA-256 y lo coloca en tu PATH. Sin clonar, sin compilar y sin sudo.
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shsin sudo
Se instala en ~/.local/bin, ~/bin o ~/.cargo/bin — el primero que ya esté en el PATH.
Linux + FreeBSD
Binarios precompilados para Linux x86_64 y aarch64, además de FreeBSD x86_64.
Suma de comprobación verificada
La suma de comprobación de la versión se obtiene y verifica antes de que el binario toque el disco.
VERSION=v0.1.16 curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shINSTALL_DIR=/usr/local/bin sudo curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shcurl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh -s -- --forcegit clone https://github.com/iqbqioza/nostrfy.git && cd nostrfy && cargo build --release¿Migras desde strfry?
Trae tus eventos existentes con un solo comando — sin conexión, verificado y seguro de repetir.
En marcha en menos de un minuto
nostrfy incluye un demonio, un validador de configuración, estadísticas en vivo, rotación de registros y recarga en caliente — todo lo que necesita un operador, en un solo binario.
- nostrfy init escribe un nostrfy.toml predeterminado con todos los comentarios
- nostrfy check valida la configuración antes de arrancar
- SIGHUP recarga la mayoría de los ajustes sin reiniciar
- nostrfy upgrade actualiza el binario a la última versión
nostrfy init
# escribe un nostrfy.toml predeterminado y salenostrfy start
# ejecuta el relé como demonionostrfy stats
# conexiones, eventos, tamaño de la basecurl http://localhost:8080/health
# {"status":"ok"}Apunta tu cliente Nostr a ws://<host>:8080 — listo.
Para relés en producción
Cada función responde a dos objetivos: nunca caerse y ser totalmente conforme a las especificaciones. El resultado es un relé que sobrevive a abusos, discos bloqueados y hosts con poca memoria.
Totalmente conforme
Todos los NIP del lado del relé implementados y verificados contra las especificaciones oficiales — más de 36 NIP y el servidor de archivos Blossom.
Nunca se cae
La protección contra sobrecarga, los hilos de lectura dedicados, el aislamiento de pánicos y los límites estrictos de recursos mantienen el relé en servicio bajo abuso sostenido.
Servidor de medios Blossom
Subidas direccionadas por SHA-256 en su propio nombre de host — disco local o buckets compatibles con S3 (AWS S3, Cloudflare R2), con borrado firmado por el propietario.
REST API
Una API /api/v1 de solo lectura para consultar eventos por npub1, nevent1 o naddr1 — su propio hilo de lectura hace que el tráfico REST nunca bloquee a los suscriptores WebSocket.
Persistencia LMDB
Almacenamiento duradero y a prueba de fallos mediante heed. El mapa de memoria se reserva de forma dispersa hasta su límite — sin redimensionado en caliente y con un consumo físico mínimo.
Todo configurable
Todos los ajustes están en nostrfy.toml — sin opciones de compilación. Edita, SIGHUP, listo. Límites, interruptores de NIP, almacenamiento y más.
Funciona tras proxies TLS
nginx, Caddy, Cloudflare Tunnel — se respetan las actualizaciones WebSocket y X-Forwarded-Proto, así que wss:// funciona detrás de cualquier proxy.
Rust + FreeBSD
Un único binario Rust estático para Linux x86_64, Linux aarch64 y FreeBSD x86_64 — verificado en un VPS de 0,25 vCPU / 512 MB.
Rendimiento medido
Compilación release, base de datos nueva, portátil de 8 hilos. La velocidad de escritura está limitada por un único hilo escritor de LMDB y confirmaciones por lotes sin fsync; los lectores nunca lo bloquean.
Reproducible con los benchmarks incluidos — consulta notas de rendimiento.
Compatibilidad completa con NIP según la especificación
Todos los NIP del lado del relé están implementados y verificados. La lista publicada en NIP-11 es dinámica — un NIP desaparece automáticamente cuando se bloquean sus kinds.
Un ecosistema de grandes clientes
nostrfy habla los estándares NIP abiertos en los que confían los clientes — las mejores aplicaciones Nostr se conectan y obtienen la experiencia completa. Cualquier cliente compatible con NIP funciona con tu relé.
Ditto realmente usa estos NIP — búsqueda NIP-50, comentarios en hilo NIP-22, zaps NIP-57, medios NIP-94 y estadísticas NIP-85 son parte de su día a día — y cada uno corresponde a una función del relé nostrfy.
Un cliente completo que realmente usa estos NIP — búsqueda NIP-50, mensajes privados NIP-17/59, zaps NIP-57, encuestas NIP-88 y medios Blossom funcionan con tu relé.
¿Desarrollas en Nostr? Apunta cualquier cliente a tu relé — consulta Referencia completa de NIP.
Ejecuta tu propio relé en minutos
Desde el VPS más pequeño hasta una flota global — el binario precompilado, el validador de configuración y las guías de despliegue lo hacen indoloro.
¿Preguntas? FAQ o la comparación entre nostrfy y strfry — y migra con un solo comando.