⚡ nzbfast

O baixador rápido da Usenet - manual do usuário

1 · Boas-vindas

O nzbfast baixa da Usenet tão rápido quanto sua linha, seus provedores e sua máquina permitem - e normalmente isso significa tão rápido quanto sua linha. É um único programa autossuficiente: o motor, um painel web, um navegador de mídia em mural de pôsteres, um indexador integrado, pré-visualização em tempo real, reparo PAR2 nativo e a extração de RAR nativa estão todos dentro de um único executável. Não há mais nada para instalar.

O que o torna rápido é a arquitetura, não ajustes finos:

Medido contra o mercado em hardware, trabalhos e provedores idênticos, o nzbfast concluiu um download de 190 GB em cerca de 5 minutos em uma linha de 10 GbE - com as principais alternativas 30–220% atrás nos mesmos testes, quando os concluíam. Os números estão na §3.

2 · Início rápido

macOS

  1. Abra nzbfast-<version>-macos.dmg e arraste o NzbFast para Aplicativos (universal: Apple Silicon + Intel).
  2. Primeira abertura: o macOS avisa que o nzbfast ainda não está autenticado pela Apple. Clique com o botão direito no app → Abrir - ou abra Ajustes do Sistema → Privacidade & Segurança, role para baixo e clique em Abrir Assim Mesmo. Isso é feito uma única vez.
  3. A janela do app mostra o painel com um cartão de boas-vindas - clique nele e adicione pelo menos um servidor Usenet (host, porta 563, usuário, senha). Você pode adicionar mais depois em Ajustes.
  4. Solte um arquivo .nzb em qualquer lugar do painel - ou simplesmente dê duplo clique em arquivos .nzb no Finder. Os downloads chegam em ~/Downloads/nzbfast. Saia pelo menu; os downloads retomam de onde pararam.

Prefere não usar o app? O zip simples (binário + lançador Start nzbfast.command, mesmo motor) continua funcionando como antes - os passos estão abaixo em "De um terminal".

Windows

  1. Execute nzbfast-setup-<version>.exe. Ele instala apenas para o seu usuário (sem senha de administrador). Como esta versão ainda não está assinada, o SmartScreen pode mostrar "O Windows protegeu seu PC" - clique em Mais informaçõesExecutar assim mesmo.
  2. O nzbfast fica na bandeja do sistema: dê duplo clique no ícone da bandeja (ou use Abrir painel no menu do botão direito) para abrir o painel, depois adicione seu servidor Usenet pelo cartão de boas-vindas. O menu da bandeja também tem Pausar/Retomar, sua pasta de downloads e Sair.
  3. Dar duplo clique em um arquivo .nzb o coloca na fila. O Windows Defender pode perguntar uma vez para permitir a escuta na rede local - permita.

Prefere uma cópia portátil? O -windows-x64.zip continua funcionando: descompacte em qualquer lugar e dê duplo clique em nzbfast.exe (ou Start nzbfast.bat) para o assistente no terminal.

De um terminal (qualquer plataforma)

nzbfast setup            # interactive server setup (writes config.local.json)
nzbfast serve --open     # start the daemon and open the dashboard
DicaJá usa o SABnzbd ou o NZBGet? Pule a digitação de credenciais: Ajustes → Servidores Usenet → Importar do SABnzbd / NZBGet… encontra sua instalação existente e copia os servidores dela. Também há nzbfast import-sab na linha de comando.

3 · Como o nzbfast funciona

Um vocabulário rápido para que o restante do manual seja de leitura fácil:

TermoSignificado
Provedor / servidorUm serviço da Usenet no qual você tem uma conta (Newshosting, Eweka, XS News…). Cada um permite algum número de conexões simultâneas.
BackboneA infraestrutura por trás de um provedor. Várias marcas muitas vezes revendem o mesmo backbone - útil saber, porque dois provedores em um mesmo backbone não têm os mesmos artigos. Veja Diversidade de servidores.
NZBUm pequeno arquivo XML que lista os artigos que compõem uma publicação. É isto que você fornece ao nzbfast.
PAR2Dados de recuperação publicados junto com um lançamento. O nzbfast verifica contra eles durante o download e repara automaticamente quando os artigos estão danificados ou ausentes.
RAR em modo armazenamentoA maioria dos lançamentos é empacotada em volumes RAR sem compressão. O nzbfast reconhece isso e escreve o arquivo interno diretamente em seu local final durante o download - sem etapa de extração depois.

O pipeline executa download → decodificação → verificação → extração de forma concorrente. O cartão Pipeline do painel mostra as três faixas se movendo ao mesmo tempo. Quando chega o último byte, a verificação já está pronta e o arquivo já está extraído; o tempo de "pós-processamento" de um trabalho típico é zero. Se o reparo for necessário, só então os volumes são materializados em disco, reparados no lugar pelo motor GF(2¹⁶) nativo (dados ofuscados renomeados ou deslocados em bytes são encontrados e adotados por uma varredura deslizante de blocos) e reextraídos - tudo automático.

Downloads interrompidos (travamento, queda de energia, kill -9) retomam a partir do diário de artigos: os bytes já em disco nunca são buscados duas vezes. O diário registra onde os bytes de cada artigo pousaram fisicamente - até os bytes que foram extraídos diretamente no arquivo final - de modo que uma retomada reconstrói a partir do disco local e reverifica tudo que restaurou contra o mapa de blocos PAR2 antes de confiar nele.

Como isso se compara

Medido contra o SABnzbd 5.0.4 e o NZBGet 26.2 na mesma máquina, os mesmos provedores e os mesmos NZBs, cronometrado até um arquivo utilizável - download, verificação, reparo e extração todos incluídos, porque é aí que o trabalho realmente termina:

Tamanho do trabalhonzbfastNZBGet 26.2SABnzbd 5.0.4
7 GB13,7 s+26%+39%
35 GB67 s+61%+325%
87 GB272 s+36%+160%
190 GB9 min 00 s+30%+111%

A diferença é o pós-processamento que os outros ainda têm de fazer depois que o último byte chega. Ambos os concorrentes foram ajustados para a comparação, não deixados no padrão - o SABnzbd em particular vem com o pipeline de solicitações desligado, o que lhe custa caro, então ele foi ligado.

Duas diferenças importam tanto quanto os tempos:

Retomada de travamento, medidaMate um download em pleno voo (kill -9 aos 15 GB de um trabalho de 34,5 GB) e a retomada rebusca ~0,3 GB - apenas os artigos genuinamente em trânsito no momento da morte - contra os 0,2 GB do NZBGet no mesmo teste. Isto costumava ser uma derrota que publicávamos (15,3 GB rebuscados, quando o diário não conseguia contabilizar os bytes extraídos diretamente); o diário de posicionamento resolveu: a retomada restaura esses bytes a partir dos arquivos de saída locais e reverifica cada byte restaurado contra o mapa de blocos PAR2 antes de confiar nele. Cada cenário que perdemos é publicado ao lado das vitórias, com o método completo e os números brutos.

4 · O painel

Abra http://localhost:6789 (ou o endereço da sua máquina a partir de outro dispositivo - o layout do celular se adapta automaticamente). Tudo é atualizado ao vivo, uma vez por segundo. Os cartões, de cima para baixo:

Barra de cabeçalho

Vazão

MB/s ao vivo com um gráfico deslizante; as marcas d'água tracejadas indicam os pontos alto/baixo desta sessão, e a linha tênue é uma média móvel. Abaixo dele, um histograma mostra como as amostras de velocidade da sessão se distribuem - típico vs pico. Alargue a janela e os gráficos mostram mais histórico (até uma hora).

Blocos de estatísticas

Baixado nesta sessão, profundidade da fila, contagens de concluídos/falhados, velocidade de pico da sessão.

Recursos - uma máquina, quatro tetos

CPU, RAM (contra o orçamento de memória do nzbfast), taxa de escrita em disco e rede em um único gráfico normalizado, com valores reais na legenda e um aviso de pouco espaço em disco. Nenhum outro cliente NZB mostra isto; existe para provar um ponto - o nzbfast vai saturar sua linha, não sua máquina.

Pipeline - as etapas se sobrepõem

Três faixas: download, verificação (blocos PAR2 verificados), extração. Em um trabalho saudável, as três se movem juntas.

Provedores

Taxa ao vivo por servidor, utilização das conexões, participação no tráfego, GB da sessão e uma pontuação de compleção de artigos acumulada (colorida quando um servidor cai abaixo de 98%). Um gráfico de área empilhada mostra a contribuição de cada provedor ao longo do tempo. As linhas se reordenam por desempenho ao vivo a cada 10 s (configurável em Ajustes → Interface) para que seu provedor mais rápido esteja sempre no topo.

Fila

Explorar índice

Pesquise tudo o que o indexador integrado catalogou dos seus grupos monitorados (veja Automação) e baixe com um clique - sem necessidade de indexador externo. A linha de status mostra o progresso da varredura; Varrer agora força uma passagem.

Lista de acompanhamento

Adicione títulos pelo nome - inclusive os ainda não publicados. Quando um lançamento correspondente aparece no índice, ele é capturado automaticamente, com preferências de qualidade e regras de melhoria (uma cópia melhor substitui uma pior).

Histórico

Downloads recentes com status, tamanho, local; trabalhos que falharam oferecem Repetir (retoma a partir do diário). Arquivos criptografados mostram um controle de desbloqueio 🔑 - digite a senha e o trabalho termina no lugar. A faixa de saúde da verificação plota os blocos PAR2 defeituosos por download - uma cauda crescente indica que os artigos chegam danificados.

Uso de dados

Barras diárias por provedor e totais de Hoje / 7 dias / 30 dias - essencial para contas medidas e de bloco. Contas de bloco mostram o uso acumulado contra seu tamanho.

Log, Benchmark do sistema, Ajuste de conexões, Diversidade de servidores

Um visualizador de log na página e as três ferramentas de automedição descritas em Ferramentas de desempenho.

5 · Adicionar downloads

MétodoComo
Arrastar e soltarSolte um ou mais arquivos .nzb em qualquer lugar do painel.
Pasta monitoradaDefina uma pasta em Ajustes; qualquer .nzb salvo nela é detectado em até 5 segundos e o arquivo é removido. Aponte a pasta de downloads do seu navegador para ela para capturas de um clique a partir de sites indexadores.
De uma URLCole um link NZB (API mode=addurl, ou por qualquer app conectado).
Explorar índiceClique em qualquer lançamento completo no cartão Explorar.
Lista de acompanhamento / RSSAutomático - veja Automação.
Sonarr/Radarr etc.Eles enviam capturas direto para a fila - veja §11.
Linha de comandonzbfast get file.nzb baixa sem o daemon.

Categorias, prioridades, senhas

6 · O mural de pôsteres

Clique em 🎬 mural no cabeçalho. O mural transforma seu índice em um navegador de mídia: cada filme e lançamento de TV reconhecido como um bloco de pôster com nota, ano, gêneros, elenco e sinopse - seus newsgroups, navegáveis como um catálogo.

7 · Prévia e verificação

Você não precisa esperar um download terminar para saber se é o arquivo certo. Abra-o enquanto ele baixa, confira se o conteúdo, o idioma e a qualidade são o que você esperava, e cancele cedo se não forem - em vez de descobrir depois do download completo.

Nota sobre reprodutoresVLC, IINA, mpv e Infuse abrem todos as URLs /stream. Para conferir de outra máquina, use o endereço LAN da sua máquina no lugar de localhost.
Nota sobre autenticaçãoCom uma chave de API definida, abrir uma entrada de biblioteca estacionada por /stream/<id> exige um token por trabalho (?t=…) - os reprodutores não conseguem enviar chaves de API, então a entrega /m3u e o ponteiro .strm o incorporam para você; gerá-lo (/m3u) exige a chave. O serviço puro de bytes de um download já ativo permanece aberto, e instalações sem chave se comportam como antes.

8 · Servidores Usenet

Ajustes → Servidores Usenet é o editor completo: adicionar, editar, remover, reordenar e colocar ou tirar do pool qualquer servidor. Cada servidor tem:

CampoNotas
Host / portaUse a porta SSL 563. O TLS não custa nada mensurável - o nzbfast sempre criptografa.
Usuário / senhaArmazenados localmente em config.local.json, nunca exibidos de volta ao navegador. Deixar a senha em branco ao editar mantém a armazenada.
ConexõesConexões simultâneas por servidor. Use o Ajuste de conexões (§13) para achar o ponto ideal de cada provedor em vez de chutar alto.
Nível (camada)0 = primário; níveis mais altos são servidores de preenchimento, consultados apenas para os artigos que todo nível inferior não tinha. Coloque contas ilimitadas em 0 e contas de bloco em 1+.
Tamanho do bloco (GB)Para contas de bloco (pago por GB): o nzbfast registra o uso acumulado contra isto e para de usar o servidor quando ele se esgota (aviso aos 85%).

Outras duas opções por servidor ainda não têm controlo no painel: acrescente-as à mão na entrada desse servidor em config.local.json (ver §17) e reinicie.

ChaveNotas
bind_ipLiga as ligações de saída deste servidor a um endereço local específico, para máquinas com várias saídas e túneis VPN divididos. A família de endereços escolhe também a família de destino: uma ligação v4 conecta ao endereço v4 do servidor.
socks5Envia o tráfego NNTP deste servidor por um proxy SOCKS5: host:port, ou user:pass@host:port. O nome do host é resolvido pelo proxy, logo não há fuga de DNS local.
RecomendaçãoDois provedores em backbones diferentes vencem três no mesmo. Execute a Diversidade de servidores (§13) para ver quais dos seus provedores realmente diversificam sua cobertura e quais são cópias redundantes uns dos outros.

9 · Referência de ajustes

Quase tudo é configurável a partir do painel, em ⚙ Ajustes; as quatro exceções estão no fim desta secção. Os valores marcados live aplicam-se de imediato; os restart, no arranque seguinte. Cada alteração feita aqui fica guardada em settings.json e sobrevive a reinícios (os valores da interface ganham às opções de linha de comandos).

Velocidade e agendamento ao vivo

AjusteO que faz
Limite de velocidadeTeto em bytes/seg (50M, 1G, 0 = ilimitado). Apps remotos podem enviar porcentagens - defina a Velocidade da linha para que sejam traduzidas corretamente.
Velocidade automáticaTeto regulado por RTT que cede a outro tráfego da casa e se reexpande quando a linha está tranquila.
Adiar downloads lentos automaticamenteUm trabalho preso em um servidor lento enquanto outros esperam é movido para o fim da fila (o progresso é mantido). Veja §13.
Pré-carregar em servidores ociososServidores inúteis ao trabalho ativo iniciam o próximo da fila. Veja §13.
Atualização automática / URL de verificação de atualizaçõesVeja §14.
Velocidade da linhaA velocidade nominal da sua conexão - permite limites em porcentagem de apps compatíveis com o SABnzbd.
Agendamento semanalEditor de linhas para regras por horário da semana: pausar, retomar ou definir um limite de velocidade em dias/horários específicos (horário local). Ex.: limitar a 20 MB/s em dias úteis das 9 às 17 h, ilimitado no restante.

Próximo download ao vivo

Conexões (por servidor), janela (profundidade de pipeline por conexão), decodificadores (threads de decodificação em paralelo). Amostrados quando cada trabalho começa. Os padrões são adequados para a maioria das linhas; use as ferramentas de ajuste antes de aumentar às cegas.

Verificação rápida (CRC32) (ligada por omissão) reivindica os blocos PAR2 por CRC32 enquanto o download ainda decorre, o que é 2-3x mais rápido num CPU lento. A soma de verificação de cada artigo continua a ser verificada, e a passagem final usa sempre MD5 completo: não se troca nada em correção. Desmarque para calcular também MD5 por bloco durante o download.

Disco e cota ao vivo

Espaço livre mínimo (pausa novos trabalhos abaixo dele), cota de download por dia ou mês (UTC; trabalhos Forçar a ignoram), limite de memória - o orçamento de RAM do motor (padrão: ¼ da RAM, com limite; aumente-o em uma máquina com muita RAM para velocidade máxima em trabalhos enormes, e veja o que a pouca memória custa antes de reduzi-lo) reiniciar.

Mover concluídos para: após desempacotar, limpar e renomear, os downloads concluídos são movidos para cá - um compartilhamento NAS, uma unidade de mídia, onde quer que viva a sua biblioteca. A estrutura de categorias é mantida (um trabalho que terminou sob tv/ chega sob tv/ no destino), e o histórico acompanha a mudança, então os aplicativos conectados importam e excluem no novo local. Se o destino estiver inacessível quando um trabalho termina (compartilhamento offline, sem espaço), os arquivos ficam na pasta de downloads e o trabalho é concluído normalmente mesmo assim. Vazio = desligado. Os Destinos por categoria mandam categorias específicas para outro lugar (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); cada caminho listado é a pasta daquela categoria, então nenhuma subpasta de categoria extra é criada dentro dele. As categorias não listadas seguem Mover concluídos para.

Profundidade de arquivos aninhados (5 por omissão) é quantas camadas de arquivo-dentro-de-arquivo são descompactadas automaticamente: um conjunto RAR que contém um 7z que contém outro RAR é normal na Usenet, e o nzbfast segue a cadeia sem uma segunda passagem. No limite, o arquivo mais profundo fica simplesmente onde está, por descompactar, e o download termina à mesma. Só aumente para releases invulgarmente profundas.

Renomeação automática e limpeza live

Renomear downloads concluídos (ligado por omissão) dá à pasta e ao ficheiro principal um nome limpo e informativo: um filme passa a Example Movie (2024) e as séries mantêm Show - S01E02. Nomes ofuscados ou não reconhecidos ficam exatamente como foram publicados, em vez de adivinhados.

AjusteO que faz
Incluir resoluçãoAcrescenta 1080p, 2160p… ao nome. Ligado por omissão; as outras quatro etiquetas estão desligadas.
Incluir codec de vídeox265, x264, AV1
Incluir codec de áudioAtmos, DTS-HD, AC3
Incluir fonteBluRay, WEB, REMUX
Incluir grupo de lançamentoA etiqueta -GROUP no fim.
Remover arquivos inúteisLigado por omissão. Apaga .par2, .nzb, .sfv, .nfo que sobrem e clipes de amostra das pastas de filmes e séries concluídas. Nunca o vídeo nem as suas legendas.
Manter apenas o arquivo de mídiaDesligado por omissão, e destrutivo: apaga em definitivo tudo o que está na pasta exceto o vídeo (ou vídeos) e as legendas. Todos os episódios de um pacote de temporada são mantidos. Prevalece sobre Remover arquivos inúteis quando ambos estão ligados.

Todo o grupo corre depois da reparação e da descompactação e antes de Mover concluídos para, e é saltado por completo num trabalho ainda à espera de palavra-passe. Os dois passos de apagamento aplicam-se apenas a releases reconhecidas como filme ou série: uma carga de software ou um conjunto não classificável (ofuscado) nunca é varrido.

Pastas e processamento

Pasta de downloads reiniciar, pasta monitorada, script de pós-processamento (executado após cada trabalho com argumentos compatíveis com o SABnzbd e ambiente SAB_* - scripts SAB existentes funcionam sem alteração), extensões de limpeza (arquivos de lixo excluídos após a conclusão), Pastas inteligentes e arquivamento de TV (veja §10).

Indexação ao vivo

AjusteO que faz
GruposNewsgroups que o indexador integrado varre (ex.: alt.binaries.teevee).
Intervalo de varreduraSegundos entre passagens (padrão 900).
Artigos de preenchimentoCabeçalhos buscados na primeiríssima varredura de um grupo.
Aprofundar por varreduraCada passagem também indexa esta quantidade de artigos mais antigos, ampliando seu histórico pesquisável em segundo plano até atingir a Idade máxima (padrão 200.000 por passagem ≈ dezenas de milhões de artigos por dia de atividade).
Idade máximaIgnora publicações mais antigas que isto (90d, 6m, 2y) - limita o tamanho do índice e o tempo de varredura.
Limitar à janela de idadeLigado por omissão. Apaga também releases já guardadas assim que passam a idade máxima, para que o índice mantenha aproximadamente essa janela em vez de crescer para sempre. Desligado = só as publicações novas são filtradas e o que está guardado fica. Fragmentos mortos (ocultos, ainda incompletos ao fim de uma semana) são recolhidos de qualquer forma.
Filtros de ingestãoRegras JSON filtrando o que entra no índice: tipos (lixo ofuscado é descartado por padrão), ano/resolução/idioma, limites de tamanho.
Varrer agora / revarredura profundaExecuta uma passagem imediatamente; com uma profundidade, revarre essa quantidade de cabeçalhos recentes.
Chave OMDb / atualização de metadados / apagarControles de enriquecimento do mural (§6). Apagar reconstrói o banco de dados do zero - o caminho de recuperação se ele for corrompido.

Biblioteca, Segurança, Interface

Biblioteca: categorias tratadas como entradas de biblioteca instantâneas + intervalo de reverificação. Segurança: a chave de API completa (tudo) e a chave NZB (apenas adição - segura para dar a sites indexadores), ambas rotacionáveis ao vivo. Interface: sons de clique, notificações da área de trabalho na conclusão, intervalo de reordenação de provedores.

Unidades de velocidade live decide como cada velocidade é mostrada no painel: megabytes (MB/s, a norma dos gestores de downloads, o valor por omissão) ou megabits (Mb/s, como os ISP anunciam as linhas). Os tamanhos de ficheiro ficam em bytes. É uma propriedade do daemon, não do seu navegador, por isso aplica-se a todos os dispositivos que olham para esta instalação.

Avançado: ajustes sem controlo no painel

Quatro ajustes não têm controlo na interface nem opção de linha de comandos. Defina-os pela API (§16), p. ex. /api?mode=config&name=verify_mode&value=lean&apikey=…. Como todos os outros, ficam guardados em settings.json.

NomeO que faz
verify_modefull | fast | lean (por omissão fast). lean é o impulso para CPU lento: como fast, mas também salta o CRC yEnc por artigo assim que o PAR2 cobre um ficheiro, deixando uma camada de CRC32 em vez de duas. Downloads sem PAR2 mantêm os CRC dos artigos, e a verificação e a reparação no fim do trabalho não mudam em caso algum. A Verificação rápida acima é este mesmo controlo para full contra fast.
auto_retry_minsEspera antes da única nova tentativa automática que uma primeira falha por artigos em falta recebe (20 por omissão). O atraso de propagação é uma causa real de artigos em falta e resolve-se sozinho; graças ao diário, a repetição vai buscar só o que ainda falta. Falhas por palavra-passe ou remoção nunca se qualificam.
index_scan_parQuantos grupos o indexador analisa em paralelo (3 por omissão, limitado a 1-8).
oracle_sampleOrçamento de STAT em repouso do oráculo de disponibilidade (§13), sondagens por hora e por servidor. 300 por omissão, 3600 no máximo, 0 desativa a amostragem por completo.

10 · Automação

Lista de acompanhamento

A automação mais simples: adicione um título no painel, defina as preferências de qualidade, pronto. Novos lançamentos são capturados conforme aparecem nos seus grupos indexados; cópias de melhor qualidade substituem capturas anteriores; uma visão de calendário mostra o que está por vir.

Feeds RSS

Ajustes → RSS: qualquer URL RSS newznab/indexador com intervalo por feed, categoria e regras de filtro (padrões de título, limites de tamanho). Os itens correspondentes são baixados automaticamente.

Pastas inteligentes

Regras avaliadas quando um trabalho é adicionado: correspondência por padrão/palavras-chave e tamanho, atribuir uma categoria (a primeira correspondência vence). Com o arquivamento de TV ligado, episódios de TV concluídos são renomeados e arquivados como Show/Season 01/Show - S01E02.mkv - prontos para Plex/Jellyfin sem uma ferramenta externa.

Agendador

O agendamento semanal (veja §9) automatiza pausar/retomar/velocidade por hora do dia.

Scripts

Um script de pós-processamento recebe os argumentos posicionais do SABnzbd e as variáveis de ambiente SAB_* - o grande ecossistema de scripts SAB roda como está.

11 · Sonarr, Radarr e companhia

O nzbfast fala a API do SABnzbd nativamente, então todo *arr funciona de imediato - e ele também pode atuar como indexador deles.

Como cliente de download

  1. No Sonarr/Radarr: Settings → Download Clients → adicione SABnzbd.
  2. Host: sua máquina nzbfast · Porta: 6789 · Chave de API: sua chave de API completa (Ajustes → Segurança; o controle de QR/copiar fica ao lado dela).
  3. Categoria conforme desejado (ex.: tv / movies). Test → check verde → Save.

Fila, histórico, status por trabalho, "remover e excluir", repetição e roteamento por categoria se comportam como os *arrs esperam.

Como indexador (newznab)

  1. Settings → Indexers → adicione Newznab.
  2. URL: http://<host>:6789/ · Caminho da API: /api · chave: sua chave de API.
  3. O nzbfast serve consultas caps, search, tvsearch e movie a partir de seu próprio índice dos seus grupos monitorados, e /getnzb/<id> devolve o NZB.
Por que se dar ao trabalho?Um indexador auto-hospedado exatamente dos grupos que você se importa: sem contas, sem limites de acesso à API, retenção tão profunda quanto você deixar varrer.

12 · Celular e apps remotos

O nzbfast implementa ambos os principais protocolos de controle remoto, então quase todo app de celular/tablet funciona. Escolha o protocolo que seu app suportar:

Apps que falam NZBGet (nzb360, LunaSea, NZB Unity…)

Campo no appValor
TipoNZBGet
Host / portasua máquina : 6789
Usuárioqualquer coisa (ex.: nzbfast)
Senhasua chave de API

Toda a superfície JSON-RPC que esses apps usam é servida: status, fila com reordenar/pausar/excluir, histórico, adicionar-NZB, limite de velocidade, pausar/retomar, log.

Apps que falam SABnzbd

Campo no appValor
TipoSABnzbd
Host / portasua máquina : 6789
Chave de APIsua chave de API (ou a chave NZB para acesso apenas de adição)

O painel no seu celular

Basta abrir http://<machine>:6789 em um navegador de celular - todo o painel e o mural têm um layout de toque. O painel Ajustes → Acesso remoto mostra as URLs exatas e um código QR para escanear.

13 · Ferramentas de desempenho

Benchmark do sistema

Um clique mede seus três tetos - vazão de rede (uma sondagem real de 8 segundos com múltiplas conexões), taxa de verificação da CPU e velocidade de escrita em disco - e apresenta a resposta: sua velocidade máxima de download esperada e qual teto é o limite. A barra mais curta é seu gargalo; as outras mostram sua folga. Agende-o (a cada 6 horas → semanal) e cada execução é registrada em uma tabela de histórico, para que você possa ver quando seu provedor, provedor de internet ou hardware mudou de comportamento. Execuções agendadas só acontecem enquanto a fila está ociosa.

Ajuste de conexões

Mede um provedor com números crescentes de conexões e recomenda a configuração - mais sockets ajudam até o provedor ou sua linha saturar, e alguns provedores punem quem pede demais. Testar todos compara cada provedor, depois dispara todos juntos para checar se o conjunto satura sua linha.

Diversidade de servidores

Amostra artigos por STAT em diferentes idades em cada servidor e agrupa provedores por lacunas compartilhadas: provedores com ~100% de artigos ausentes compartilhados são o mesmo backbone (redundantes para recuperação); os independentes realmente ampliam sua cobertura. Termina com uma recomendação em linguagem simples.

Inteligência automática da fila

O oráculo de disponibilidade

As remoções são a principal razão para um download de Usenet falhar, e são previsíveis: a mesma release desaparece de um backbone enquanto outro ainda a tem. O nzbfast mantém um pequeno registo do que os seus próprios fornecedores serviram de facto, e gasta um orçamento mínimo de sondagens STAT em repouso (algumas centenas por hora e por servidor, nunca durante um download) para o manter atual. Nunca descarrega carga útil para isso.

O que ganha com isso:

O veredito é uma previsão a partir de indícios, não uma garantia. Para uma resposta firme sobre um NZB, nzbfast check (§15) conta os artigos reais.

Orçamento de memória - e o que a pouca memória custa

Todos os caches do motor compartilham um orçamento (padrão ¼ da RAM física, limitado a 256 MB–16 GB). Defina-o explicitamente com o Limite de memória em Ajustes, ou --mem-limit na linha de comando.

O nzbfast é construído para saturar sua rede e seu disco ao mesmo tempo, e a RAM é o que permite fazer os dois em uma única passagem: os artigos são decodificados, verificados e escritos direto em seus deslocamentos finais, de modo que os volumes de arquivo nunca precisam tocar o disco. Prive-o de memória e nada quebra - cada cache tem um caminho de spill, e o motor degrada para mais E/S de disco em vez de fazer swap ou falhar. Mas esse spill não é grátis, e em trabalhos grandes você consegue medi-lo.

Medido em uma máquina e uma linha (M1 Ultra, 10 GbE), os mesmos arquivos em cada orçamento. Cada execução produziu um resultado correto, totalmente verificado e extraído:

Tamanho do trabalhoRAM de sobraOrçamento de 2 GB
≈ máquina de 8 GB
Orçamento de 1 GB
≈ máquina de 4 GB
Orçamento de 256 MB
≈ NAS de 2 GB
7 GB15 s15 s15 s15 s
35 GB65 s70 s70 s65 s
87 GB148 s206 s +39%196 s +32%180 s +22%
190 GB330 s427 s +29%402 s +22%411 s +25%

O pico de memória acompanha o orçamento, não o trabalho: aquele download de 190 GB termina em cerca de 1,1 GB de RAM. O que você troca por isso é tempo - e só em trabalhos grandes.

RecomendaçãoDê ao nzbfast cerca de 2 GB de orçamento por 100 GB do maior trabalho que você baixa, e deixe o padrão em paz no restante - ¼ da RAM já é a resposta certa na maioria das máquinas. Na prática: 4 GB de RAM cobrem trabalhos de até ~35 GB em velocidade máxima; 8–16 GB mantêm trabalhos de 100 GB para cima ali também; um NAS de 2 GB terminará qualquer coisa que você jogar, mas trate-o como um baixador de segundo plano em vez de algo que vai saturar uma linha rápida.

Em um NAS pequeno, reduza também as Conexões (2–4) junto com o orçamento. Com um orçamento de 256 MB e 2 conexões, o pico de memória fica perto de 190 MB - confortavelmente dentro do que um NAS de 2 GB tem de sobra. Saiba que, nesse ponto, a contagem de conexões, não a memória, é o que limita você: o mesmo trabalho de 35 GB levou 286 s em vez de 65 s. Essa é a forma honesta da troca - sempre terminará, e terminará corretamente; só não vai saturar a linha.

Os benchmarks são refeitos a cada versão; método e números por máquina são publicados junto com os resultados.

14 · Atualizações

15 · Linha de comando

Tudo o que o daemon faz também é programável por script. Os comandos do dia a dia:

ComandoFinalidade
nzbfast setupConfiguração interativa de servidor.
nzbfast serveRoda o daemon (painel + API + automação). --open abre o navegador; veja --help para a lista completa de flags - cada ajuste do painel tem um flag gêmeo.
nzbfast get file.nzbBaixa um NZB, pipeline completo, sem daemon. --preflight aborta cedo se a publicação não puder ser concluída; --password para conjuntos criptografados.
nzbfast check file.nzbVeredito de disponibilidade - COMPLETE / REPAIRABLE / IMPOSSIBLE - sem baixar o conteúdo.
nzbfast verify DIRVerifica arquivos contra o conjunto PAR2 em um diretório.
nzbfast sysbenchO benchmark do sistema + relatório de diversidade, no terminal.
nzbfast index / searchVarre grupos para o índice / pesquisa nele, sem o daemon.
nzbfast import-sabImporta servidores de um ini do SABnzbd.

Também disponíveis: inspect, probe, bench, bench-cpu, soak, fetch, spots/spot-search/spot-get (Spotnet), make-release-nzb/make-test-nzb (fixtures de teste). Cada comando aceita --config e --help. Junta-se-lhes post: carrega ficheiros como artigos yEnc e escreve o NZB correspondente. É uma ferramenta de operação, exige um --post-server explícito e nunca escolhe um servidor por si.

16 · Visão geral da API

Endpoint base: http://host:6789/api?mode=…&apikey=…&output=json - compatível com o SABnzbd, então integrações SAB existentes funcionam sem alteração. Duas chaves: a chave de API (controle total) e a chave NZB (apenas adição: addfile/addurl).

ÁreaModos
Filaqueue (com name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password
Informaçõeshistory, status/fullstatus, stats, version, server_stats, usage, log, warnings
Configuraçãoget_config, config&name=<setting>&value=… (cada campo de Ajustes), server_save/delete/test/enable/reorder, import_probe/apply
Índice e muralindex_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, além de newznab em /api?t=caps|search|tvsearch|movie e /getnzb/<id>
Automaçãowatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnósticosysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply
JSON-RPC do NZBGet/jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (autenticação Basic: qualquer usuário, chave de API como senha)
Pré-visualização / reprodução/stream/<nzo_id> (intervalos HTTP; iniciar um trabalho de biblioteca estacionado precisa de token ?t= ou chave), /m3u/<id> (precisa da chave; gera o token), /wall, /art/…

17 · Arquivos e locais

ArquivoConteúdo
config.local.jsonCredenciais de servidor e opções por servidor. Criado pelo assistente; editável em Ajustes. Mantenha-o privado.
settings.jsonCada ajuste alterado no painel. Fica ao lado da configuração; os valores da interface substituem os flags de linha de comando. Exclua uma chave (ou o arquivo) para voltar a flags/padrões.
index.dbO índice de lançamentos (SQLite) + metadados do mural. Seguro de excluir - reconstrói a partir da varredura (Ajustes → Indexação → Apagar faz isso por você).
<config>/.spool/Estado da fila (sobrevive a reinícios), NZBs por trabalho, registro de uso, histórico de benchmark, cache de imagens de pôster.
Diário de artigosDentro da pasta de saída de cada trabalho enquanto incompleto - sustenta a retomada de travamento e a repetição. Removido em caso de sucesso.
Ferramentas externasNenhuma é necessária - a extração RAR e o reparo PAR2 são nativos. Se um conjunto exótico algum dia precisar de um unrar ou par2 externo como reserva, o nzbfast procura ao lado de seu executável, depois no $PATH.

18 · Solução de problemas

SintomaVerifique
Downloads lentosExecute o Benchmark do sistema - ele nomeia o gargalo diretamente. Se for a rede: execute o Ajuste de conexões, verifique as contagens de conexões por servidor e confirme que seus provedores não são todos um mesmo backbone (Diversidade de servidores).
Lento só em trabalhos muito grandes
(NAS ou máquina com pouca RAM)
Esperado, e mensurável: um orçamento de memória apertado dá spill dos caches para o disco e custa 20–40% acima de ~87 GB. Veja Orçamento de memória para os números e quanta RAM dar. Trabalhos menores não são afetados.
Download falha "artigos ausentes"A publicação expirou ou foi removida nos seus provedores. Um segundo provedor em um backbone diferente resgata a maioria destes. nzbfast check prevê isso antes de baixar. E o mural assinala à partida as que provavelmente desapareceram, com o seu ponto de disponibilidade (§13). Uma primeira falha desta forma repete-se sozinha uma vez após uma espera, porque o atraso de propagação é indistinguível e resolve-se por si.
Arquivo concluído pede senhaA linha do Histórico mostra 🔑 - digite a senha ali; o trabalho termina no lugar.
Sonarr/Radarr não conectaPorta 6789 acessível? Chave de API correta (chave completa, não a chave NZB)? Tipo de cliente definido como SABnzbd?
O cartão Explorar continua pequenoO indexador cresce em segundo plano - verifique se os grupos de Ajustes → Indexação estão definidos e dê tempo ao Aprofundar por varredura para acumular histórico. "Varrer agora" força uma passagem; a linha de status mostra o progresso ao vivo.
O mural mostra imagens erradas/inexistentesFolha de detalhes → ✎ Corrigir correspondência ou ↻ Atualizar metadados. Buscas de filmes melhoram com uma chave OMDb gratuita.
O daemon não inicia: porta em usoOutra instância está rodando - ou altere --port.
Onde estão os logs?O cartão Log no painel, ou o terminal/arquivo de log com que você iniciou o serve.
Ainda travado?O cartão Log normalmente nomeia o culpado - inclua sua cauda ao relatar um problema, junto com seu nzbfast --version.

nzbfast - este manual acompanha cada versão. Ajustes, endpoints e padrões aqui referenciados correspondem à versão com que ele foi entregue.