⚡ nzbfast
El descargador de Usenet rápido - manual de usuario
1 · Bienvenida
nzbfast descarga de Usenet tan rápido como lo permiten tu línea, tus proveedores y tu máquina - y normalmente eso significa tan rápido como tu línea. Es un único programa autocontenido: el motor, un panel web, un explorador multimedia con muro de pósteres, un indexador integrado, vista previa en tiempo real, reparación PAR2 nativa y extracción RAR nativa van todos dentro de un solo ejecutable. No hay nada más que instalar.
Lo que lo hace rápido es la arquitectura, no los retoques:
- NNTP con pipelining - muchas peticiones de artículos viajan encadenadas por cada conexión, manteniendo todas las conexiones a plena velocidad en lugar de esperar los viajes de ida y vuelta.
- Un pipeline de una sola pasada - descarga, verificación y extracción se solapan. Los volúmenes de archivo se extraen en el propio flujo; en una publicación típica en modo store los archivos RAR nunca tocan tu disco, así que el trabajo necesita 1× el tamaño del lanzamiento, no 2×, y termina cuando termina la descarga.
- Unión multiproveedor - todos los servidores configurados contribuyen; un artículo que falta en un backbone se obtiene de otro. Los servidores lentos o caídos nunca atascan la cola.
- Un presupuesto de memoria - el motor se adapta a una asignación de RAM acotada y degrada a disco si hace falta. Nunca pone tu máquina a hacer swap.
Medido contra la competencia con hardware, trabajos y proveedores idénticos, nzbfast ha terminado una descarga de 190 GB en unos 5 minutos por una línea 10 GbE - con las alternativas líderes un 30–220% por detrás en las mismas pruebas, cuando llegaban a completarlas. Las cifras están en §3.
2 · Inicio rápido
macOS
- Abre
nzbfast-<version>-macos.dmgy arrastra NzbFast a Aplicaciones (universal: Apple Silicon + Intel). - Primer arranque: macOS avisa de que nzbfast aún no está notarizado por Apple. Haz clic derecho en la app → Abrir - o abre Ajustes del Sistema → Privacidad y seguridad, baja hasta el final y pulsa Abrir igualmente. Es un paso único.
- La ventana de la app muestra el panel con una tarjeta de bienvenida - haz clic en ella y añade al menos un servidor Usenet (host, puerto 563, usuario, contraseña). Puedes añadir más después en Ajustes.
- Suelta un
.nzben cualquier parte del panel - o simplemente haz doble clic en los archivos.nzben el Finder. Las descargas quedan en~/Downloads/nzbfast. Sal desde el menú; las descargas se reanudan donde quedaron.
¿Prefieres prescindir de la app? El zip básico (binario +
lanzador Start nzbfast.command, el mismo motor) sigue funcionando como siempre -
pasos más abajo en «Desde un terminal».
Windows
- Ejecuta
nzbfast-<version>-windows-x64-setup.exe. Se instala solo para tu usuario (sin contraseña de administrador). Como esta versión aún no está firmada digitalmente, SmartScreen puede mostrar «Windows protegió tu PC» - haz clic en Más información → Ejecutar de todas formas. - nzbfast vive en la bandeja del sistema: haz doble clic en el icono de la bandeja (o usa Abrir panel en su menú contextual) para abrir el panel, y añade tu servidor Usenet desde la tarjeta de bienvenida. El menú de la bandeja también tiene Pausar/Reanudar, tu carpeta de descargas y Salir.
- Hacer doble clic en un archivo
.nzblo pone en cola. Windows Defender puede pedir permiso una vez para escuchar en la red local - permítelo.
¿Prefieres una copia portátil? El -windows-x64.zip sigue funcionando:
descomprímelo donde quieras y haz doble clic en nzbfast.exe (o Start nzbfast.bat)
para el asistente en el terminal.
Desde un terminal (cualquier plataforma)
nzbfast setup # interactive server setup (writes config.local.json)
nzbfast serve --open # start the daemon and open the dashboard
nzbfast import-sab
en la línea de comandos.Tu clave API
En una instalación realmente nueva, nzbfast se crea una clave API la primera vez que arranca el daemon, y la muestra una sola vez en un aviso justo debajo de la dirección del panel. A partir de ahí toda petición necesita esa clave, así que el panel y la API no quedan abiertos a todo lo que pueda llegar a la máquina.
Qué hacer con ella depende de cómo hayas arrancado nzbfast:
- La app de macOS, la bandeja de Windows o
serve --open: nada. Le pasan la clave a la ventana del navegador que abren, el panel la recuerda y ya estás dentro. - Un navegador que abres tú, o el panel en un móvil u otro ordenador: la página pide la clave una vez y la recuerda a partir de entonces.
- Sonarr, Radarr, nzb360 y compañía: pégala como su clave de SABnzbd o de NZBGet (§11, §12).
La clave se guarda en un archivo llamado apikey junto a tu archivo de
configuración, así que sigue siendo la misma entre reinicios y puedes volver a
consultarla cuando la necesites. En macOS y Linux ese archivo solo lo puede leer la
cuenta con la que se ejecuta nzbfast. También aparece en la propia salida del daemon,
así que la tarjeta Registro del panel la tiene si el terminal ya se ha desplazado.
Para usar una clave propia, escríbela en Ajustes → Seguridad; se aplica al
momento. Ese panel cambia la clave pero nunca muestra la actual, así que lee el
archivo apikey si necesitas recuperar el valor generado. Para funcionar
sin clave alguna, porque algo delante de nzbfast ya se encarga del acceso, arráncalo
con NZBFAST_OPEN=1 en el entorno. nzbfast se queda entonces abierto y lo
dice con claridad al arrancar.
Qué máquinas pueden llegar al daemon es una decisión aparte:
serve --bind. El valor por defecto es 0.0.0.0, es decir
todas las interfaces de red, porque un NAS, un móvil y un Sonarr en otro ordenador
tienen que poder conectarse. --bind 127.0.0.1 lo limita a la máquina en
la que se ejecuta nzbfast, que es lo que quieres en un escritorio único donde nada
más necesita acceso.
3 · Cómo funciona nzbfast
Un vocabulario rápido para que el resto del manual se lea con fluidez:
| Término | Significado |
|---|---|
| Proveedor / servidor | Un servicio Usenet en el que tienes cuenta (Newshosting, Eweka, XS News…). Cada uno permite cierto número de conexiones simultáneas. |
| Backbone | La infraestructura detrás de un proveedor. Varias marcas suelen revender el mismo backbone - conviene saberlo, porque dos proveedores en un mismo backbone pierden los mismos artículos. Ver Diversidad de servidores. |
| NZB | Un pequeño archivo XML que lista los artículos que componen una publicación. Es lo que le das a nzbfast. |
| PAR2 | Datos de recuperación publicados junto a un lanzamiento. nzbfast verifica contra ellos durante la descarga y repara automáticamente cuando hay artículos dañados o ausentes. |
| RAR en modo store | La mayoría de los lanzamientos van empaquetados en volúmenes RAR sin compresión. nzbfast lo reconoce y escribe el archivo interior directamente en su ubicación final mientras descarga - sin paso de desempaquetado posterior. |
El pipeline ejecuta descarga → decodificación → verificación → extracción de forma concurrente. La tarjeta Pipeline del panel muestra los tres carriles avanzando a la vez. Cuando llega el último byte, la verificación ya está hecha y el archivo ya está extraído; el tiempo de «posprocesado» de un trabajo típico es cero. Si hace falta reparar, solo entonces se materializan los volúmenes en disco, se reparan in situ con el motor nativo GF(2¹⁶) (los datos ofuscados renombrados o desplazados a nivel de byte se localizan y adoptan mediante un escaneo de bloques deslizante) y se vuelven a extraer - todo automático.
Las descargas interrumpidas (cuelgue, corte de luz, kill -9) se reanudan desde el diario de artículos: los bytes ya en disco nunca se descargan dos veces. El diario registra dónde aterrizaron físicamente los bytes de cada artículo - incluso los bytes extraídos directamente al archivo final - de modo que una reanudación reconstruye desde el disco local y vuelve a verificar todo lo restaurado contra el mapa de bloques PAR2 antes de fiarse de ello.
La comparación
Medido contra SABnzbd 5.0.4 y NZBGet 26.2 en la misma máquina, con los mismos proveedores y los mismos NZB, cronometrado hasta el archivo usable - descarga, verificación, reparación y extracción incluidas, porque ese es el momento en que el trabajo está realmente terminado:
| Tamaño del trabajo | nzbfast | NZBGet 26.2 | SABnzbd 5.0.4 |
|---|---|---|---|
| 7 GB | 13.7 s | +26% | +39% |
| 35 GB | 67 s | +61% | +325% |
| 87 GB | 272 s | +36% | +160% |
| 190 GB | 9 m 00 s | +30% | +111% |
La diferencia es el posprocesado que los demás aún tienen que hacer después de que aterrice el último byte. Ambos competidores se ajustaron para la comparación, no se dejaron con los valores por defecto - SABnzbd en particular viene de fábrica con el pipelining de peticiones desactivado, lo que le cuesta caro, así que se activó.
Dos diferencias importan tanto como los tiempos:
- Espacio en disco. Una sola pasada necesita 1× el tamaño del lanzamiento; los clientes que escriben los volúmenes de archivo y luego los desempaquetan necesitan 2×. En una máquina de prueba con 97 GB libres, un trabajo de 87 GB terminó aquí en 3 m 08 s y los otros dos no pudieron ejecutarse siquiera.
- Memoria. En el trabajo de 190 GB, el pico de uso fue de 3.9 GB frente a los 9.3 GB de SABnzbd - y nzbfast hace el mismo trabajo en aproximadamente 1 GB si se le pide (ver Presupuesto de memoria).
4 · El panel
Abre http://localhost:6789 (o la dirección de tu máquina desde otro
dispositivo - el diseño para el teléfono se adapta automáticamente). Todo se actualiza en vivo, una vez
por segundo. Las tarjetas, de arriba abajo:
Barra superior
- Menú de Límite de velocidad - topes fijos, auto · cede a la LAN (un modo regulado por RTT que se retira cuando alguien más en casa necesita la línea), o sin límite.
- Pausar durante… - pausa todo durante 15 min/30 min/1 h/3 h con reanudación automática, o usa el botón Pausar para una pausa indefinida. La pausa es inmediata: la transferencia activa se detiene en segundos y se reanuda después desde el diario, sin perder nada. (Los trabajos con prioridad Forzar siguen descargando, al estilo SABnzbd.)
- Aquí aparece un aviso de actualización cuando hay una versión nueva disponible (ver Actualizaciones).
Velocidad
MB/s en vivo con un gráfico deslizante; las marcas de agua discontinuas señalan el máximo/mínimo de esta sesión, la línea tenue es una media móvil. Debajo, un histograma muestra cómo se distribuyen las muestras de velocidad de la sesión - típico vs pico. Ensancha la ventana y los gráficos muestran más historia (hasta una hora).
Mosaicos de estadísticas
Descargado esta sesión, profundidad de la cola, recuentos de completadas/fallidas, velocidad pico de la sesión.
Recursos - una máquina, cuatro techos
CPU, RAM (contra el presupuesto de memoria de nzbfast), tasa de escritura en disco y red en un gráfico normalizado, con los valores reales en la leyenda y un aviso de poco espacio en disco. Ningún otro cliente NZB te enseña esto; existe para demostrar algo - nzbfast saturará tu línea, no tu máquina.
Pipeline - las etapas se solapan
Tres carriles: descarga, verificación (bloques PAR2 comprobados), extracción. En un trabajo sano los tres avanzan a la vez.
Proveedores
Velocidad en vivo por servidor, utilización de conexiones, cuota de tráfico, GB de la sesión y una puntuación de compleción de artículos de por vida (coloreada cuando un servidor baja del 98%). Un gráfico de áreas apiladas muestra la contribución de cada proveedor a lo largo del tiempo. Las filas se reordenan por rendimiento en vivo cada 10 s (configurable en Ajustes → Interfaz) para que tu proveedor más rápido esté siempre arriba.
Cola
- Arrastra las filas para reordenar (dentro de una banda de prioridad - Forzar/Alta siguen yendo primero); cambia la prioridad en línea.
- Haz clic en una fila para el panel de detalle: barras de progreso por archivo, recuentos de
bloques verificados, qué servidor aportó cuánto a este trabajo, y una línea de
"añadido por" que dice de dónde vino el trabajo (carpeta vigilada, una app conectada, la API…).
Un botón Descargar el .nzb te guarda el archivo
.nzbdel trabajo - nzbfast conserva su propia copia, así que funciona para todos los trabajos, incluso cuando el archivo original ya no está. - Las insignias muestran estados especiales: aplazado (lento), precargando, en pausa (ver Herramientas de rendimiento).
- Un gráfico de cuenta atrás sigue los GB totales restantes en toda la cola.
Explorar índice
Busca en todo lo que el indexador integrado ha catalogado de tus grupos vigilados (ver Automatización) y descarga con un clic - sin necesidad de indexador externo. La línea de estado muestra el progreso del escaneo; Escanear ahora fuerza una pasada.
Lista de seguimiento
Añade títulos por nombre - incluidos los que aún no se han publicado. Cuando un lanzamiento coincidente aparece en el índice se captura automáticamente, con preferencias de calidad y reglas de mejora (una copia mejor reemplaza a una peor).
Historial
Descargas recientes, una fila cada una. Los trabajos fallidos ofrecen Reintentar
(reanuda desde el diario). Los archivos cifrados muestran un control de desbloqueo 🔑 - introduce la
contraseña y el trabajo termina in situ. La franja de salud de verificación grafica los bloques PAR2
dañados por descarga - una cola ascendente indica que los artículos llegan dañados.
El panel de cada fila dice quién añadió el trabajo y tiene el mismo botón Descargar el .nzb
que la cola - útil para volver a descargar un lanzamiento en otro sitio, o para adjuntar
el .nzb a un informe de problema.
La tarjeta lista diez descargas por defecto y el resto queda a un clic, en el botón ▤. El estado, la ubicación y el motivo de un fallo viven detrás de un clic en la propia fila, de modo que el caso habitual - qué terminó, de qué tamaño, cuándo - sigue siendo legible sin desplazarse. Arrastra el borde inferior de la tarjeta para que la lista se desplace a la altura que elijas. History rows en Ajustes → Interfaz cambia ese diez; como es una propiedad del daemon y no de tu navegador, se aplica a todos los dispositivos que miran esta instalación. Colour History names, al lado, tiñe de verde los nombres completados y de rojo los fallidos; al desactivarlo los nombres quedan neutros, y el punto de color y los detalles de la fila siguen diciendo cuál es cuál.
Uso de datos
Barras diarias por proveedor y totales de Hoy / 7 días / 30 días - esencial para cuentas medidas y de bloque. Las cuentas de bloque muestran el uso acumulado contra su tamaño.
Registro, Benchmark del sistema, Ajuste de conexiones, Diversidad de servidores
Un visor de registro integrado en la página, y las tres herramientas de automedición descritas en Herramientas de rendimiento.
5 · Añadir descargas
| Método | Cómo |
|---|---|
| Arrastrar y soltar | Suelta uno o varios archivos .nzb en cualquier parte del panel. |
| Carpeta vigilada | Define una carpeta en Ajustes; cualquier .nzb guardado en ella
se recoge en menos de 5 segundos y se mueve a la papelera, y un panel abierto anuncia
cada recogida por su nombre ("… recogido de Descargas"), de modo que un archivo que sale de la
carpeta nunca es un misterio. ¿Prefieres conservar tus archivos? Activa Conservar los .nzb
tras la recogida (ver §9). Apunta el directorio de descargas de tu
navegador hacia ella para capturas con un clic desde los sitios de indexadores. |
| Desde una URL | Pega un enlace NZB (API mode=addurl, o mediante cualquier app conectada). |
| Enlaces nzblnk: | Pega un enlace nzblnk: en cualquier parte del panel, o arrástralo dentro. Si instalaste desde el DMG de macOS o el instalador de Windows también puedes hacer clic en uno directamente en un board. Consulta los enlaces nzblnk más abajo. |
| Explorar índice | Haz clic en cualquier lanzamiento completo de la tarjeta Explorar. |
| Lista de seguimiento / RSS | Automático - ver Automatización. |
| Sonarr/Radarr etc. | Envían las capturas directamente a la cola - ver §11. |
| Línea de comandos | nzbfast get file.nzb descarga sin el daemon. |
Categorías, prioridades, contraseñas
- Las categorías son etiquetas libres; cada una se convierte en una subcarpeta de tu carpeta de descargas, y las Carpetas inteligentes (ver §10) pueden asignarlas por regla.
- Prioridades: Forzar > Alta > Normal > Baja. Forzar se salta la pausa y la cuota.
- Las contraseñas de archivos cifrados se recogen automáticamente de
<meta type="password">dentro del NZB, de un nombre de archivoName{{password}}.nzbo del campop=de un enlace nzblnk, y pueden indicarse por trabajo a través de la API o después desde el Historial (🔑).
Los enlaces nzblnk
Algunos boards, sobre todo alemanes y neerlandeses, publican un enlace
nzblnk: en lugar de un archivo NZB. La publicación está ofuscada, así que
no hay ningún nombre de archivo al que enlazar. El enlace lleva en su lugar una
cabecera, h=, que es una clave de búsqueda y no una ubicación, además de
un título t=, una contraseña p= y un grupo g=
opcionales. Alguien tiene que ir a encontrar la publicación primero.
nzbfast busca la cabecera primero en su propio índice, lo que no necesita red alguna, y solo si eso falla pregunta a los indexadores de búsqueda que tengas configurados (Ajustes → Indexadores de búsqueda, §9), bajo los mismos presupuestos diarios y el mismo retroceso que cualquier otra búsqueda. El título pasa a ser el nombre del trabajo y la contraseña se aplica automáticamente.
- Pegar o arrastrar funciona en cualquier instalación, Docker y NAS incluidos: copia el enlace del board y pégalo en cualquier parte del panel.
- Hacer clic en un enlace exige que el esquema esté registrado en tu escritorio. La app del DMG de macOS lo registra, y el instalador de Windows lo ofrece como tarea: pregunta antes, y deja el esquema en paz si NZB Monkey o NZBDonkey ya lo tiene. El tarball simple de macOS, Homebrew y las instalaciones Linux no tienen manejador de escritorio: ahí la vía de entrada es pegar.
- La resolución tiene límite de frecuencia a propósito. Registrar un esquema lo deja a un aviso del navegador de cualquier página que visites, así que los enlaces están topados por minuto y solo los primeros de cada minuto pueden llegar a tus indexadores; a partir de ahí se responde solo con el índice local.
6 · El muro de pósteres
Haz clic en 🎬 muro en la barra superior. El muro convierte tu índice en un explorador multimedia: cada película y lanzamiento de TV reconocido como un mosaico de póster con valoración, año, géneros, reparto y sinopsis - tus newsgroups, navegables como un catálogo.
- Pestañas de Películas / Series / Otros, búsqueda instantánea y siete ordenaciones: Para ti, Más recientes, Año de estreno, Mejor valorados, Título A–Z, Más grandes y Más publicados.
- Solo emparejados está activado por defecto y oculta la morralla sin identificar; un chip «+N sin emparejar» la revela.
- Haz clic en un mosaico para la ficha de detalle: sinopsis, valoración y votos de IMDb, reparto - y ▶ Reproducir (vista previa inmediata, ver §7) o ⬇ Descargar.
- ✎ Corregir coincidencia - si un título se emparejó con la serie o película equivocada, elige la correcta entre los pósteres candidatos, o introduce título/año/tipo a mano. El texto manual no lo sobrescribe nunca el enriquecedor. ↻ Actualizar metadatos vuelve a obtener un título; Ajustes → Indexación puede actualizarlos todos o borrar/reconstruir el índice entero.
- Los metadatos van sin clave por defecto - TVmaze, iTunes, los datasets de IMDb, Wikidata, Wikipedia y AniList no requieren cuentas. Una clave OMDb (gratis, alta solo con correo - hay un asistente de alta en Ajustes → Indexación) mejora el emparejado de películas; una clave TMDB se respeta si ya la tienes.
- Para ti ordena el muro según un perfil de gustos construido en esta máquina a partir de tu propio historial completado y tu lista de seguimiento: géneros favoritos, si te inclinas por cine o por series, y aproximadamente qué época. Los títulos que ya tienes se hunden al final en lugar de desaparecer, y un pie «Porque ves …» dice en qué se ha fijado. Sin historial vuelve a Más publicados, así que la pestaña nunca está vacía. Nada de esto sale del daemon.
- No me interesa en cualquier ficha oculta ese título, y ocultar unos cuantos parecidos le enseña al muro: te ofrece un filtro de un solo clic («¿Ocultar todos los títulos de Telerrealidad a partir de ahora?»). Todo lo oculto, y cada filtro aprendido, aparece en Ocultos y filtros y se puede deshacer allí.
- Un pequeño punto de disponibilidad en una ficha es el veredicto del oráculo (§13): un «?» ámbar significa incierto en tus proveedores; rojo, que sus partes siguen faltando. Los grupos que se están purgando llevan una insignia de purgado.
7 · Vista previa y verificación
No hace falta esperar a que termine una descarga para saber si es el archivo correcto. Ábrelo mientras se descarga, comprueba que el contenido, el idioma y la calidad son los que esperabas, y cancélala pronto si no lo son - en vez de descubrirlo después de la descarga completa.
- ▶ Reproducir en el muro (o
/m3u/<id>) entrega a tu reproductor multimedia una URL; el daemon inicia o reutiliza la descarga que hay detrás. - El endpoint
/stream/<nzo_id>sirve el archivo con soporte completo de rangos HTTP mientras se descarga. Comprobar cualquier punto funciona: comprueba directamente el minuto 40 y los artículos de esa región se promueven al frente de la cola de descarga - se abre ahí en un par de segundos en lugar de minutos. La cabeza y la cola del archivo se obtienen primero para que los reproductores encuentren de inmediato sus datos de índice. - Modo biblioteca: las categorías listadas en library_cats se convierten en entradas
instantáneas solo de metadatos - aparece al momento un archivo
.strm, la disponibilidad se verifica en segundo plano y la descarga real empieza cuando lo abres por primera vez.
/stream. Para comprobar desde otra máquina usa la dirección LAN de tu máquina en
lugar de localhost./stream/<id> requiere un token por trabajo
(?t=…) - los reproductores no pueden enviar claves API, así que la entrega /m3u
y el puntero .strm lo incrustan por ti; emitirlo (/m3u)
requiere la clave. El servido simple de bytes de una descarga ya activa sigue abierto, y
las instalaciones sin clave se comportan como siempre.8 · Servidores Usenet
Ajustes → Servidores Usenet es el editor completo: añadir, editar, eliminar, reordenar y meter o sacar del pool cualquier servidor. Cada servidor tiene:
| Campo | Notas |
|---|---|
| Host / puerto | Usa el puerto SSL 563. TLS no cuesta nada medible - nzbfast siempre cifra. |
| Usuario / contraseña | Se guardan localmente en config.local.json, nunca se devuelven al navegador. Dejar la contraseña en blanco al editar conserva la guardada. Las contraseñas están ofuscadas en disco, no cifradas. |
| Conexiones | Conexiones simultáneas por servidor. Usa el Ajuste de conexiones (§13) para hallar el punto óptimo de cada proveedor en lugar de apostar alto. |
| Nivel (tier) | 0 = primario; los niveles superiores son servidores de relleno, a los que solo se piden los artículos que todos los niveles inferiores no tenían. Pon las cuentas ilimitadas en 0 y las de bloque en 1+. |
| Tamaño del bloque (GB) | Para cuentas de bloque (pago por GB): nzbfast registra el uso acumulado contra este valor y deja de usar el servidor cuando se agota (aviso al 85%). |
Deja un poco de margen por debajo del límite de conexiones de tu cuenta. Configurar las conexiones un punto por debajo del límite no cuesta nada: el rendimiento se aplana bastante antes de las últimas una o dos conexiones, y el Ajuste de conexiones (§13) se queda por debajo de todos modos. Esas plazas libres son las que permiten que un segundo dispositivo, otro cliente o un reintento tras un socket caído sigan entrando, en lugar de ser rechazados mientras este ocupa todas las plazas.
Cómo se guardan las contraseñas de tus proveedores
Las contraseñas de proveedor en config.local.json están ofuscadas,
no cifradas. Se guardan como obf1: seguido de una forma codificada,
de modo que el archivo no se lee como texto plano si aparece en una captura de
pantalla, en un mensaje de foro, en un informe de error o en una pantalla que otra
persona puede ver.
Seamos claros sobre lo que eso te da y lo que no:
- No es cifrado y no protege en absoluto de quien tenga el archivo. El método está en nuestro código público y el decodificador viaja dentro de nzbfast: quien tenga el archivo recupera la contraseña en segundos. Trata el archivo como un secreto exactamente igual que si las contraseñas fueran legibles.
- Elimina la fuga casual, que es la habitual. Las configuraciones acaban pegadas en hilos de soporte y capturadas en pantallazos mucho más a menudo de lo que se roban del disco.
- Una contraseña que escribiste tú en texto plano sigue funcionando. nzbfast lee ambas formas, así que las configuraciones editadas a mano y las importaciones desde otros clientes nunca se rompen; escribe la forma ofuscada la próxima vez que guarde.
- El archivo además se escribe legible solo por la cuenta que ejecuta nzbfast (modo 0600 en macOS y Linux).
Para comparar, NZBGet y SABnzbd guardan ambos las contraseñas de proveedor como texto legible en sus archivos de configuración. Creemos que la ofuscación es una pequeña mejora sobre eso, no una función de seguridad.
¿Por qué no el llavero del sistema? El llavero de macOS, el Administrador de credenciales de Windows y los servicios de secretos de Linux darían protección real, y puede que volvamos a ello. Hoy nos lo impiden dos cosas. El acceso al llavero está atado a la identidad de la aplicación, y nzbfast todavía no está firmado, así que los avisos y el comportamiento tras cada actualización son malos. Y una parte grande de las instalaciones son Docker, servidores sin pantalla y NAS donde no existe llavero alguno, lo que dejaría dos rutas de almacenamiento distintas que mantener correctas. Un único formato bien entendido que se comporta igual en todas partes es, por ahora, el mejor trato.
Otras dos opciones por servidor todavía no tienen control en el panel: añádelas a
mano en la entrada de ese servidor dentro de config.local.json
(véase §17) y reinicia.
| Clave | Notas |
|---|---|
bind_ip | Vincula las conexiones salientes de este servidor a una dirección local concreta, para equipos con varias salidas y túneles VPN divididos. La familia de direcciones elige también la familia de destino: una vinculación v4 conecta con la dirección v4 del servidor. |
socks5 | Envía el tráfico NNTP de este servidor por un proxy SOCKS5: host:port, o user:pass@host:port. El nombre de host lo resuelve el proxy, así que no hay fuga de DNS local. |
- La casilla junto a cada servidor es su interruptor: marcada, el servidor está en el pool de descarga; sin marcar, está desactivado. Un servidor desactivado conserva sus credenciales y ajustes y se puede seguir probando; simplemente nunca se le piden artículos. Su fila se atenúa, el recuento del encabezado (2 de 3 activos) baja y el cambio se aplica desde la siguiente descarga. Útil para reservar una cuenta de bloque que estás guardando, o para demostrar que un proveedor causa un problema sin borrarlo.
- Probar hace una conexión real + TLS + inicio de sesión e informa del tiempo de ida y vuelta.
- Importar de SABnzbd / NZBGet… escanea las ubicaciones de instalación habituales, muestra lo que encontró y copia los servidores (omitiendo duplicados).
- Los cambios de servidor se aplican desde la próxima descarga - sin reiniciar.
9 · Referencia de ajustes
Casi todo se configura desde el panel, en ⚙ Ajustes; las cuatro excepciones están
al final de esta sección. Los valores marcados live se
aplican al momento; los restart, en el siguiente
arranque. Cada cambio hecho aquí se guarda en settings.json y sobrevive a
los reinicios (los valores de la interfaz ganan a las opciones de línea de
comandos).
Velocidad y programación en directo
| Ajuste | Qué hace |
|---|---|
| Límite de velocidad | Tope en bytes/seg (50M, 1G, 0 = ilimitado). Las apps remotas pueden enviar porcentajes - define la Velocidad de línea para que se traduzcan correctamente. |
| Velocidad automática | Tope regulado por RTT que cede ante el resto del tráfico doméstico y se vuelve a expandir cuando la línea está tranquila. |
| Aplazar descargas lentas automáticamente | Un trabajo atascado en un servidor lento mientras otros esperan se envía al final de la cola (el progreso se conserva). Ver §13. |
| Precarga en servidores inactivos | Los servidores inútiles para el trabajo activo empiezan el siguiente en cola. Ver §13. |
| Actualización automática / URL de comprobación de actualizaciones | Ver §14. |
| Velocidad de línea | La velocidad nominal de tu conexión - habilita los límites porcentuales de las apps compatibles con SABnzbd. |
| Programación semanal | Editor de filas para reglas por hora de la semana: pausar, reanudar o fijar un límite de velocidad en días/horas dados (hora local). P. ej., limitar a 20 MB/s los laborables de 9 a 17, ilimitado el resto. |
Próxima descarga en directo
Conexiones (por servidor), ventana (profundidad de pipelining por conexión), decodificadores (hilos de decodificación en paralelo). Se muestrean al empezar cada trabajo. Los valores por defecto son correctos para la mayoría de las líneas; usa las herramientas de ajuste antes de subirlos a ciegas.
Comprobación durante la descarga elige cuánto se verifica según van llegando los datos. Completa confirma cada bloque PAR2 con MD5. Rápida (la de por defecto) reclama los bloques por CRC32, lo que es 2-3x más rápido en una CPU lenta, y sigue verificando la suma de comprobación propia de cada artículo. Ligera se salta además esas sumas de artículo en cuanto PAR2 cubre un archivo: el daño aparece un momento después, en su bloque. En las tres, la pasada final y cualquier reparación usan MD5 completo, y una descarga sin archivos PAR2 conserva sus sumas de artículo.
Disco y cuota en directo
Espacio libre mínimo (pausa los trabajos nuevos por debajo; 2 GB de forma predeterminada, 0 lo desactiva), cuota de descarga por día o mes (UTC; los trabajos Forzar la omiten), presupuesto de memoria - el tope de RAM del motor (por defecto: ¼ de la RAM, acotado; súbelo en una máquina con mucha RAM para máxima velocidad en trabajos enormes, y consulta lo que cuesta la memoria escasa antes de bajarlo) tras reiniciar.
Mover las completadas a: tras desempaquetar, limpiar y renombrar, las
descargas terminadas se mueven aquí - un recurso NAS, un disco multimedia, donde
viva tu biblioteca. La estructura de categorías se conserva (un trabajo que
terminó bajo tv/ llega bajo tv/ en el destino), y el
historial sigue al movimiento, así que las aplicaciones conectadas importan y
borran en la nueva ubicación. Si el destino no está accesible cuando termina un
trabajo (recurso sin conexión, sin espacio), los archivos se quedan en la carpeta
de descargas y el trabajo se completa igualmente con normalidad. Vacío =
desactivado. Los Destinos por categoría envían categorías concretas a otro
lugar (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); cada ruta listada es la carpeta de esa categoría, así que
dentro no se crea ninguna subcarpeta de categoría extra. Las categorías no
listadas siguen Mover las completadas a.
Profundidad de archivos anidados (5 por defecto) es cuántas capas de archivo-dentro-de-archivo se descomprimen automáticamente: un conjunto RAR que contiene un 7z que contiene otro RAR es normal en Usenet, y nzbfast sigue la cadena sin una segunda pasada. En el límite, el archivo más profundo simplemente se deja donde está, sin descomprimir, y la descarga termina igualmente. Súbelo solo para releases inusualmente profundas.
Renombrado automático y limpieza live
Renombrar las descargas terminadas (activado por defecto) le da a la carpeta
y al archivo principal un nombre limpio e informativo: una película pasa a ser
Example Movie (2024) y las series mantienen Show - S01E02.
Los nombres ofuscados o no reconocidos se dejan exactamente como se publicaron en lugar
de adivinarlos.
| Ajuste | Qué hace |
|---|---|
| Incluir resolución | Añade 1080p, 2160p… al nombre. Activado por defecto; las otras cuatro etiquetas están desactivadas. |
| Incluir códec de vídeo | x265, x264, AV1… |
| Incluir códec de audio | Atmos, DTS-HD, AC3… |
| Incluir fuente | BluRay, WEB, REMUX… |
| Incluir grupo de release | La etiqueta -GROUP del final. |
| Eliminar archivos basura | Activado por defecto. Borra los .par2, .nzb, .sfv, .nfo sobrantes y los clips de muestra de las carpetas de cine y series terminadas. Nunca el vídeo ni sus subtítulos. |
| Conservar solo el archivo multimedia | Desactivado por defecto, y destructivo: borra de forma permanente todo lo de la carpeta salvo el vídeo (o vídeos) y los subtítulos. Se conservan todos los episodios de un pack de temporada. Prevalece sobre Eliminar archivos basura cuando ambos están activos. |
| Keep the other words in the name | Activado por defecto. El deporte, las carreras y otros eventos suelen ser un mismo título repetido toda la temporada, separados por una o dos palabras - "Round11 Hungary Race" frente a "Round11 Hungary Qualifying". Conservar esas palabras es lo que impide que una temporada entera acabe con el mismo nombre. Solo actúa donde el nombre no podía ordenarse de otra forma, así que las películas y episodios corrientes no se tocan. |
Todo el grupo actúa después de reparar y descomprimir y antes de Mover las completadas a, y se salta por completo en un trabajo que aún espera contraseña. Los dos pasos de borrado se aplican solo a releases reconocidas como cine o series: una carga de software o un conjunto inclasificable (ofuscado) no se limpia nunca.
Los archivos borrados van a la Papelera decide qué significa "borrar" en lo anterior. Activado, la limpieza mueve los archivos a la Papelera del sistema, de modo que un fallo al juzgar qué era basura se puede deshacer; desactivado, se borran de forma definitiva. Está activado por defecto en macOS y Windows, donde la Papelera es un sitio que puedes ver y vaciar, y desactivado por defecto en Linux, donde normalmente no lo es.
.Trash-1000 (el número es tu id de usuario) en la raíz del disco de
descargas y mueven allí los archivos. Nada te muestra esa carpeta, nada la vacía,
y el espacio que retiene no vuelve nunca.
Si usaste una versión anterior de nzbfast en Linux con esto activado, busca esa carpeta en la raíz de tu recurso compartido de descargas. Puedes vaciarla sin riesgo: todo lo que contiene es un archivo que la limpieza ya había decidido que no querías. nzbfast no la vaciará por ti, porque está en tu disco y el juicio te corresponde a ti.
Carpetas y procesado
Carpeta de descargas tras reiniciar, carpeta vigilada,
script de posprocesado (se ejecuta tras cada trabajo con argumentos compatibles con SABnzbd
y entorno SAB_* - los scripts de SAB existentes funcionan sin cambios),
extensiones de limpieza (archivos residuales borrados al terminar), Carpetas inteligentes
y archivado de TV (ver §10).
Conservar los .nzb tras la recogida (desactivado por defecto) deja el
.nzb original en la carpeta vigilada después de encolarlo, en lugar de moverlo a
la papelera - para coleccionistas, y para entregar el archivo a alguien cuando una descarga
falla. Un archivo conservado se recuerda, también entre reinicios, y no se vuelve a encolar;
guárdalo de nuevo para descargarlo otra vez. Elijas lo que elijas, el panel de cada trabajo
tiene un botón Descargar el .nzb, así que una copia del .nzb de cualquier
trabajo nunca queda a más de un clic.
Indexación en directo
| Ajuste | Qué hace |
|---|---|
| Indexador integrado | El interruptor maestro, apagado mientras no lo enciendas. Apagado significa sin escaneo, sin búsquedas de metadatos, sin muestreo de disponibilidad y sin feed newznab; un índice que ya esté en disco se conserva (hay un botón para borrarlo), así que volver a encenderlo reanuda en lugar de reescanear. |
| Grupos | Newsgroups que escanea el indexador integrado (p. ej. alt.binaries.teevee). |
| Intervalo de escaneo | Segundos entre pasadas (por defecto 900). |
| Artículos de relleno | Cabeceras obtenidas en el primer escaneo de un grupo. |
| Profundizar por escaneo | Cada pasada indexa además este número de artículos más antiguos, ampliando tu historial buscable en segundo plano hasta alcanzar la Antigüedad máxima (por defecto 200.000 por pasada ≈ decenas de millones de artículos por día de actividad). |
| Antigüedad máxima | Ignora las publicaciones más antiguas que esto (90d, 6m, 2y) - acota el tamaño del índice y el tiempo de escaneo. |
| Recortar a la ventana de antigüedad | Activado por defecto. Borra también las releases ya guardadas cuando superan la antigüedad máxima, de modo que el índice mantenga aproximadamente esa ventana en lugar de crecer sin fin. Desactivado = solo se filtran las publicaciones nuevas y lo ya guardado se queda. Los fragmentos muertos (ocultos, todavía incompletos tras una semana) se recogen en cualquier caso. |
| Filtros de ingesta | Reglas JSON que filtran lo que entra en el índice: tipos (la morralla ofuscada se descarta por defecto), año/resolución/idioma, límites de tamaño. |
| Escanear ahora / reescaneo profundo | Ejecuta una pasada inmediatamente; con una profundidad, reescanea ese número de cabeceras recientes. |
| Clave OMDb / actualizar metadatos / borrar | Controles de enriquecimiento del muro (§6). Borrar reconstruye la base de datos desde cero - la vía de recuperación si alguna vez se corrompe. |
| Canal de pres | Apagado hasta que lo enciendas. Muchas subidas se publican sin su nombre, y un escaneo no tiene nada que leer. Los canales de retransmisión públicos anuncian el nombre real, la única vía abierta para emparejar esas publicaciones. Encenderlo mantiene abierta una conexión a una red IRC y escucha: nunca se envía nada ni se crea ninguna cuenta. Necesita el indexador encendido, porque un canal sin dónde guardar lo que oye es un socket abierto para nada. |
| Servidor de retransmisión, Canales | La red IRC que lleva los anuncios (host o host:puerto) y los canales que escuchar, separados por comas. Un cambio surte efecto en la siguiente conexión: apaga y enciende el canal para aplicarlo ya. |
| Nombrar por correlación | Las retransmisiones públicas en vivo no llevan nombres de archivo, así que la mayoría de las publicaciones ofuscadas no se pueden emparejar directamente. Lo que un anuncio sí fija es cuándo apareció una publicación y su tamaño. Esto compara hora y tamaño anunciados con las publicaciones sin nombre y, cuando encajan, propone el nombre real en Explorar. Una sugerencia va marcada como tal, requiere tu clic y nunca renombra archivos en disco. |
| Aplicar automáticamente las coincidencias fuertes | Apagado por defecto, y estricto cuando está activo: el tamaño debe coincidir de cerca, ningún otro anuncio puede encajar casi igual de bien, y el anuncio debe volver a elegir esta publicación en la comprobación inversa. Un nombre aplicado solo cambia cómo se muestra, va marcado como inferido y se retira solo si una descarga terminada lo desmiente. Todo lo más débil sigue siendo una sugerencia. |
| Historial de anuncios | El canal en vivo solo oye los anuncios posteriores a su encendido. Esto recupera unos seis meses de anuncios pasados de una base de pres pública, con cortesía y una sola vez, para que también se puedan emparejar las publicaciones ya indexadas. Corre en segundo plano media hora aproximadamente. |
Biblioteca, Seguridad, Interfaz
Biblioteca: categorías tratadas como entradas de biblioteca instantáneas + intervalo de reverificación. Seguridad: la clave API completa (todo) y la clave NZB (solo añadir - segura para dársela a sitios de indexadores), ambas rotables en caliente. Cada casilla sustituye la clave a la que corresponde en cuanto sales del campo, y dejar una casilla vacía conserva la clave que ya tiene. La clave API cuenta además con Show, que revela y copia la clave actual para que la pegues en Sonarr, Radarr o NZB360 cuando te venga bien, y con Create new, que acuña un reemplazo - la clave antigua deja de funcionar de inmediato, así que hay que dar la nueva a todo lo ya conectado. Ambas dependen de la propia clave API: la clave NZB de solo añadir no puede leerla, que es justamente el sentido de esa clave. Para saber de dónde sale la clave en una instalación nueva, consulta §2. Interfaz: sonidos de pulsación, notificaciones de escritorio al terminar, intervalo de reordenación de proveedores.
Unidades de velocidad live decide cómo se muestra cada velocidad del panel: megabytes (MB/s, la norma de los gestores de descargas, el valor por defecto) o megabits (Mb/s, como los ISP anuncian las líneas). Los tamaños de archivo siguen en bytes. Es una propiedad del daemon, no de tu navegador, así que se aplica a todos los dispositivos que miran esta instalación.
Avanzado: los mandos detrás de los evidentes
Seis ajustes sin opción de línea de comandos. Cada uno tiene ahora una fila avanzada en
la tarjeta de ajustes a la que pertenece, y sigue pudiendo fijarse por la API
(§16), p. ej.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Como
todos los demás, quedan guardados en settings.json.
| Nombre | Qué hace |
|---|---|
verify_mode | full | fast | lean (por defecto fast). lean es el empujón para CPU lenta: como fast, pero además omite el CRC yEnc por artículo en cuanto PAR2 cubre un archivo, dejando una capa de CRC32 en vez de dos. Las descargas sin PAR2 conservan sus CRC de artículo, y la verificación y la reparación del final del trabajo no cambian en ningún caso. El selector Comprobación durante la descarga de arriba es este ajuste. |
auto_retry_mins | Espera antes del único reintento automático que recibe un primer fallo por artículos que faltaban (20 por defecto). El retraso de propagación es una causa real de artículos ausentes y se resuelve solo; gracias al diario, la repetición solo busca lo que sigue faltando. Los fallos por contraseña o retirada nunca cuentan. |
index_scan_par | Cuántos grupos analiza el indexador en paralelo (3 por defecto, limitado a 1-8). |
oracle_sample | Presupuesto de STAT en reposo del oráculo de disponibilidad (§13), sondeos por hora y servidor. 300 por defecto, 3600 como máximo, 0 desactiva el muestreo por completo. |
predb_max_rows | Cuántos anuncios pre guarda la tabla del canal (250000 por defecto, acotado a 10000-5000000). La limpieza horaria recorta hasta esa cifra y la importación histórica se niega a empezar si fuera a superarla, de modo que una importación nunca añade filas que la siguiente limpieza borra. |
predb_seed_days | Hasta dónde llega hacia atrás una importación histórica lanzada sin ventana propia (180 días por defecto, 366 como máximo). Una ventana mayor son más peticiones a la fuente pre, que va a una cada dos segundos. |
10 · Automatización
Lista de seguimiento
La automatización más simple: añade un título en el panel, fija las preferencias de calidad y listo. Los lanzamientos nuevos se capturan según aparecen en tus grupos indexados; las copias de mejor calidad mejoran capturas anteriores; una vista de calendario muestra lo que viene.
Feeds RSS
Ajustes → RSS: cualquier URL RSS newznab/de indexador con intervalo por feed, categoría y reglas de filtrado (patrones de título, límites de tamaño). Los elementos que coinciden se descargan automáticamente.
Carpetas inteligentes
Reglas evaluadas al añadir un trabajo: coincidencia por patrón/palabras clave y tamaño, asignación de
categoría (gana la primera coincidencia). Con el archivado de TV activado, los episodios de TV terminados se
renombran y archivan como Show/Season 01/Show - S01E02.mkv -
listos para plex/Jellyfin sin herramienta externa.
Programador
La programación semanal (ver §9) automatiza pausa/reanudación/velocidad según la hora del día.
Scripts
Un script de posprocesado recibe los argumentos posicionales de SABnzbd y las
variables de entorno SAB_* - el amplio ecosistema de scripts de SAB funciona
tal cual.
11 · Sonarr, Radarr y compañía
nzbfast habla la API de SABnzbd de forma nativa, así que todos los *arr funcionan de serie - y también puede actuar como su indexador.
Como cliente de descarga
- En Sonarr/Radarr: Settings → Download Clients → añade SABnzbd.
- Host: tu máquina con nzbfast · Puerto: 6789 · Clave API: tu clave API completa (dónde encontrarla: §2).
- La categoría, a tu gusto (p. ej.
tv/movies). Test → marca verde → Save.
Cola, historial, estado por trabajo, «quitar y borrar», reintentos y enrutado por categorías: todo se comporta como esperan los *arr.
Como indexador (newznab)
- Settings → Indexers → añade Newznab.
- URL:
http://<host>:6789/· ruta de la API:/api· clave: tu clave API. - nzbfast sirve las consultas
caps,search,tvsearchymoviedesde su propio índice de tus grupos vigilados, y/getnzb/<id>devuelve el NZB.
<error code="101"> en lugar de con un resultado vacío, así que un fallo
se ve al añadir el indexador y no semanas después.¿Para qué molestarse? Un indexador autoalojado exactamente de los grupos que te importan: sin cuentas, sin límites de llamadas API, con la retención tan profunda como le dejes escanear. Es una suma a tus indexadores habituales, no un reemplazo, porque solo encuentra lo que se publicó con un nombre de archivo real.
12 · Móvil y apps remotas
nzbfast implementa los dos grandes protocolos de control remoto, así que casi cualquier app de móvil/tableta funciona. Elige el protocolo que soporte tu app:
Apps que hablan NZBGet (nzb360, LunaSea, NZB Unity…)
| Campo en la app | Valor |
|---|---|
| Tipo | NZBGet |
| Host / puerto | tu máquina : 6789 |
| Usuario | cualquiera (p. ej. nzbfast) |
| Contraseña | tu clave API |
Se sirve toda la superficie JSON-RPC que usan estas apps: estado, cola con reordenar/pausar/borrar, historial, añadir NZB, límite de velocidad, pausa/reanudación, registro.
Apps que hablan SABnzbd
| Campo en la app | Valor |
|---|---|
| Tipo | SABnzbd |
| Host / puerto | tu máquina : 6789 |
| Clave API | tu clave API (o la clave NZB para acceso de solo añadir) |
El panel en tu teléfono
Basta con abrir http://<machine>:6789 en un navegador móvil - el panel
entero y el muro tienen un diseño táctil. El panel de Ajustes → Acceso remoto muestra
las URLs exactas y un código QR para escanear.
Llegar a nzbfast desde fuera de casa
No hay página de inicio de sesión, y es a propósito. Un login con cookie de sesión es una superficie de seguridad que habría que mantener para siempre, y aun así sería el cerrojo más débil de cualquier cosa expuesta a Internet. nzbfast se autentica con tu clave API, y acepta esa clave tanto en una cabecera de la petición como en la URL (X-Api-Key, o Authorization: Bearer) - que es justo lo que permite que algo situado delante gestione el acceso como es debido.
Lo más sencillo es no publicarlo en absoluto. Instala Tailscale en esta máquina y en tu teléfono y ambos entran en una misma red privada: no se expone nada, no hace falta tocar el router ni gestionar certificados, y Ajustes → Acceso remoto muestra una dirección que funciona desde cualquier sitio en cuanto detecta Tailscale. Elige esta vía salvo que necesites un dominio público.
Si de verdad lo necesitas, pon un proxy inverso delante, dale el certificado y deja que él haga la autenticación. Arranca nzbfast con --bind 127.0.0.1 para que el proxy sea la única entrada, y apunta el proxy a http://127.0.0.1:6789:
# Caddy
example.com {
reverse_proxy 127.0.0.1:6789
}
# nginx
location / {
proxy_pass http://127.0.0.1:6789;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
Añade encima lo que ofrezca tu proxy: autenticación básica, un servicio de forward-auth como Authelia o Authentik, o certificados de cliente. Hay algo que pilla a todo el mundo - Sonarr, Radarr y las apps de móvil no pueden completar un inicio de sesión de navegador, así que déjales un camino libre. Casi todos los proxies pueden dejar pasar una petición con una cabecera X-Api-Key válida y exigir autenticación al resto.
13 · Herramientas de rendimiento
Benchmark del sistema
Un clic mide tus tres techos - velocidad de red (una sonda multiconexión real de 8 segundos), tasa de verificación de la CPU y velocidad de escritura en disco - y abre con la respuesta: tu velocidad máxima de descarga esperada y qué techo es el límite. La barra más corta es tu cuello de botella; las demás muestran su margen. Prográmalo (de cada 6 h a semanal) y cada ejecución queda registrada en una tabla de historial, de modo que puedes ver cuándo cambió el comportamiento de tu proveedor, tu ISP o tu hardware. Las ejecuciones programadas solo ocurren con la cola inactiva.
Ajuste de conexiones
Mide un proveedor con números de conexiones crecientes y recomienda el ajuste - más sockets ayudan hasta que el proveedor o tu línea se saturan, y algunos proveedores castigan pedir de más. Probar todos compara cada proveedor y luego los lanza todos juntos para comprobar si el conjunto satura tu línea.
Diversidad de servidores
Muestrea artículos con STAT en distintas antigüedades en cada servidor y agrupa los proveedores por huecos compartidos: los proveedores con ~100% de artículos ausentes compartidos son el mismo backbone (redundante para la recuperación); los independientes amplían de verdad tu cobertura. Termina con una recomendación en lenguaje llano.
Inteligencia automática de la cola
- Aplazamiento automático: una descarga que renquea en un único servidor lento mientras otros trabajos esperan se aparca al final (el diario conserva su progreso) y se reintenta cuando la cola queda libre.
- Precarga en servidores inactivos: los servidores que no pueden ayudar al trabajo activo (sus copias ya no existen) empiezan a descargar entretanto el siguiente trabajo en cola. Ningún otro cliente solapa trabajos entre sí.
- Solape entre trabajos: mientras el tramo final de un trabajo terminado (verificación/extracción) se completa en disco, la descarga del siguiente trabajo ya es dueña de la línea.
El oráculo de disponibilidad
Las retiradas son el motivo principal de que falle una descarga de Usenet, y son predecibles: la misma release desaparece de un backbone mientras otro todavía la tiene. nzbfast lleva un pequeño registro de lo que tus propios proveedores han servido de verdad, y gasta un presupuesto mínimo de sondeos STAT en reposo (unos cientos por hora y servidor, nunca durante una descarga) para mantenerlo al día. Nunca descarga carga útil para averiguarlo.
Lo que sacas de ello:
- Un veredicto de disponibilidad en las fichas del muro y en las filas del índice (§6): «?» ámbar para incierto en tus proveedores, rojo para perdido con seguridad. Sin marca, tiene buena pinta.
- Una insignia de purgado en los grupos donde las publicaciones recientes ya se están retirando, para distinguir un grupo agonizante de una release con mala suerte.
- Omitir los proveedores que el oráculo da por perdidos (Ajustes, desactivado por defecto, experimental): cuando la comprobación tiene la certeza de que el backbone de un proveedor ha perdido una release, se lo salta directamente en esa descarga en lugar de esperar a que falle. Nunca omitirá tu último proveedor.
El veredicto es una predicción a partir de indicios, no una garantía.
Para una respuesta firme sobre un NZB, nzbfast check
(§15) cuenta los artículos reales.
Presupuesto de memoria - y lo que cuesta la memoria escasa
Todas las cachés del motor comparten un presupuesto (por defecto ¼ de la RAM física, acotado a
256 MB–16 GB). Fíjalo explícitamente con Presupuesto de memoria en Ajustes, o con
--mem-limit en la línea de comandos.
nzbfast está hecho para saturar tu red y tu disco al mismo tiempo, y la RAM es lo que le permite hacer ambas cosas en una sola pasada: los artículos se decodifican, verifican y escriben directamente en sus offsets finales, de modo que los volúmenes de archivo no necesitan tocar el disco jamás. Escatímale memoria y nada se rompe - cada caché tiene una vía de desbordamiento, y el motor degrada a más E/S de disco en lugar de hacer swap o fallar. Pero ese desbordamiento no es gratis, y en trabajos grandes se puede medir.
Medido en una máquina y una línea (M1 Ultra, 10 GbE), los mismos archivos con cada presupuesto. Todas las ejecuciones produjeron un resultado correcto, totalmente verificado y extraído:
| Tamaño del trabajo | RAM de sobra | Presupuesto de 2 GB ≈ máquina de 8 GB | Presupuesto de 1 GB ≈ máquina de 4 GB | Presupuesto de 256 MB ≈ NAS de 2 GB |
|---|---|---|---|---|
| 7 GB | 15 s | 15 s | 15 s | 15 s |
| 35 GB | 65 s | 70 s | 70 s | 65 s |
| 87 GB | 148 s | 206 s +39% | 196 s +32% | 180 s +22% |
| 190 GB | 330 s | 427 s +29% | 402 s +22% | 411 s +25% |
El pico de memoria sigue al presupuesto, no al trabajo: esa descarga de 190 GB se completa en aproximadamente 1.1 GB de RAM. Lo que se paga a cambio es tiempo - y solo en trabajos grandes.
- Hasta ~35 GB, la memoria escasa sale gratis. El conjunto de trabajo cabe de todos modos, así que una máquina de 4 GB termina un trabajo así tan rápido como una de 64 GB.
- Pasados los ~87 GB pagas un 20–40% - pero solo cuando tu línea supera a tu disco. Los bloques de verificación y los volúmenes de archivo que se habrían quedado en RAM se escriben y se vuelven a leer, y eso solo cuesta tiempo si la red puede entregar más rápido de lo que el disco puede absorber el tráfico extra. El 20–40% de arriba se midió en 10 GbE; el mismo trabajo de 87 GB con los mismos presupuestos en una línea de ~2.4 Gbps no mostró penalización alguna (de −1 a +7%, dentro del ruido entre ejecuciones). La penalización es función de cuánto supera la línea al disco, no del tamaño del trabajo - en una conexión doméstica típica un presupuesto pequeño sale casi gratis incluso en trabajos muy grandes.
- La penalización se estabiliza. Cuando un trabajo es lo bastante grande para desbordar, todos los presupuestos restringidos desbordan más o menos lo mismo - las ejecuciones de 2 GB, 1 GB y 256 MB releyeron esencialmente el mismo número de bloques del disco y terminaron dentro del ruido entre sí. Así que un poco más de RAM por debajo del umbral que evita el desbordamiento por completo no recompra el coste: dale lo suficiente para mantener el trabajo en memoria, o la cifra exacta apenas importa.
En un NAS pequeño, baja también las Conexiones (2–4) junto con el presupuesto. Con un presupuesto de 256 MB y 2 conexiones, el pico de memoria se queda cerca de 190 MB - holgadamente dentro de lo que le sobra a un NAS de 2 GB. Ten en cuenta que en ese punto lo que te limita es el número de conexiones, no la memoria: el mismo trabajo de 35 GB tardó 286 s en vez de 65 s. Esa es la forma honesta del compromiso - siempre terminará, y terminará correctamente; simplemente no saturará la línea.
Los benchmarks se repiten en cada versión; el método y las cifras por máquina se publican junto a los resultados.
14 · Actualizaciones
- Las actualizaciones son solo aviso: nzbfast nunca descarga ni reemplaza su propio binario, y no contiene código capaz de hacerlo. Cuando existe una versión nueva, la cabecera muestra ⬆ v X disponible - descargar; el chip lleva a la página de descargas oficial (el enlace está fijado en la aplicación, nunca viene del manifiesto de actualizaciones). Instala la versión nueva igual que instalaste la actual.
- nzbfast comprueba si hay versiones nuevas dos veces al día. Desactiva Comprobar actualizaciones (Ajustes) y no contactará en absoluto con el manifiesto de actualizaciones; una URL de comprobación vacía hace lo mismo.
Actualizar sin perder tus ajustes
Una regla vale para todas las instalaciones: una actualización reemplaza el programa, nunca tus ajustes. Todo lo que has configurado - servidores, rutas, la clave API, la cola - vive en un puñado de archivos dentro de una sola carpeta (§17), y ningún instalador, descarga de imagen o actualización de paquete toca esa carpeta. Cuando los ajustes parecen desaparecidos tras una actualización, casi siempre es porque la instalación nueva está leyendo una carpeta distinta y vacía, no porque se haya borrado nada; los archivos antiguos siguen donde siempre estuvieron. §18 tiene los pasos de recuperación.
| Instalación | Cómo actualizar |
|---|---|
| App de macOS | Abre el DMG nuevo y arrastra NzbFast a Aplicaciones, reemplazando el anterior. Tu carpeta de datos es aparte y no se toca. |
| Instalador de Windows | Ejecuta el instalador nuevo sobre la instalación antigua. Tu carpeta de datos es aparte y no se toca. |
| Docker (línea de comandos) | docker pull nzbfast/nzbfast,
elimina el contenedor antiguo y ejecuta el nuevo con exactamente los mismos
mapeos -v. La imagen es desechable; la carpeta
/config mapeada es tu instalación. Si tu comando de ejecución usa una
ruta relativa como -v ./config:/config, ejecútalo siempre desde el mismo
directorio - desde cualquier otro sitio, ./config es una carpeta
distinta y vacía. |
| Docker Compose | docker compose pull && docker compose
up -d, con el mismo archivo compose en el mismo sitio. El
./config del archivo está anclado a la carpeta del propio archivo, así
que deja el archivo donde está. |
| Watchtower | Nada que hacer: recrea el contenedor con los mismos mapeos cuando sale una imagen nueva. |
| Unraid | Pestaña Docker → Check for Updates → Apply
Update. Nunca elimines y vuelvas a añadir la app para actualizarla; si algún día
llegas a reinstalar, conserva la misma ruta de appdata para que encuentre tu
/config existente. |
| Synology (Container Manager) | Descarga la imagen nueva, detén el contenedor y recréalo con los mismos ajustes de volumen - la guía de Synology lo cubre clic a clic, incluida la forma de hacerlo de manera programada. |
| Synology (paquete) | Instala el .spk nuevo en Package
Center; se actualiza en el sitio. |
| Homebrew | brew upgrade nzbfast |
| Binario suelto | Reemplaza el binario. Tu configuración se queda donde la creaste (§17). |
-e NZBFAST_APIKEY=…, o el bloque environment de tu archivo compose o de
tu plantilla de Unraid). Una clave guardada ahí sobrevive a cualquier percance del
contenedor, porque vive en el host, dentro de la definición, y se vuelve a aplicar en
cada arranque. Una clave que después pongas en Ajustes sigue ganándole.15 · Línea de comandos
Todo lo que hace el daemon también se puede automatizar con scripts. Los comandos del día a día:
| Comando | Propósito |
|---|---|
nzbfast setup | Configuración interactiva de servidores. |
nzbfast serve | Ejecuta el daemon (panel + API + automatización). --open abre el navegador; --apikey fija la clave a mano (§2); --bind elige la dirección de escucha, por defecto 0.0.0.0 (todas las interfaces), 127.0.0.1 solo para esta máquina. Consulta --help para la lista completa de opciones - cada ajuste del panel tiene su opción gemela. |
nzbfast get file.nzb | Descarga un NZB, pipeline completo, sin daemon. --preflight aborta pronto si la publicación no puede completarse; --password para conjuntos cifrados. |
nzbfast check file.nzb | Veredicto de disponibilidad - COMPLETE / REPAIRABLE / IMPOSSIBLE - sin descargar la carga útil. |
nzbfast verify DIR | Verifica los archivos contra el conjunto PAR2 de un directorio. |
nzbfast sysbench | El benchmark del sistema + el informe de diversidad, en el terminal. |
nzbfast index / search | Escanea grupos al índice / búscalo, sin el daemon. |
nzbfast import-sab | Importa servidores desde un ini de SABnzbd. |
También disponibles: inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
predb-seed (llena la base de pres con lo anterior a encender el canal),
make-release-nzb/make-test-nzb (fixtures de prueba). Todos los
comandos aceptan --config y --help. A ellos se suma post: sube archivos como
artículos yEnc y escribe el NZB correspondiente. Es una herramienta de operación, exige
un --post-server explícito y nunca elige un servidor por ti.
16 · Resumen de la API
Endpoint base: http://host:6789/api?mode=…&apikey=…&output=json -
compatible con SABnzbd, así que las integraciones SAB existentes funcionan sin cambios. Dos claves:
la clave API (control total) y la clave NZB (solo añadir:
addfile/addurl). addnzblnk queda deliberadamente fuera del conjunto de solo añadir: resolver un enlace puede gastar cuota medida de indexador, algo que no le corresponde a una credencial de solo añadir.
| Área | Modos |
|---|---|
| Cola | queue (con name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, addnzblnk, retry, set_password |
| Información | history, status/fullstatus, stats, version, server_stats, usage, log, warnings, más /jobnzb/<nzo_id> (devuelve el propio .nzb guardado del trabajo, en cola o historial; solo con la clave API completa) |
| Configuración | get_config, config&name=<setting>&value=… (cada campo de Ajustes), server_save/delete/test/enable/reorder, import_probe/apply |
| Índice y muro | index_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, más newznab en /api?t=caps|search|tvsearch|movie y /getnzb/<id> |
| Automatización | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnóstico | sysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply |
| NZBGet JSON-RPC | /jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (autenticación Basic: cualquier usuario, la clave API como contraseña) |
| Vista previa / reproducción | /stream/<nzo_id> (rangos HTTP; arrancar un trabajo de biblioteca aparcado necesita el token ?t= o la clave), /m3u/<id> (necesita la clave; emite el token), /wall, /art/… |
17 · Archivos y ubicaciones
Dónde está la carpeta de ajustes depende de cómo se instaló nzbfast. Esa única carpeta contiene todo lo que merece una copia de seguridad:
| Instalación | Carpeta de ajustes |
|---|---|
| App de macOS | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| Docker / contenedores NAS | /config dentro del
contenedor, que es la carpeta del host que le mapeaste. En Unraid es la carpeta
appdata de la app. |
| Paquete de Synology | /var/packages/nzbfast/var/ |
| Terminal | La carpeta en la que ejecutaste nzbfast setup,
o adonde apunte --config / $NZBFAST_CONFIG. |
Y lo que hay dentro:
| Archivo | Contenido |
|---|---|
config.local.json | Credenciales de servidores y opciones por servidor. Lo crea el asistente; editable en Ajustes. Mantenlo privado. Las contraseñas están ofuscadas, no cifradas. |
settings.json | Cada ajuste cambiado en el panel. Vive junto a la configuración; los valores de la interfaz anulan las opciones de línea de comandos. Borra una clave (o el archivo) para volver a las opciones/valores por defecto. |
apikey | La clave API que nzbfast se creó en el primer arranque (§2). Vive junto a la configuración; en macOS y Linux solo la puede leer la cuenta que ejecuta nzbfast. No lo borres para conseguir una clave nueva: en una instalación que ya ha arrancado alguna vez, nada la sustituye y el daemon vuelve a levantarse sin clave ninguna. Pon una nueva en Ajustes → Seguridad. |
index.db | El índice de lanzamientos (SQLite) + los metadatos del muro. Se puede borrar sin peligro - se reconstruye con el escaneo (Ajustes → Indexación → Borrar lo hace por ti). |
<config>/.spool/ | Estado de la cola (sobrevive a los reinicios), NZBs por trabajo, libro de uso, historial de benchmarks, caché de carátulas. |
| Diario de artículos | Dentro de la carpeta de salida de cada trabajo mientras está incompleto - alimenta la reanudación tras un cuelgue y los reintentos. Se elimina al terminar con éxito. |
| Herramientas externas | No se necesita ninguna - la extracción RAR y la reparación PAR2 son nativas. Si un conjunto exótico llegara a necesitar un unrar o par2 externo como respaldo, nzbfast busca junto a su ejecutable y luego en el $PATH. |
18 · Solución de problemas
| Síntoma | Qué comprobar |
|---|---|
| Descargas lentas | Ejecuta el Benchmark del sistema - nombra el cuello de botella sin rodeos. Si es la red: ejecuta el Ajuste de conexiones, revisa los números de conexiones por servidor y confirma que tus proveedores no son todos el mismo backbone (Diversidad de servidores). |
| Lento solo en trabajos muy grandes (NAS o máquina con poca RAM) | Esperado, y medible: un presupuesto de memoria escaso desborda las cachés a disco y cuesta un 20–40% pasados los ~87 GB. Ver Presupuesto de memoria para las cifras y cuánta RAM darle. Los trabajos más pequeños no se ven afectados. |
| La descarga falla con «articles missing» | La publicación ha caducado o fue retirada en tus proveedores. Un segundo proveedor en otro backbone rescata la mayoría de estos casos. nzbfast check lo predice antes de descargar. Y el muro marca de antemano las que probablemente hayan desaparecido con su
punto de disponibilidad (§13). Un primer fallo de esta forma se
reintenta solo una vez tras una espera, porque el retraso de propagación tiene el mismo
aspecto y se resuelve por su cuenta. |
| Un archivo terminado pide contraseña | La fila del Historial muestra 🔑 - introduce ahí la contraseña; el trabajo se completa in situ. |
| Un archivo no se desempaqueta | Los fallos de contraseña y de reparación se nombran solos en la fila del Historial. Para todo lo demás hay una salida de emergencia: Ajustes → Carpeta vigilada y posprocesado → Desempaquetar con unrar externo (un ajuste avanzado) entrega el desempaquetado al programa unrar instalado en tu máquina en lugar del extractor integrado. Déjalo desactivado en el resto de casos: la vía integrada es más rápida en todas las formas que hemos medido, y las publicaciones ofuscadas con nombres hash la usan siempre de todos modos, porque unrar no puede seguir su renombrado. El mismo interruptor para las ejecuciones de nzbfast get es la variable de entorno NZBFAST_NO_NATIVE_UNRAR=1. Si unrar desempaqueta un archivo que el extractor integrado rechazó, repórtalo para que arreglemos la vía integrada. |
| Sonarr/Radarr no puede conectar | ¿Se llega al puerto 6789? ¿La clave API es la correcta (la completa, no la clave NZB)? ¿El tipo de cliente está en SABnzbd? |
| El panel pide una clave API que yo nunca puse | Una instalación nueva se crea una sola y la muestra una vez al arrancar (§2). Está en el archivo apikey junto a tu configuración, y en la salida de arranque. O escribe una clave propia en Ajustes → Seguridad desde un navegador que ya esté dentro. |
| Todos mis ajustes parecen desaparecidos tras una actualización (servidores, rutas, clave API) | Nada en una actualización borra ajustes; esto significa que nzbfast está leyendo una carpeta distinta y vacía. Primero: el campo de la clave API en Ajustes se muestra en blanco a propósito - haz clic en Show antes de dar la clave por perdida. En Docker, compara el mapeo de /config del contenedor nuevo con el del antiguo: una ruta del host cambiada, una ruta relativa ejecutada desde otro directorio o una carpeta appdata recién creada hacen todas que nzbfast arranque de cero mientras tus ajustes reales siguen intactos en la ruta anterior. Localiza la carpeta antigua (busca settings.json, tu archivo de configuración y apikey - ubicaciones en §17) y entonces vuelve a apuntar el mapeo hacia ella, o copia esos archivos a la carpeta nueva y reinicia. El registro de arranque nombra el archivo de ajustes exacto en uso: [settings] applying saved settings from … |
| Nada de la red llega al daemon | Comprueba --bind: 127.0.0.1 sirve solo a la máquina en la que se ejecuta nzbfast. El valor por defecto, 0.0.0.0, sirve a todas las interfaces. Después revisa el cortafuegos de la propia máquina para el puerto 6789. |
| La tarjeta Explorar se queda pequeña | El indexador crece en segundo plano - comprueba que hay grupos definidos en Ajustes → Indexación, y dale tiempo a Profundizar por escaneo para acumular historial. «Escanear ahora» fuerza una pasada; la línea de estado muestra el progreso en vivo. |
| El muro muestra carátulas erróneas o ninguna | Ficha de detalle → ✎ Corregir coincidencia o ↻ Actualizar metadatos. Las búsquedas de películas mejoran con una clave OMDb gratuita. |
| macOS dice que la aplicación «nzbfast» no se puede abrir | Dos causas, las dos rápidas. Si usas el zip básico -macos-universal.zip, haz doble clic en Start nzbfast.command, no en el archivo nzbfast de al lado: ese es el programa en sí, y el Finder responde a un doble clic sobre él justo con este mensaje. El lanzador es lo que lo prepara todo y lo arranca. Si el lanzador da el mismo mensaje, la copia perdió su bit de permiso de Unix por el camino: macOS guarda ese bit dentro del .zip, pero las apps de chat, las unidades en la nube y volver a comprimir no lo hacen, así que una copia pasada a mano llega sin permiso de ejecución. Descarga el .dmg o el .zip directamente de la página de releases y no pasará. Para rescatar la copia que ya tienes: abre el Terminal, escribe chmod +x con un espacio al final, arrastra Start nzbfast.command y el archivo nzbfast a la ventana y pulsa Intro; luego haz doble clic otra vez en el lanzador. |
| El daemon no arranca: puerto en uso | Hay otra instancia en marcha - o cambia --port. |
| ¿Dónde están los registros? | La tarjeta Registro del panel, o el terminal/archivo de registro con el que lanzaste serve. |
nzbfast --version.nzbfast - este manual acompaña a cada versión. Los ajustes, endpoints y valores por defecto aquí referenciados corresponden a la versión con la que se distribuyó.