Perguntas frequentes

Respostas curtas sobre operar o nostrfy. Tudo abaixo aponta para a documentação — e se preferir, você pode compará-lo com o strfry.

O que é o nostrfy?

O nostrfy é um motor de servidor de relay Nostr tudo-em-um escrito em Rust. Ele armazena eventos de clientes Nostr e os entrega em resposta a assinaturas, implementando todos os NIP do lado do relay, além de um servidor de mídia Blossom opcional, uma API REST somente leitura e uma API de gerenciamento NIP-86 — tudo em um único binário.

O nostrfy é gratuito e de código aberto?

Sim. O nostrfy é software livre, com dupla licença MIT ou Apache-2.0, à sua escolha. O código-fonte está no GitHub e não há níveis pagos, telemetria ou aprisionamento.

Do que preciso para executar o nostrfy?

Um único binário estático roda em Linux (x86_64 e aarch64) e FreeBSD (x86_64). Foi verificado em um VPS de 0,25 vCPU / 512 MB. O armazenamento é um banco LMDB local — nenhum servidor de banco externo é necessário.

Como instalo o nostrfy?

Uma linha: curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh. O script detecta seu sistema operacional e arquitetura, baixa o binário pré-compilado correspondente, verifica seu checksum e o coloca no PATH. Você também pode compilar do código-fonte com Cargo ou copiar um modelo de configuração pronto.

Como o nostrfy é configurado?

Tudo fica em um único nostrfy.toml totalmente comentado — identidade do relay, limites, armazenamento, controle de acesso, Blossom e RPC. O nostrfy check valida antes de iniciar, e a maioria das configurações recarrega a quente via SIGHUP sem reiniciar.

Quais NIP o nostrfy suporta?

O nostrfy implementa 36 NIP, incluindo NIP-01, exclusão NIP-09, grupos NIP-29, autenticação NIP-42, pesquisa NIP-50, zaps NIP-57, gift wrap NIP-59, listas de relays NIP-65, negentropy NIP-77, gerenciamento NIP-86 e autenticação HTTP NIP-98. A lista supported_nips do NIP-11 é dinâmica: um NIP desaparece quando os kinds necessários são bloqueados ou desativados.

O nostrfy hospeda arquivos de mídia?

Sim. O servidor de arquivos Blossom integrado hospeda uploads endereçados por conteúdo em seu próprio hostname — disco local ou bucket compatível com S3, como AWS S3 ou Cloudflare R2. Os uploads são autorizados por eventos kind-24242 assinados e podem ser restritos a uma allowlist.

Posso migrar do strfry?

Sim. O nostrfy migrate-strfry importa diretamente um banco strfry ou um export JSONL, aplicando a semântica substituível/endereçável, exclusões NIP-09 e efeitos colaterais de moderação NIP-29, e pode mesclar configurações equivalentes do strfry no nostrfy.toml. A migração é offline, aceita simulação e é segura de repetir.

O nostrfy funciona atrás de um proxy reverso ou do Cloudflare?

Sim. Configure server.trusted_proxies com os endereços do proxy (loopback para nginx ou Caddy no mesmo host, a faixa do balanceador na nuvem) para que os limites por IP, o blockip e os logs vejam o endereço real do cliente. O TLS é terminado pelo seu proxy ou túnel; o nostrfy serve atrás em HTTP e WebSocket comuns.

O nostrfy tem uma API REST?

Sim — uma API /api/v1 somente leitura na mesma porta do relay WebSocket, em seu próprio thread de leitura, então o tráfego REST nunca bloqueia os assinantes. Ela consulta eventos por npub, nevent ou naddr e oferece contagens, estatísticas de autor, divisões por dia/mês e pesquisa de texto completo.

Como o nostrfy se mantém no ar sob carga ou abuso?

Proteção contra sobrecarga, threads de leitura dedicados, isolamento de pânicos e limites rígidos de recursos. Filas limitadas falham rápido em vez de esgotar a memória; os limites de conexões por IP detêm floods de sockets, e um disco travado não bloqueia as leituras. Os subsistemas são isolados e o relay continua servindo.

Como gerencio usuários, banimentos e papéis?

Pela API de gerenciamento JSON-RPC NIP-86 com um token Bearer ou chave de administrador NIP-98: banir chaves, bloquear IPs, gerenciar allowlists de kinds, papéis e códigos de convite. As concessões de métodos permitem delegar a moderação a outras chaves sem dar permissões totais de administrador.