Referência de comandos
Todos os comandos do nostrfy: init, start, stop, stats, upgrade e migrate-strfry, além das listas de acesso da CLI e dos filtros de assinatura inbox/outbox.
Visão geral
Todos os comandos aceitam --config <path> (padrão nostrfy.toml).
| Comando | Descrição |
|---|---|
nostrfy init | Grava um nostrfy.toml padrão e sai; o arquivo é criado com 0600 |
nostrfy genkey | Gera uma chave secreta para grupos NIP-29, grava em relay.private_key, define a configuração como 0600 e imprime a chave pública; se o arquivo mudou desde a leitura, aborta sem gravar |
nostrfy check | Valida a configuração (execute antes de iniciar) |
nostrfy start | Inicia como daemon; --foreground roda no terminal |
nostrfy stop | Para o daemon em execução |
nostrfy restart | Para e inicia de novo (relê a configuração) |
nostrfy stats | Mostra estatísticas ao vivo |
nostrfy upgrade [version] | Atualiza o binário para a última release do GitHub (ou a versão indicada); baixa o asset da plataforma, verifica seu sha256 e executa uma sonda --version, depois substitui o binário de forma atômica; execuções concorrentes são serializadas por arquivo de lock; sem versão indicada nunca faz downgrade; --force força a reinstalação |
nostrfy migrate-strfry | Importa eventos de um relay strfry — seja executando strfry export via --strfry-db, lendo um arquivo JSONL com --input ou recebendo via stdin; repetível, com --dry-run, --since e a mesclagem opcional de configurações |
Gerenciar as listas de acesso
As listas de permissão/bloqueio do relay e a allowlist de upload do Blossom ficam no LMDB e valem imediatamente — o daemon em execução recarrega automaticamente:
nostrfy relay allow npub1...
nostrfy relay deny npub1...
nostrfy relay list
nostrfy blossom allow npub1...
nostrfy blossom deny npub1...
nostrfy blossom listUma chave negada é sempre rejeitada ao publicar e nunca é servida ao ler.
nostrfy access unblockip <ip> Remove um IP da lista persistida de IPs bloqueados pelo NIP-86 (recuperação de autobloqueio); reinicie o daemon para aplicar.
Filtros de assinatura inbox/outbox
O nostrfy estende a sintaxe de filtros REQ para o modelo de roteamento inbox/outbox com duas chaves práticas — uma extensão do nostrfy, não parte de nenhum NIP. "outbox" se expande para "authors": só eventos criados por essa pubkey. "inbox" se expande para "#p": só eventos endereçados a essa pubkey (menções, respostas, zaps e DMs). Os valores podem ser hex de 64 caracteres ou npub1, ou arrays mesclados a uma chave authors/#p existente; uma pubkey inválida rejeita a assinatura:
["REQ", "my-feed", {"outbox": "npub1..."}]
["REQ", "mentions", {"inbox": "npub1...", "kinds": [1, 7]}]Os endpoints também têm restrição de escrita: /outbox aceita só eventos criados pela pubkey autenticada via NIP-42 da conexão (server.outbox_write_policy = "any"), ou só eventos do próprio relay ("relay"); /inbox aceita só eventos com tag p.
Migrar do strfry
Um único comando traz os eventos de um relay strfry existente. A migração é offline (pare antes o relay nostrfy — ela se recusa a rodar com o banco em uso), lê o próprio formato de exportação do strfry e é segura de repetir: duplicatas são ignoradas e os efeitos de exclusão são reaplicados.
# primeiro uma simulação — verifica cada evento e não grava nada
nostrfy migrate-strfry --strfry-db /var/lib/strfry-db --dry-run
# importação (pare antes o relay nostrfy)
nostrfy migrate-strfry --strfry-db /var/lib/strfry-dbTambém oferece mesclar as configurações equivalentes do strfry em nostrfy.toml, e após uma interrupção dá para
retomar com --since. Grupos NIP-29 e papéis NIP-43 são reconstruídos a partir dos eventos importados na primeira inicialização. O manual completo está no guia de migração.