⚡ nzbfast

Der schnelle Usenet-Downloader - Benutzerhandbuch

1 · Willkommen

nzbfast lädt aus dem Usenet so schnell, wie es deine Leitung, deine Provider und deine Maschine zulassen - und das heißt meistens: so schnell wie deine Leitung. Es ist ein einziges, in sich geschlossenes Programm: die Engine, ein Web-Dashboard, eine Posterwand als Medienbrowser, ein eingebauter Indexer, Echtzeit-Vorschau, native PAR2-Reparatur und natives RAR-Entpacken stecken alle in einer einzigen ausführbaren Datei. Es gibt nichts weiter zu installieren.

Schnell macht es die Architektur, nicht irgendwelche Tricks:

Auf identischer Hardware, mit identischen Jobs und Providern gegen das Feld gemessen, hat nzbfast einen 190 GB-Download auf einer 10 GbE-Leitung in rund 5 Minuten abgeschlossen - die führenden Alternativen lagen in denselben Tests 30–220 % zurück, sofern sie sie überhaupt beendet haben. Die Zahlen stehen in §3.

2 · Schnellstart

macOS

  1. Öffne nzbfast-<version>-macos.dmg und zieh NzbFast nach Programme (universal: Apple Silicon + Intel).
  2. Erster Start: macOS warnt, dass nzbfast noch nicht von Apple notarisiert ist. Rechtsklick auf die App → Öffnen - oder öffne die Systemeinstellungen → Datenschutz & Sicherheit, scroll nach unten und klick Dennoch öffnen. Das ist nur einmal nötig.
  3. Das App-Fenster zeigt das Dashboard mit einer Willkommens-Karte - klick sie an und füge mindestens einen Usenet-Server hinzu (Host, Port 563, Benutzername, Passwort). Weitere kannst du später in den Einstellungen ergänzen.
  4. Zieh eine .nzb irgendwo aufs Dashboard - oder doppelklick .nzb-Dateien einfach im Finder. Downloads landen in ~/Downloads/nzbfast. Beenden über das Menü; Downloads setzen dort fort, wo sie aufgehört haben.

Lieber ohne App? Das schlichte Zip (Binary + Start nzbfast.command-Starter, gleiche Engine) funktioniert weiter wie gehabt - die Schritte stehen unten unter „Aus dem Terminal“.

Windows

  1. Führe nzbfast-setup-<version>.exe aus. Es installiert nur für deinen Benutzer (kein Administrator-Passwort). Weil dieses Release noch nicht code-signiert ist, zeigt SmartScreen womöglich „Der Computer wurde durch Windows geschützt“ - klick Weitere InformationenTrotzdem ausführen.
  2. nzbfast lebt im System-Tray: Doppelklick aufs Tray-Symbol (oder Dashboard öffnen im Rechtsklick-Menü) öffnet das Dashboard; füge dann deinen Usenet-Server über die Willkommens-Karte hinzu. Das Tray-Menü bietet außerdem Pause/Fortsetzen, deinen Download-Ordner und Beenden.
  3. Ein Doppelklick auf eine .nzb-Datei reiht sie ein. Windows Defender fragt eventuell einmal, ob lokales Netzwerk-Lauschen erlaubt werden soll - erlaub es.

Lieber eine portable Kopie? Das -windows-x64.zip funktioniert weiterhin: irgendwo entpacken und nzbfast.exe doppelklicken (oder Start nzbfast.bat für den Terminal-Assistenten).

Aus dem Terminal (jede Plattform)

nzbfast setup            # interactive server setup (writes config.local.json)
nzbfast serve --open     # start the daemon and open the dashboard
TippDu nutzt schon SABnzbd oder NZBGet? Spar dir das Abtippen der Zugangsdaten: Einstellungen → Usenet-Server → Aus SABnzbd / NZBGet importieren… findet deine bestehende Installation und übernimmt ihre Server. Auf der Kommandozeile gibt es außerdem nzbfast import-sab.

3 · So funktioniert nzbfast

Ein kurzes Vokabular, damit sich der Rest des Handbuchs leicht liest:

BegriffBedeutung
Provider / ServerEin Usenet-Dienst, bei dem du ein Konto hast (Newshosting, Eweka, XS News…). Jeder erlaubt eine bestimmte Zahl gleichzeitiger Verbindungen.
BackboneDie Infrastruktur hinter einem Provider. Mehrere Marken verkaufen oft dasselbe Backbone weiter - gut zu wissen, denn zwei Providern auf einem Backbone fehlen dieselben Artikel. Siehe Server-Diversität.
NZBEine kleine XML-Datei, die die Artikel eines Posts auflistet. Das ist das, was du nzbfast fütterst.
PAR2Reparaturdaten, die neben einem Release gepostet werden. nzbfast verifiziert während des Downloads dagegen und repariert automatisch, wenn Artikel beschädigt sind oder fehlen.
Store-Mode-RARDie meisten Releases sind ohne Kompression in RAR-Volumes gepackt. nzbfast erkennt das und schreibt die innere Datei schon beim Download direkt an ihren endgültigen Ort - kein Entpack-Schritt danach.

Die Pipeline fährt Download → Dekodieren → Prüfen → Entpacken gleichzeitig. Die Pipeline-Karte im Dashboard zeigt alle drei Spuren gleichzeitig in Bewegung. Wenn das letzte Byte ankommt, ist die Prüfung schon durch und die Datei schon entpackt; die „Nachbearbeitungszeit“ eines typischen Jobs ist null. Nur wenn repariert werden muss, werden Volumes auf die Festplatte materialisiert, von der nativen GF(2¹⁶)-Engine an Ort und Stelle repariert (umbenannte oder byte-verschobene, verschleierte Daten findet und übernimmt ein gleitender Block-Scan) und neu entpackt - alles automatisch.

Unterbrochene Downloads (Absturz, Stromausfall, kill -9) setzen über das Artikel-Journal fort: Bytes, die schon auf der Festplatte liegen, werden nie doppelt geholt. Das Journal hält fest, wo die Bytes jedes Artikels physisch gelandet sind - auch Bytes, die direkt in die endgültige Datei entpackt wurden -, sodass ein Resume aus der lokalen Festplatte wiederaufbaut und alles Wiederhergestellte gegen die PAR2-Blockkarte nachprüft, bevor es ihm vertraut.

Der Vergleich

Gemessen gegen SABnzbd 5.0.4 und NZBGet 26.2 auf derselben Maschine, mit denselben Providern und denselben NZBs, gestoppt bis zur nutzbaren Datei - Download, Prüfung, Reparatur und Entpacken eingeschlossen, denn erst dann ist der Job wirklich fertig:

Job-GrößenzbfastNZBGet 26.2SABnzbd 5.0.4
7 GB13,7 s+26%+39%
35 GB67 s+61%+325%
87 GB272 s+36%+160%
190 GB9 m 00 s+30%+111%

Der Abstand ist die Nachbearbeitung, die die anderen nach dem letzten Byte noch vor sich haben. Beide Konkurrenten wurden für den Vergleich getunt, nicht auf Standardwerten gelassen - SABnzbd liefert Request-Pipelining ab Werk abgeschaltet aus, was es teuer zu stehen kommt, also wurde es eingeschaltet.

Zwei Unterschiede wiegen so schwer wie die Zeiten:

Absturz-Resume, gemessenSchieß einen Download mitten im Flug ab (kill -9 bei 15 GB eines 34,5-GB-Jobs) und das Resume holt ~0,3 GB neu - nur die Artikel, die beim Kill wirklich in der Luft waren - gegen NZBGets 0,2 GB im selben Test. Das war mal eine Niederlage, die wir veröffentlicht haben (15,3 GB neu geholt, als das Journal direkt entpackte Bytes nicht zuordnen konnte); das Platzierungs-Journal hat sie behoben: Das Resume stellt diese Bytes aus den lokalen Ausgabedateien wieder her und prüft jedes wiederhergestellte Byte gegen die PAR2-Blockkarte, bevor es ihm vertraut. Jedes Szenario, das wir verlieren, wird neben den Siegen veröffentlicht, mit vollständiger Methode und Rohzahlen.

4 · Das Dashboard

Öffne http://localhost:6789 (oder die Adresse deiner Maschine von einem anderen Gerät - das Handy-Layout passt sich automatisch an). Alles aktualisiert sich live, einmal pro Sekunde. Die Karten, von oben nach unten:

Kopfleiste

Durchsatz

Live-MB/s mit laufendem Diagramm; die gestrichelten Wasserzeichen markieren Hoch/Tief dieser Sitzung, die blasse Linie ist ein gleitender Durchschnitt. Darunter zeigt ein Histogramm, wie sich die Tempo-Messwerte der Sitzung verteilen - typisch vs. Spitze. Mach das Fenster breiter und die Diagramme zeigen mehr Verlauf (bis zu einer Stunde).

Statistik-Kacheln

In dieser Sitzung geladen, Warteschlangen-Tiefe, Fertig-/Fehler-Zähler, Spitzentempo der Sitzung.

Ressourcen - eine Maschine, vier Limits

CPU, RAM (gegen nzbfasts Speicher-Budget), Festplatten-Schreibrate und Netzwerk auf einem normalisierten Diagramm, mit echten Werten in der Legende und einer Warnung bei wenig Plattenplatz. Kein anderer NZB-Client zeigt dir das; es existiert, um einen Punkt zu beweisen - nzbfast reizt deine Leitung aus, nicht deine Maschine.

Pipeline - Stufen überlappen

Drei Spuren: Download, Prüfen (geprüfte PAR2-Blöcke), Entpacken. Bei einem gesunden Job bewegen sich alle drei gemeinsam.

Provider

Live-Rate pro Server, Verbindungsauslastung, Verkehrsanteil, Sitzungs-GB und ein Lebenszeit-Wert für Artikel-Vollständigkeit (farbig, sobald ein Server unter 98 % fällt). Ein gestapeltes Flächendiagramm zeigt den Beitrag jedes Providers über die Zeit. Die Zeilen sortieren sich alle 10 s nach Live-Leistung neu (einstellbar in Einstellungen → Oberfläche), damit dein schnellster Provider immer oben steht.

Warteschlange

Index durchsuchen

Durchsuche alles, was der eingebaute Indexer aus deinen beobachteten Gruppen katalogisiert hat (siehe Automatisierung), und lade mit einem Klick - kein externer Indexer nötig. Die Statuszeile zeigt den Scan-Fortschritt; Jetzt scannen erzwingt einen Durchlauf.

Watchlist

Füge Titel per Name hinzu - auch solche, die noch gar nicht gepostet wurden. Taucht ein passendes Release im Index auf, wird es automatisch geholt, mit Qualitätsvorlieben und Upgrade-Regeln (eine bessere Kopie ersetzt eine schlechtere).

Verlauf

Die jüngsten Downloads mit Status, Größe, Ort; fehlgeschlagene Jobs bieten Erneut (setzt aus dem Journal fort). Verschlüsselte Archive zeigen ein 🔑-Entsperr-Element - gib das Passwort ein und der Job wird an Ort und Stelle fertig. Der Prüfstatus-Streifen zeichnet defekte PAR2-Blöcke pro Download auf - ein steigendes Ende heißt: Artikel kommen beschädigt an.

Datenverbrauch

Tagesbalken pro Provider und Summen für Heute / 7 Tage / 30 Tage - unverzichtbar bei Volumen- und Block-Tarifen. Block-Konten zeigen die Lebenszeitnutzung gegen ihre Größe.

Log, System-Benchmark, Verbindungs-Tuning, Server-Diversität

Ein Log-Betrachter direkt auf der Seite und die drei Selbstvermessungs-Tools aus Performance-Tools.

5 · Downloads hinzufügen

MethodeSo geht’s
Drag & DropZieh eine oder mehrere .nzb-Dateien irgendwo aufs Dashboard.
Watch-OrdnerLeg in den Einstellungen einen Ordner fest; jede dort gespeicherte .nzb wird binnen 5 Sekunden aufgegriffen und die Datei entfernt. Richte den Download-Ordner deines Browsers dorthin - für Ein-Klick-Grabs von Indexer-Seiten.
Von einer URLFüge einen NZB-Link ein (API mode=addurl, oder über jede verbundene App).
Index durchsuchenKlick ein vollständiges Release in der Durchsuchen-Karte an.
Watchlist / RSSAutomatisch - siehe Automatisierung.
Sonarr/Radarr etc.Sie schicken Grabs direkt in die Warteschlange - siehe §11.
Kommandozeilenzbfast get file.nzb lädt ohne den Daemon.

Kategorien, Prioritäten, Passwörter

6 · Die Posterwand

Klick 🎬 Wand in der Kopfleiste. Die Wand macht aus deinem Index einen Medienbrowser: jedes erkannte Film- und Serien-Release als Poster-Kachel mit Bewertung, Jahr, Genres, Besetzung und Handlung - deine Newsgroups, durchstöberbar als Katalog.

7 · Vorschau & Prüfen

Du musst nicht warten, bis ein Download fertig ist, um zu wissen, dass es die richtige Datei ist. Öffne sie, während sie lädt, prüfe, ob Inhalt, Sprache und Qualität deinen Erwartungen entsprechen, und brich früh ab, wenn nicht - statt es erst nach dem kompletten Download festzustellen.

Player-HinweisVLC, IINA, mpv und Infuse öffnen alle /stream-URLs. Zum Prüfen von einer anderen Maschine nimm die LAN-Adresse deiner Maschine statt localhost.
Auth-HinweisMit gesetztem API-Key verlangt das Öffnen eines geparkten Bibliothekseintrags über /stream/<id> ein Pro-Job-Token (?t=…) - Player können keine API-Keys mitschicken, also betten die /m3u-Übergabe und der .strm-Verweis es für dich ein; das Ausstellen (/m3u) verlangt den Key. Das reine Byte-Ausliefern eines schon aktiven Downloads bleibt offen, und Installationen ohne Key verhalten sich wie bisher.

8 · Usenet-Server

Einstellungen → Usenet-Server ist der volle Editor: hinzufügen, bearbeiten, entfernen, umsortieren und jeden Server in den Pool holen oder aus ihm herausnehmen. Jeder Server hat:

FeldHinweise
Host / PortNimm den SSL-Port 563. TLS kostet nichts Messbares - nzbfast verschlüsselt immer.
Benutzername / PasswortLokal in config.local.json gespeichert, nie zurück an den Browser gezeigt. Das Passwort beim Bearbeiten leer lassen behält das gespeicherte.
VerbindungenGleichzeitige Verbindungen pro Server. Nutz Verbindungs-Tuning (§13), um den Sweet Spot jedes Providers zu finden, statt einfach hoch zu raten.
Level (Tier)0 = primär; höhere Level sind Fill-Server und werden nur nach Artikeln gefragt, die alle niedrigeren Level verpasst haben. Flatrate-Konten auf 0, Block-Konten auf 1+.
Blockgröße (GB)Für Block-Konten (Bezahlung pro GB): nzbfast zählt die Lebenszeitnutzung dagegen und lässt den Server aus, sobald der Block aufgebraucht ist (Warnung bei 85 %).

Zwei weitere Optionen pro Server haben noch kein Bedienelement im Dashboard: trage sie von Hand beim Eintrag dieses Servers in config.local.json ein (siehe §17) und starte neu.

SchlüsselHinweise
bind_ipBindet die ausgehenden Verbindungen dieses Servers an eine bestimmte lokale Adresse, für Rechner mit mehreren Anbindungen und VPN-Split-Tunnel. Die Adressfamilie wählt zugleich die Zielfamilie: eine v4-Bindung verbindet sich mit der v4-Adresse des Servers.
socks5Schickt den NNTP-Verkehr dieses Servers über einen SOCKS5-Proxy: host:port oder user:pass@host:port. Der Hostname wird vom Proxy aufgelöst, es gibt also kein lokales DNS-Leck.
EmpfehlungZwei Provider auf verschiedenen Backbones schlagen drei auf demselben. Lass Server-Diversität laufen (§13), um zu sehen, welche deiner Provider deine Abdeckung wirklich diversifizieren und welche redundante Kopien voneinander sind.

9 · Einstellungs-Referenz

Fast alles lässt sich im Dashboard unter ⚙ Einstellungen konfigurieren; die vier Ausnahmen stehen am Ende dieses Abschnitts. Mit live markierte Werte gelten sofort, restart-Werte beim nächsten Start. Jede hier gemachte Änderung wird in settings.json gespeichert und übersteht Neustarts (UI-Werte schlagen Kommandozeilen-Flags).

Tempo & Zeitplan live

EinstellungWas sie bewirkt
TempolimitLimit in Bytes/Sek. (50M, 1G, 0 = unbegrenzt). Fernsteuer-Apps schicken womöglich Prozente - setz das Leitungstempo, damit sie richtig übersetzt werden.
Auto-TempoRTT-gesteuertes Limit, das anderem Verkehr im Haushalt weicht und sich wieder ausdehnt, wenn die Leitung ruhig ist.
Langsame Downloads zurückstellenEin Job, der an einem einzelnen langsamen Server festhängt, während andere warten, wandert ans Ende der Warteschlange (Fortschritt bleibt). Siehe §13.
Prefetch auf freien ServernServer, die dem aktiven Job nichts nützen, starten den nächsten eingereihten. Siehe §13.
Auto-Update / Update-Check-URLSiehe §14.
LeitungstempoDie Nenngeschwindigkeit deines Anschlusses - ermöglicht Prozent-Limits aus SABnzbd-kompatiblen Apps.
WochenplanZeileneditor für Wochenzeit-Regeln: pausieren, fortsetzen oder ein Tempolimit zu bestimmten Tagen/Uhrzeiten setzen (lokale Zeit). Z. B. werktags 9–17 auf 20 MB/s begrenzen, sonst unbegrenzt.

Nächster Download live

Verbindungen (pro Server), Fenster (Pipelining-Tiefe pro Verbindung), Decoder (parallele Decode-Threads). Wird beim Start jedes Jobs übernommen. Die Standardwerte passen für die meisten Leitungen; nutz die Tuning-Tools, bevor du blind erhöhst.

Schnellprüfung (CRC32) (standardmäßig an) belegt PAR2-Blöcke schon während des laufenden Downloads allein per CRC32, was auf einer langsamen CPU 2-3x schneller ist. Die eigene Prüfsumme jedes Artikels wird trotzdem geprüft, und der abschließende Durchgang rechnet immer volles MD5: an der Korrektheit ändert sich also nichts. Abwählen, um auch während des Downloads MD5 pro Block zu rechnen.

Festplatte & Quota live

Minimaler freier Platz (neue Jobs darunter pausieren), Download-Quota pro Tag oder Monat (UTC; Erzwingen-Jobs umgehen sie), Speicher-Budget - die RAM-Zuteilung der Engine (Standard: ¼ des RAM, gedeckelt; erhöh es auf einer Maschine mit viel RAM für maximales Tempo bei riesigen Jobs, und lies vor dem Senken, was wenig Speicher kostet) Neustart.

Fertige verschieben nach: nach dem Entpacken, Aufräumen und Umbenennen wandern fertige Downloads hierhin - ein NAS-Share, ein Medienlaufwerk, wohin auch immer deine Bibliothek gehört. Das Kategorie-Layout bleibt erhalten (ein Job, der unter tv/ fertig wurde, landet am Ziel unter tv/), und die History folgt dem Umzug, sodass verbundene Apps am neuen Ort importieren und löschen. Ist das Ziel beim Abschluss eines Jobs nicht erreichbar (Share offline, kein Platz), bleiben die Dateien im Download-Ordner und der Job wird trotzdem normal abgeschlossen. Leer = aus. Ziele je Kategorie leiten einzelne Kategorien woandershin (tv=/Volumes/NAS/TV, movies=/Volumes/NAS/Movies); jeder gelistete Pfad ist der Ordner dieser Kategorie, es wird also kein zusätzlicher Kategorie-Unterordner darin angelegt. Nicht gelistete Kategorien folgen Fertige verschieben nach.

Verschachtelte Archivtiefe (Standard 5) ist die Zahl der Archiv-im-Archiv-Ebenen, die automatisch entpackt werden: ein RAR-Satz, der ein 7z enthält, das wieder ein RAR enthält, ist im Usenet normal, und nzbfast folgt der Kette ohne zweiten Durchgang. An der Grenze bleibt das tiefste Archiv einfach liegen, nicht weiter entpackt, und der Download wird trotzdem fertig. Nur für ungewöhnlich tiefe Releases erhöhen.

Auto-Umbenennen & Aufräumen live

Fertige Downloads umbenennen (standardmäßig an) gibt dem Ordner und der Hauptdatei einen sauberen, aussagekräftigen Namen: aus einem Film wird Example Movie (2024), Serien behalten Show - S01E02. Verschleierte oder unerkannte Namen bleiben exakt so, wie sie gepostet wurden, statt geraten zu werden.

EinstellungWirkung
Auflösung einbeziehenSetzt 1080p, 2160p… in den Namen. Standardmäßig an; die anderen vier Kennzeichen sind aus.
Video-Codec einbeziehenx265, x264, AV1
Audio-Codec einbeziehenAtmos, DTS-HD, AC3
Quelle einbeziehenBluRay, WEB, REMUX
Release-Gruppe einbeziehenDas -GROUP-Kennzeichen am Ende.
Müll-Dateien entfernenStandardmäßig an. Löscht übrig gebliebene .par2, .nzb, .sfv, .nfo und Sample-Clips aus fertigen Film- und Serienordnern. Nie das Video oder seine Untertitel.
Nur die Mediendatei behaltenStandardmäßig aus, und destruktiv: löscht dauerhaft alles im Ordner außer dem Video (oder den Videos) und den Untertiteln. Jede Episode eines Staffelpakets bleibt erhalten. Hat Vorrang vor Müll-Dateien entfernen, wenn beides an ist.

Die ganze Gruppe läuft nach Reparatur und Entpacken und vor Fertige verschieben nach, und wird für einen Job, der noch auf ein Passwort wartet, komplett übersprungen. Beide Löschschritte gelten nur für Releases, die als Film oder Serie erkannt wurden: eine Software-Nutzlast oder ein nicht einzuordnender (verschleierter) Satz wird nie ausgemistet.

Ordner & Verarbeitung

Download-Ordner Neustart, Watch-Ordner, Nachbearbeitungs-Skript (läuft nach jedem Job mit SABnzbd-kompatiblen Argumenten und SAB_*-Umgebung - bestehende SAB-Skripte laufen unverändert), Aufräum-Endungen (Müll-Dateien, die nach dem Abschluss gelöscht werden), Smarte Ordner und TV-Ablage (siehe §10).

Indexierung live

EinstellungWas sie bewirkt
GruppenNewsgroups, die der eingebaute Indexer scannt (z. B. alt.binaries.teevee).
Scan-IntervallSekunden zwischen den Durchläufen (Standard 900).
Backfill-ArtikelHeader, die beim allerersten Scan einer Gruppe geholt werden.
Vertiefen pro ScanJeder Durchlauf indexiert zusätzlich so viele ältere Artikel und lässt deine durchsuchbare Historie im Hintergrund wachsen, bis das maximale Alter erreicht ist (Standard 200.000 pro Durchlauf ≈ zig Millionen Artikel pro Tag Laufzeit).
Max. Post-AlterPosts ignorieren, die älter sind (90d, 6m, 2y) - deckelt Index-Größe und Scan-Zeit.
Auf das Altersfenster begrenzenStandardmäßig an. Löscht auch bereits gespeicherte Releases, sobald sie älter als das Höchstalter werden, sodass der Index ungefähr dieses Fenster hält statt endlos zu wachsen. Aus = nur neue Posts werden gefiltert, Gespeichertes bleibt. Tote Müll-Fragmente (ausgeblendet, nach einer Woche immer noch unvollständig) werden so oder so abgeräumt.
Ingest-FilterJSON-Regeln, die filtern, was in den Index kommt: Arten (verschleierter Müll fliegt standardmäßig raus), Jahr/Auflösung/Sprache, Größengrenzen.
Jetzt scannen / TiefenscanSofort einen Durchlauf starten; mit einer Tiefe werden so viele aktuelle Header neu gescannt.
OMDb-Key / Metadaten erneuern / Index löschenAnreicherungs-Regler der Wand (§6). Löschen baut die Datenbank von Grund auf neu - der Rettungsweg, falls sie je korrumpiert wird.

Bibliothek, Sicherheit, Oberfläche

Bibliothek: Kategorien, die als sofortige Bibliothekseinträge behandelt werden, + Prüfintervall. Sicherheit: der volle API-Key (alles) und der NZB-Key (nur Hinzufügen - bedenkenlos an Indexer-Seiten zu geben), beide live rotierbar. Oberfläche: Klick-Sounds, Desktop-Benachrichtigungen bei Abschluss, Provider-Sortierintervall.

Tempo-Einheiten live bestimmt, wie jede Geschwindigkeit im Dashboard angezeigt wird: Megabyte (MB/s, die Norm bei Download-Managern, Standard) oder Megabit (Mb/s, wie Provider Leitungen angeben). Dateigrößen bleiben in Byte. Das ist eine Eigenschaft des Daemons, nicht deines Browsers, gilt also für jedes Gerät, das auf diese Installation schaut.

Fortgeschritten: Einstellungen ohne Bedienelement

Vier Einstellungen haben weder ein Bedienelement noch ein Kommandozeilen-Flag. Setze sie über die API (§16), z. B. /api?mode=config&name=verify_mode&value=lean&apikey=…. Wie alle anderen landen sie dauerhaft in settings.json.

NameWirkung
verify_modefull | fast | lean (Standard fast). lean ist der Schub für langsame CPUs: wie fast, überspringt aber zusätzlich den yEnc-CRC pro Artikel, sobald PAR2 eine Datei abdeckt, also eine CRC32-Schicht statt zwei. Downloads ohne PAR2 behalten ihre Artikel-CRCs, und die Prüfung und Reparatur am Ende des Jobs bleiben in jedem Fall unverändert. Die Schnellprüfung oben ist dieselbe Steuerung für full gegen fast.
auto_retry_minsWartezeit vor dem einen automatischen zweiten Versuch, den ein erstes Scheitern mit fehlenden Artikeln bekommt (Standard 20). Propagationsverzögerung ist eine echte Ursache fehlender Artikel und löst sich von selbst; dank Journal holt der zweite Lauf nur, was noch fehlt. Passwort- und Takedown-Fehler qualifizieren sich nie.
index_scan_parWie viele Gruppen der Indexer parallel scannt (Standard 3, begrenzt auf 1-8).
oracle_sampleLeerlauf-STAT-Budget des Verfügbarkeits-Orakels (§13), Proben pro Stunde und Server. Standard 300, Maximum 3600, 0 schaltet das Abtasten ganz ab.

10 · Automatisierung

Watchlist

Die einfachste Automatisierung: Titel im Dashboard hinzufügen, Qualitätsvorlieben setzen, fertig. Neue Releases werden geholt, sobald sie in deinen indexierten Gruppen auftauchen; Kopien in besserer Qualität ersetzen frühere Grabs; eine Kalenderansicht zeigt, was ansteht.

RSS-Feeds

Einstellungen → RSS: jede newznab-/Indexer-RSS-URL, mit Intervall, Kategorie und Filterregeln pro Feed (Titelmuster, Größengrenzen). Passende Einträge werden automatisch geladen.

Smarte Ordner

Regeln, die beim Hinzufügen eines Jobs ausgewertet werden: nach Muster/Stichwörtern und Größe matchen, eine Kategorie zuweisen (der erste Treffer gewinnt). Mit eingeschalteter TV-Ablage werden fertige Serien-Episoden umbenannt und abgelegt als Show/Season 01/Show - S01E02.mkv - bereit für Plex/Jellyfin, ganz ohne externes Tool.

Zeitplaner

Der Wochenplan (siehe §9) automatisiert Pause/Fortsetzen/Tempo nach Tageszeit.

Skripte

Ein Nachbearbeitungs-Skript bekommt SABnzbds Positionsargumente und SAB_*-Umgebungsvariablen - das große Ökosystem an SAB-Skripten läuft unverändert.

11 · Sonarr, Radarr & Co.

nzbfast spricht die SABnzbd-API nativ, also funktioniert jedes *arr out of the box - und es kann obendrein ihr Indexer sein.

Als Download-Client

  1. In Sonarr/Radarr: Settings → Download Clients → SABnzbd hinzufügen.
  2. Host: deine nzbfast-Maschine · Port: 6789 · API-Key: dein voller API-Key (Einstellungen → Sicherheit; das QR-/Kopier-Element ist gleich daneben).
  3. Kategorie nach Wunsch (z. B. tv / movies). Test → grüner Haken → Save.

Warteschlange, Verlauf, Status pro Job, „remove & delete“, Retry und Kategorie-Routing verhalten sich alle so, wie die *arrs es erwarten.

Als Indexer (newznab)

  1. Settings → Indexers → Newznab hinzufügen.
  2. URL: http://<host>:6789/ · API-Pfad: /api · Key: dein API-Key.
  3. nzbfast beantwortet caps-, search-, tvsearch- und movie-Abfragen aus seinem eigenen Index deiner beobachteten Gruppen, und /getnzb/<id> reicht die NZB zurück.
Wozu das?Ein selbst gehosteter Indexer für genau die Gruppen, die dich interessieren: keine Konten, keine API-Limits, Retention so tief, wie du ihn scannen lässt.

12 · Handy & Fernsteuer-Apps

nzbfast implementiert beide großen Fernsteuer-Protokolle, also funktioniert fast jede Handy-/Tablet-App. Nimm das Protokoll, das deine App unterstützt:

Apps, die NZBGet sprechen (nzb360, LunaSea, NZB Unity…)

Feld in der AppWert
TypNZBGet
Host / Portdeine Maschine : 6789
Benutzernamebeliebig (z. B. nzbfast)
Passwortdein API-Key

Die volle JSON-RPC-Oberfläche, die diese Apps nutzen, wird bedient: Status, Warteschlange mit Umsortieren/Pause/Löschen, Verlauf, NZB hinzufügen, Tempolimit, Pause/Fortsetzen, Log.

Apps, die SABnzbd sprechen

Feld in der AppWert
TypSABnzbd
Host / Portdeine Maschine : 6789
API-Keydein API-Key (oder der NZB-Key für Nur-Hinzufügen-Zugriff)

Das Dashboard auf deinem Handy

Öffne einfach http://<machine>:6789 in einem mobilen Browser - das ganze Dashboard und die Wand haben ein Touch-Layout. Das Panel Einstellungen → Fernzugriff zeigt die genauen URLs und einen QR-Code zum Scannen.

13 · Performance-Tools

System-Benchmark

Ein Klick misst deine drei Limits - Netzwerk-Durchsatz (eine echte 8-Sekunden-Messung über mehrere Verbindungen), CPU-Prüfrate und Festplatten-Schreibtempo - und stellt die Antwort voran: deine erwartete maximale Download-Geschwindigkeit und welches Limit die Grenze ist. Der kürzeste Balken ist dein Flaschenhals; die anderen zeigen ihre Reserve. Plane ihn ein (6-stündlich → wöchentlich) und jeder Lauf landet in einer Verlaufstabelle, sodass du siehst, wann Provider, ISP oder Hardware ihr Verhalten geändert haben. Geplante Läufe passieren nur, während die Warteschlange ruht.

Verbindungs-Tuning

Misst einen Provider bei steigender Verbindungszahl und empfiehlt eine Einstellung - mehr Sockets helfen, bis der Provider oder deine Leitung dichtmacht, und manche Provider bestrafen zu viel Fragerei. Alle testen vergleicht jeden Provider und lässt sie dann alle zusammen bursten, um zu prüfen, ob der Pool deine Leitung auslastet.

Server-Diversität

Nimmt per STAT Artikel-Stichproben über alle Alter auf jedem Server und gruppiert Provider nach gemeinsamen Lücken: Provider mit ~100 % gemeinsam fehlenden Artikeln sind dasselbe Backbone (redundant für die Reparatur); unabhängige erweitern deine Abdeckung wirklich. Endet mit einer Empfehlung in Klartext.

Automatische Warteschlangen-Intelligenz

Das Verfügbarkeits-Orakel

Takedowns sind der Hauptgrund, warum ein Usenet-Download scheitert, und sie sind vorhersagbar: dasselbe Release verschwindet auf einem Backbone, während ein anderes es noch hat. nzbfast führt ein kleines Register darüber, was deine eigenen Provider tatsächlich geliefert haben, und gibt ein winziges Leerlaufbudget an STAT-Proben aus (ein paar Hundert pro Stunde und Server, nie während eines Downloads), um es aktuell zu halten. Nutzlast lädt es dafür nie.

Was du davon hast:

Das Urteil ist eine Vorhersage aus Indizien, keine Garantie. Für eine harte Antwort zu einer NZB zählt nzbfast check (§15) die tatsächlichen Artikel.

Speicher-Budget - und was wenig Speicher kostet

Alle Engine-Caches teilen sich ein Budget (Standard ¼ des physischen RAM, gedeckelt auf 256 MB–16 GB). Setz es explizit mit dem Speicher-Budget in den Einstellungen oder mit --mem-limit auf der Kommandozeile.

nzbfast ist gebaut, um dein Netzwerk und deine Festplatte gleichzeitig auszulasten, und RAM ist das, was beides in einem Durchgang möglich macht: Artikel werden dekodiert, geprüft und direkt an ihre endgültigen Offsets geschrieben, sodass Archiv-Volumes die Festplatte nie berühren müssen. Hungere es aus und nichts geht kaputt - jeder Cache hat einen Ausweich-Pfad, und die Engine weicht auf mehr Festplatten-I/O aus, statt zu swappen oder zu scheitern. Aber dieses Ausweichen ist nicht gratis, und bei großen Jobs kannst du es messen.

Gemessen auf einer Maschine und einer Leitung (M1 Ultra, 10 GbE), dieselben Dateien bei jedem Budget. Jeder Lauf lieferte ein korrektes, voll verifiziertes, entpacktes Ergebnis:

Job-GrößeReichlich RAM2-GB-Budget
≈ 8-GB-Maschine
1-GB-Budget
≈ 4-GB-Maschine
256-MB-Budget
≈ 2-GB-NAS
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%

Der Spitzenverbrauch folgt dem Budget, nicht dem Job: Dieser 190-GB-Download läuft in etwa 1,1 GB RAM durch. Was du dafür eintauschst, ist Zeit - und nur bei großen Jobs.

EmpfehlungGib nzbfast grob 2 GB Budget pro 100 GB deines größten Downloads und lass sonst den Standard in Ruhe - ¼ des RAM ist auf den meisten Maschinen schon die richtige Antwort. In der Praxis: 4 GB RAM decken Jobs bis ~35 GB bei vollem Tempo ab; 8–16 GB halten auch 100-GB-plus-Jobs dort; ein 2-GB-NAS wird alles fertigstellen, was du ihm gibst - betrachte es aber als Hintergrund-Downloader, nicht als etwas, das eine schnelle Leitung sättigt.

Auf einem kleinen NAS senk neben dem Budget auch die Verbindungen (2–4). Bei 256 MB Budget und 2 Verbindungen bleibt der Spitzenverbrauch nahe 190 MB - bequem innerhalb dessen, was ein 2-GB-NAS übrig hat. Sei dir bewusst, dass dann die Verbindungszahl limitiert, nicht der Speicher: Derselbe 35-GB-Job brauchte 286 s statt 65 s. Das ist die ehrliche Form dieses Tauschs - er wird immer fertig, und zwar korrekt; er lastet nur die Leitung nicht aus.

Die Benchmarks werden für jedes Release neu gefahren; Methode und Zahlen pro Maschine werden neben den Ergebnissen veröffentlicht.

14 · Updates

15 · Kommandozeile

Alles, was der Daemon kann, ist auch skriptbar. Die Alltagsbefehle:

BefehlZweck
nzbfast setupInteraktive Server-Einrichtung.
nzbfast serveDen Daemon starten (Dashboard + API + Automatisierung). --open öffnet den Browser; --help zeigt die volle Flag-Liste - jede Dashboard-Einstellung hat einen Flag-Zwilling.
nzbfast get file.nzbEine NZB laden, volle Pipeline, ohne Daemon. --preflight bricht früh ab, wenn der Post nicht komplettierbar ist; --password für verschlüsselte Sets.
nzbfast check file.nzbVerfügbarkeits-Urteil - COMPLETE / REPAIRABLE / IMPOSSIBLE - ohne Nutzdaten zu laden.
nzbfast verify DIRDateien gegen das PAR2-Set in einem Verzeichnis prüfen.
nzbfast sysbenchDer System-Benchmark + Diversitäts-Bericht, im Terminal.
nzbfast index / searchGruppen in den Index scannen / ihn durchsuchen, ohne Daemon.
nzbfast import-sabServer aus einer SABnzbd-ini importieren.

Außerdem verfügbar: inspect, probe, bench, bench-cpu, soak, fetch, spots/spot-search/spot-get (Spotnet), make-release-nzb/make-test-nzb (Test-Fixtures). Jeder Befehl nimmt --config und --help. Dazu kommt post: lädt Dateien als yEnc-Artikel hoch und schreibt die passende NZB. Ein Betriebswerkzeug, es verlangt ein ausdrückliches --post-server und wählt nie selbst einen Server aus.

16 · API-Überblick

Basis-Endpunkt: http://host:6789/api?mode=…&apikey=…&output=json - SABnzbd-kompatibel, bestehende SAB-Integrationen funktionieren also unverändert. Zwei Keys: der API-Key (volle Kontrolle) und der NZB-Key (nur Hinzufügen: addfile/addurl).

BereichModes
Warteschlangequeue (mit name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, retry, set_password
Infohistory, status/fullstatus, stats, version, server_stats, usage, log, warnings
Konfigurationget_config, config&name=<setting>&value=… (jedes Einstellungs-Feld), server_save/delete/test/enable/reorder, import_probe/apply
Index & Wandindex_search, index_get, index_stats, index_scan_now, wall, wall_search/fix/refresh/art, dazu newznab unter /api?t=caps|search|tvsearch|movie und /getnzb/<id>
Automatisierungwatchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule
Diagnosesysbench, bench_history, connladder, pooltest, diversity, update_check, update_apply
NZBGet JSON-RPC/jsonrpc - status, listgroups, history, append, editqueue, rate, pause, log (Basic-Auth: beliebiger Benutzer, API-Key als Passwort)
Vorschau / Wiedergabe/stream/<nzo_id> (HTTP-Ranges; das Starten eines geparkten Bibliotheks-Jobs braucht ein ?t=-Token oder den Key), /m3u/<id> (braucht den Key; stellt das Token aus), /wall, /art/…

17 · Dateien & Speicherorte

DateiInhalt
config.local.jsonServer-Zugangsdaten und Optionen pro Server. Vom Assistenten angelegt; in den Einstellungen bearbeitbar. Halte sie privat.
settings.jsonJede im Dashboard geänderte Einstellung. Liegt neben der Config; UI-Werte übersteuern Kommandozeilen-Flags. Lösche einen Key (oder die Datei), um auf Flags/Standardwerte zurückzufallen.
index.dbDer Release-Index (SQLite) + Wand-Metadaten. Kann gefahrlos gelöscht werden - er baut sich durchs Scannen neu auf (Einstellungen → Indexierung → Index löschen erledigt das für dich).
<config>/.spool/Warteschlangen-Zustand (übersteht Neustarts), NZBs pro Job, Verbrauchs-Buch, Benchmark-Verlauf, Poster-Art-Cache.
Artikel-JournalLiegt im Ausgabeordner jedes Jobs, solange er unvollständig ist - treibt Absturz-Resume und Erneut-Versuchen an. Bei Erfolg entfernt.
Externe ToolsKeine nötig - RAR-Entpacken und PAR2-Reparatur sind nativ. Sollte ein exotisches Set je ein externes unrar oder par2 als Fallback brauchen, schaut nzbfast neben seine ausführbare Datei, dann auf den $PATH.

18 · Fehlerbehebung

SymptomPrüfen
Langsame DownloadsLass den System-Benchmark laufen - er nennt den Flaschenhals direkt beim Namen. Ist es das Netzwerk: Verbindungs-Tuning laufen lassen, die Verbindungszahlen pro Server prüfen und sicherstellen, dass deine Provider nicht alle ein Backbone sind (Server-Diversität).
Langsam nur bei sehr großen Jobs
(NAS oder Maschine mit wenig RAM)
Erwartet, und messbar: Ein ausgehungertes Speicher-Budget lagert Caches auf die Festplatte aus und kostet ab ~87 GB 20–40 %. Siehe Speicher-Budget für die Zahlen und wie viel RAM du geben solltest. Kleinere Jobs sind nicht betroffen.
Download scheitert mit „articles missing“Der Post ist abgelaufen oder wurde bei deinen Providern entfernt. Ein zweiter Provider auf einem anderen Backbone rettet die meisten dieser Fälle. nzbfast check sagt das schon vor dem Download voraus. Und die Wand markiert die wahrscheinlich verschwundenen vorab mit ihrem Verfügbarkeitspunkt (§13). Ein erstes Scheitern dieser Art wiederholt sich nach einer Wartezeit einmal von selbst, denn Propagationsverzögerung sieht genauso aus und löst sich von allein.
Fertiges Archiv verlangt ein PasswortDie Verlaufszeile zeigt 🔑 - gib das Passwort dort ein; der Job wird an Ort und Stelle fertig.
Sonarr/Radarr bekommt keine VerbindungPort 6789 erreichbar? API-Key korrekt (voller Key, nicht der NZB-Key)? Client-Typ auf SABnzbd gestellt?
Durchsuchen-Karte bleibt kleinDer Indexer wächst im Hintergrund - prüf, ob unter Einstellungen → Indexierung Gruppen gesetzt sind, und gib „Vertiefen pro Scan“ Zeit, Historie anzusammeln. „Jetzt scannen“ erzwingt einen Durchlauf; die Statuszeile zeigt den Live-Fortschritt.
Wand zeigt falsches/kein ArtworkDetailblatt → ✎ Match korrigieren oder ↻ Metadaten erneuern. Film-Zuordnungen werden mit einem gratis OMDb-Key besser.
Daemon startet nicht: Port belegtEine andere Instanz läuft schon - oder ändere --port.
Wo sind die Logs?Die Log-Karte im Dashboard, oder das Terminal bzw. die Logdatei, mit der du serve gestartet hast.
Hängst du immer noch?Die Log-Karte nennt den Übeltäter meistens - häng ihr Ende an, wenn du ein Problem meldest, zusammen mit deiner nzbfast --version.

nzbfast - dieses Handbuch liegt jedem Release bei. Die hier genannten Einstellungen, Endpunkte und Standardwerte passen zu der Version, mit der es ausgeliefert wurde.