⚡ 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:
- Pipelined NNTP - viele Artikel-Anfragen reisen Rücken an Rücken über jede Verbindung und halten sie auf voller Geschwindigkeit, statt Round-Trips auszusitzen.
- Eine One-Pass-Pipeline - Download, Prüfung und Entpacken überlappen sich. Archiv-Volumes werden im Datenstrom entpackt; bei einem typischen Store-Mode-Post berühren die RAR-Dateien deine Festplatte nie - der Job braucht 1× die Release-Größe statt 2× und ist fertig, sobald der Download fertig ist.
- Multi-Provider-Verbund - jeder konfigurierte Server trägt bei; ein Artikel, der auf einem Backbone fehlt, wird von einem anderen geholt. Langsame oder tote Server bremsen die Warteschlange nie aus.
- Ein Speicher-Budget - die Engine hält sich an eine begrenzte RAM-Zuteilung und weicht bei Bedarf auf die Festplatte aus. Sie bringt deine Maschine nie zum Swappen.
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
- Öffne
nzbfast-<version>-macos.dmgund zieh NzbFast nach Programme (universal: Apple Silicon + Intel). - 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.
- 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.
- Zieh eine
.nzbirgendwo 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
- Führe
nzbfast-<version>-windows-x64-setup.exeaus. 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 Informationen → Trotzdem ausführen. - 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.
- 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
nzbfast import-sab.Dein API-Key
Auf einer wirklich neuen Installation macht sich nzbfast beim ersten Start des Daemons selbst einen API-Key und druckt ihn einmalig in einem Banner direkt unter der Dashboard-Adresse. Ab da braucht jede Anfrage diesen Key, damit Dashboard und API nicht für alles offen stehen, was die Maschine erreichen kann.
Was du damit tust, hängt davon ab, wie du nzbfast gestartet hast:
- Die macOS-App, das Windows-Tray oder
serve --open: nichts. Sie geben den Key an das Browserfenster weiter, das sie öffnen, das Dashboard merkt ihn sich, und du bist bereits angemeldet. - Ein Browser, den du selbst geöffnet hast, oder das Dashboard auf einem Handy oder einer anderen Maschine: Die Seite fragt einmal nach dem Key und merkt ihn sich danach.
- Sonarr, Radarr, nzb360 und Konsorten: Füg ihn dort als SABnzbd- oder NZBGet-Key ein (§11, §12).
Der Key liegt in einer Datei namens apikey neben deiner Config, er
bleibt also über Neustarts hinweg derselbe und du kannst ihn jederzeit wieder
nachlesen. Auf macOS und Linux ist diese Datei nur für das Konto lesbar, das nzbfast
ausführt. Er steht außerdem in der Ausgabe des Daemons selbst - die Log-Karte im
Dashboard hat ihn also, wenn das Terminal weggescrollt ist.
Willst du stattdessen einen eigenen Key verwenden, tipp ihn unter Einstellungen →
Sicherheit ein; er gilt sofort. Dieses Panel ändert den Key, zeigt den aktuellen aber
nie an - lies also die Datei apikey, wenn du den erzeugten Wert
zurückbrauchst. Um ganz ohne Key zu laufen, weil etwas vor nzbfast die Anmeldung
schon erledigt, starte es mit NZBFAST_OPEN=1 in der Umgebung. nzbfast
bleibt dann offen und sagt das beim Start unmissverständlich.
Welche Maschinen den Daemon überhaupt erreichen, ist eine getrennte Entscheidung:
serve --bind. Der Standard ist 0.0.0.0, also jede
Netzwerkschnittstelle, denn eine NAS-Box, ein Handy und ein Sonarr auf einer anderen
Maschine müssen sich alle verbinden können. --bind 127.0.0.1 engt das
auf die Maschine ein, auf der nzbfast läuft - genau das, was du auf einem einzelnen
Desktop willst, auf dem sonst niemand Zugriff braucht.
3 · So funktioniert nzbfast
Ein kurzes Vokabular, damit sich der Rest des Handbuchs leicht liest:
| Begriff | Bedeutung |
|---|---|
| Provider / Server | Ein Usenet-Dienst, bei dem du ein Konto hast (Newshosting, Eweka, XS News…). Jeder erlaubt eine bestimmte Zahl gleichzeitiger Verbindungen. |
| Backbone | Die 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. |
| NZB | Eine kleine XML-Datei, die die Artikel eines Posts auflistet. Das ist das, was du nzbfast fütterst. |
| PAR2 | Reparaturdaten, 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-RAR | Die 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öße | 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% |
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:
- Festplattenplatz. Ein Durchgang braucht 1× die Release-Größe; Clients, die Archiv-Volumes schreiben und dann entpacken, brauchen 2×. Auf einer Testmaschine mit 97 GB frei war ein 87-GB-Job hier in 3 m 08 s fertig - die anderen beiden konnten gar nicht erst laufen.
- Speicher. Beim 190-GB-Job lag der Spitzenverbrauch bei 3,9 GB gegen SABnzbds 9,3 GB - und auf Wunsch erledigt nzbfast denselben Job in etwa 1 GB (siehe Speicher-Budget).
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
- Tempolimit-Menü - feste Limits, auto · LAN hat Vorrang (ein RTT-gesteuerter Modus, der zurückweicht, wenn jemand anderes im Haus die Leitung braucht) oder unbegrenzt.
- Pausieren für… - alles für 15 Min/30 Min/1 Std/3 Std pausieren, mit automatischem Fortsetzen, oder der Pause-Knopf für eine offene Pause. Pause greift sofort: Der aktive Transfer stoppt binnen Sekunden und setzt später aus dem Journal fort, ohne etwas zu verlieren. (Jobs mit Priorität „Erzwingen“ laden weiter, wie bei SABnzbd.)
- Ein Update-Banner erscheint hier, wenn eine neue Version verfügbar ist (siehe Updates).
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
- Zeilen ziehen zum Umsortieren (innerhalb eines Prioritätsbands - Erzwingen/Hoch läuft trotzdem zuerst); Priorität direkt in der Zeile ändern.
- Klick auf eine Zeile für die Detail-Schublade: Fortschrittsbalken pro
Datei, Prüf-Blockzähler, welcher Server wie viel zu diesem Job
beigetragen hat, und eine „Hinzugefügt von“-Zeile, die sagt, woher der Job kam
(Watch-Ordner, eine verbundene App, die API…). Eine Schaltfläche
.nzb herunterladen speichert dir die
.nzb-Datei des Jobs - nzbfast behält eine eigene Kopie, das funktioniert also für jeden Job, auch wenn die Originaldatei längst weg ist. - Badges zeigen Sonderzustände: zurückgestellt (langsam), Prefetch, pausiert (siehe Performance-Tools).
- Ein Burn-down-Diagramm verfolgt die verbleibenden GB über die ganze 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, eine Zeile je Download. 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.
Die Schublade jeder Zeile sagt, wer den Job hinzugefügt hat, und hat dieselbe
Schaltfläche .nzb herunterladen wie die Warteschlange - praktisch, um ein
Release woanders noch einmal herunterzuladen oder die .nzb an eine
Problemmeldung anzuhängen.
Die Karte listet standardmäßig zehn Downloads, der Rest ist einen Klick entfernt, über die Schaltfläche ▤. Status, Ort und der Grund eines Fehlschlags liegen hinter einem Klick auf die Zeile selbst, damit der häufige Fall - was fertig wurde, wie groß, wann - ohne Scrollen lesbar bleibt. Zieh stattdessen die Unterkante der Karte, damit die Liste auf einer von dir gewählten Höhe scrollt. History rows unter Einstellungen → Oberfläche ändert die Zehn; da es eine Eigenschaft des Daemons ist und nicht deines Browsers, gilt es für jedes Gerät, das auf diese Installation schaut. Colour History names daneben färbt fertige Namen grün und fehlgeschlagene rot; ausgeschaltet bleiben die Namen schlicht, und der farbige Punkt wie auch die Details der Zeile sagen weiterhin, was was ist.
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
| Methode | So geht’s |
|---|---|
| Drag & Drop | Zieh eine oder mehrere .nzb-Dateien irgendwo aufs Dashboard. |
| Watch-Ordner | Leg in den Einstellungen einen Ordner fest; jede dort
gespeicherte .nzb wird binnen 5 Sekunden aufgegriffen und in den
Papierkorb verschoben, und ein offenes Dashboard meldet jede Übernahme beim Namen
(„… aus Downloads übernommen“), sodass eine Datei, die aus dem Ordner verschwindet,
nie ein Rätsel bleibt. Du behältst deine Dateien lieber? Schalte .nzb-Dateien
nach Übernahme behalten ein (siehe §9). Richte den
Download-Ordner deines Browsers dorthin - für Ein-Klick-Grabs
von Indexer-Seiten. |
| Von einer URL | Füge einen NZB-Link ein (API mode=addurl, oder über jede verbundene App). |
| nzblnk:-Links | Füge einen nzblnk:-Link irgendwo im Dashboard ein oder zieh ihn hinein. Aus dem macOS-DMG oder dem Windows-Installer installiert, kannst du auch direkt auf einem Board einen anklicken. Siehe nzblnk-Links weiter unten. |
| Index durchsuchen | Klick ein vollständiges Release in der Durchsuchen-Karte an. |
| Watchlist / RSS | Automatisch - siehe Automatisierung. |
| Sonarr/Radarr etc. | Sie schicken Grabs direkt in die Warteschlange - siehe §11. |
| Kommandozeile | nzbfast get file.nzb lädt ohne den Daemon. |
Kategorien, Prioritäten, Passwörter
- Kategorien sind freie Etiketten; jede wird zu einem Unterordner deines Download-Ordners, und Smarte Ordner (siehe §10) können sie per Regel zuweisen.
- Prioritäten: Erzwingen > Hoch > Normal > Niedrig. Erzwingen umgeht Pause und Quota.
- Passwörter für verschlüsselte Archive werden automatisch übernommen aus
<meta type="password">in der NZB, einem DateinamenName{{password}}.nzboder dem Feldp=eines nzblnk-Links, und lassen sich pro Job über die API oder nachträglich aus dem Verlauf (🔑) angeben.
nzblnk-Links
Manche Boards, vor allem deutsche und niederländische, geben einen
nzblnk:-Link statt einer NZB-Datei heraus. Der Beitrag ist verschleiert,
es gibt also gar keinen Dateinamen, auf den man verlinken könnte. Der Link trägt
stattdessen einen Header, h=, der ein Suchschlüssel ist und kein Ort,
dazu optional einen Titel t=, ein Passwort p= und eine
Gruppe g=. Irgendwer muss den Beitrag also erst suchen gehen.
nzbfast schlägt den Header zunächst im eigenen Index nach, wofür überhaupt kein Netz nötig ist, und fragt erst bei einem Fehlschlag die von dir eingerichteten Suchindexer (Einstellungen → Suchindexer, §9), unter denselben Tagesbudgets und demselben Backoff wie jede andere Suche. Der Titel wird zum Job-Namen, das Passwort wird dem Job automatisch mitgegeben.
- Einfügen oder Ziehen geht auf jeder Installation, Docker und NAS eingeschlossen: Link vom Board kopieren und irgendwo im Dashboard einfügen.
- Anklicken setzt voraus, dass das Schema bei deinem Desktop registriert ist. Die App aus dem macOS-DMG registriert es, und der Windows-Installer bietet es als Aufgabe an: er fragt vorher und lässt das Schema in Ruhe, wenn NZB Monkey oder NZBDonkey es schon hält. Das reine macOS-Tarball, Homebrew und die Linux-Installationen haben keinen Desktop-Handler, dort ist Einfügen der Weg hinein.
- Das Auflösen ist absichtlich ratenbegrenzt. Ein registriertes Schema liegt eine Browser-Abfrage von jeder Seite entfernt, die du besuchst, also sind Links pro Minute gedeckelt und nur die ersten paar einer Minute dürfen deine Indexer erreichen; danach wird allein aus dem lokalen Index geantwortet.
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.
- Reiter für Filme / Serien / Sonstiges, Sofortsuche und sieben Sortierungen: Für dich, Neueste Posts, Erscheinungsjahr, Top bewertet, Titel A–Z, Größte und Am meisten gepostet.
- Nur zugeordnete ist standardmäßig an und blendet unidentifizierten Müll aus; ein Chip „+N ohne Match“ zeigt ihn.
- Klick eine Kachel für das Detailblatt: Handlung, IMDb-Bewertung und -Stimmen, Besetzung - und ▶ Abspielen (sofort als Vorschau ansehen, siehe §7) oder ⬇ Download.
- ✎ Match korrigieren - hat ein Titel die falsche Serie oder den falschen Film erwischt, wähl den richtigen aus den Kandidaten-Postern, oder trag Titel/Jahr/Art von Hand ein. Manuelle Angaben überschreibt der Enricher nie. ↻ Metadaten erneuern lädt einen Titel neu; Einstellungen → Indexierung kann alle erneuern oder den ganzen Index löschen und neu aufbauen.
- Metadaten kommen standardmäßig ohne Key - TVmaze, iTunes, IMDb-Datensätze, Wikidata, Wikipedia und AniList brauchen keine Konten. Ein OMDb-Key (gratis, nur eine E-Mail-Anmeldung - ein Anmeldehelfer steckt in Einstellungen → Indexierung) verbessert das Film-Matching; ein TMDB-Key wird genutzt, falls du schon einen hast.
- Für dich ordnet die Wand nach einem Geschmacksprofil, das auf diesem Rechner aus deinem eigenen abgeschlossenen Verlauf und deiner Merkliste entsteht: bevorzugte Genres, ob du eher zu Film oder Serie neigst, und ungefähr welche Ära. Titel, die du schon hast, rutschen nach unten statt zu verschwinden, und eine Zeile „Weil du … schaust“ nennt den Grund. Ohne Verlauf fällt die Sortierung auf Am meisten gepostet zurück, der Reiter ist also nie leer. Nichts davon verlässt den Daemon.
- Kein Interesse auf einer Kachel blendet den Titel aus, und wer ein paar ähnliche ausblendet, bringt der Wand etwas bei: sie schlägt einen Filter vor, den ein Klick übernimmt („Alle Reality-Titel ab jetzt ausblenden?“). Alles Ausgeblendete und jeder gelernte Filter steht unter Ausgeblendet & Filter und lässt sich dort zurücknehmen.
- Ein kleiner Verfügbarkeitspunkt auf einer Kachel ist das Urteil des Orakels (§13): gelbes „?“ heißt unsicher bei deinen Providern, rot heißt, die Teile fehlen immer wieder. Ganze Gruppen, die gerade abgeräumt werden, tragen ein abgeräumt-Abzeichen.
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.
- ▶ Abspielen auf der Wand (oder
/m3u/<id>) reicht deinem Medienplayer eine URL; der Daemon startet den Download dahinter oder nutzt den laufenden weiter. - Der Endpunkt
/stream/<nzo_id>liefert die Datei mit voller HTTP-Range-Unterstützung, während sie lädt. An jeder Stelle prüfen funktioniert: Spring stichprobenartig zu Minute 40 und die Artikel dieser Region werden an die Spitze der Download-Warteschlange befördert - es öffnet dort in ein paar Sekunden statt in Minuten. Kopf und Ende der Datei werden zuerst geholt, damit Player ihre Index-Daten sofort finden. - Bibliotheks-Modus: In library_cats gelistete Kategorien werden zu
sofortigen, reinen Metadaten-Einträgen - eine
.strm-Datei erscheint sofort, die Verfügbarkeit wird im Hintergrund verifiziert, und der echte Download startet, wenn du sie zum ersten Mal öffnest.
/stream-URLs. Zum Prüfen von einer anderen Maschine nimm die LAN-Adresse
deiner Maschine statt localhost./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:
| Feld | Hinweise |
|---|---|
| Host / Port | Nimm den SSL-Port 563. TLS kostet nichts Messbares - nzbfast verschlüsselt immer. |
| Benutzername / Passwort | Lokal in config.local.json gespeichert, nie zurück an den Browser gezeigt. Das Passwort beim Bearbeiten leer lassen behält das gespeicherte. Passwörter werden auf der Platte verschleiert, nicht verschlüsselt. |
| Verbindungen | Gleichzeitige 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 %). |
Lass etwas Luft unter dem Verbindungslimit deines Kontos. Die Verbindungszahl etwas unter das Limit zu setzen kostet nichts: der Durchsatz flacht schon vor den letzten ein, zwei Verbindungen ab, und Verbindungs-Tuning (§13) landet ohnehin meist darunter. Die freien Plätze sind es, durch die ein zweites Gerät, ein anderes Programm oder ein neuer Versuch nach einem abgebrochenen Socket noch hineinkommt, statt abgewiesen zu werden, während hier jeder Platz belegt ist.
Wie deine Provider-Passwörter gespeichert werden
Provider-Passwörter in config.local.json sind verschleiert, nicht
verschlüsselt. Sie werden als obf1: gefolgt von einer kodierten Form
abgelegt, damit die Datei sich nicht als Klartext liest, wenn sie in einem Screenshot,
einem Forenbeitrag, einem Fehlerbericht oder auf einem Bildschirm auftaucht, den
jemand anderes sehen kann.
Sagen wir klar, was das bringt und was nicht:
- Es ist keine Verschlüsselung und schützt in keiner Weise vor jemandem, der die Datei hat. Das Verfahren steht in unserem öffentlichen Quelltext und der Dekoder steckt in nzbfast selbst, wer die Datei hat, holt das Passwort in Sekunden heraus. Behandle die Datei genau so geheim, wie du es tätest, wenn die Passwörter lesbar wären.
- Es beseitigt das beiläufige Leck, und das ist das häufige. Configs werden weit öfter in Support-Threads eingefügt und in Screenshots festgehalten, als sie von der Platte gestohlen werden.
- Ein Passwort, das du selbst im Klartext eingetragen hast, funktioniert weiterhin. nzbfast liest beide Formen, von Hand bearbeitete Configs und Importe aus anderen Clients gehen also nie kaputt; beim nächsten Speichern schreibt es die verschleierte Form.
- Die Datei wird außerdem nur für das Konto lesbar geschrieben, unter dem nzbfast läuft (Modus 0600 auf macOS und Linux).
Zum Vergleich: NZBGet und SABnzbd speichern Provider-Passwörter beide als lesbaren Klartext in ihren Konfigurationsdateien. Wir halten Verschleierung für eine kleine Verbesserung darüber, nicht für ein Sicherheitsmerkmal.
Warum nicht der System-Schlüsselbund? macOS Keychain, die Windows- Anmeldeinformationsverwaltung und die Linux-Secret-Dienste würden echten Schutz bieten, und wir schauen uns das vielleicht noch einmal an. Zwei Dinge halten uns heute davon ab. Der Zugriff auf den Schlüsselbund hängt an der Identität der Anwendung, und nzbfast ist noch nicht signiert, also sind die Abfragen und das Verhalten nach jedem Update schlecht. Und ein großer Teil der Installationen sind Docker, Server ohne Bildschirm und NAS-Geräte, wo es überhaupt keinen Schlüsselbund gibt, was zwei verschiedene Speicherpfade hinterließe, die korrekt bleiben müssen. Ein einziges, gut verstandenes Format, das sich überall gleich verhält, ist vorerst der bessere Handel.
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üssel | Hinweise |
|---|---|
bind_ip | Bindet 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. |
socks5 | Schickt 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. |
- Das Häkchen neben jedem Server ist sein Ein/Aus-Schalter: gesetzt heißt, der Server ist im Download-Pool, nicht gesetzt heißt deaktiviert. Ein deaktivierter Server behält Zugangsdaten und Einstellungen und lässt sich weiterhin testen; er wird nur nie nach Artikeln gefragt. Seine Zeile wird blass, die Zählung in der Überschrift (2 von 3 aktiv) sinkt, und die Änderung gilt ab dem nächsten Download. Praktisch, um ein Block-Konto zu schonen, das du aufsparst, oder um einen Provider als Ursache eines Problems zu überführen, ohne ihn zu löschen.
- Verbindung testen macht einen echten Connect + TLS + Login und meldet die Round-Trip-Zeit.
- Aus SABnzbd / NZBGet importieren… durchsucht die üblichen Installationsorte, zeigt die Funde und übernimmt die Server (Duplikate werden übersprungen).
- Server-Änderungen gelten ab dem nächsten Download - kein Neustart.
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
| Einstellung | Was sie bewirkt |
|---|---|
| Tempolimit | Limit in Bytes/Sek. (50M, 1G, 0 = unbegrenzt). Fernsteuer-Apps schicken womöglich Prozente - setz das Leitungstempo, damit sie richtig übersetzt werden. |
| Auto-Tempo | RTT-gesteuertes Limit, das anderem Verkehr im Haushalt weicht und sich wieder ausdehnt, wenn die Leitung ruhig ist. |
| Langsame Downloads zurückstellen | Ein 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 Servern | Server, die dem aktiven Job nichts nützen, starten den nächsten eingereihten. Siehe §13. |
| Auto-Update / Update-Check-URL | Siehe §14. |
| Leitungstempo | Die Nenngeschwindigkeit deines Anschlusses - ermöglicht Prozent-Limits aus SABnzbd-kompatiblen Apps. |
| Wochenplan | Zeileneditor 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.
Prüfung während des Downloads wählt, wie viel schon beim Eintreffen geprüft wird. Vollständig bestätigt jeden PAR2-Block per MD5. Schnell (die Vorgabe) belegt Blöcke stattdessen per CRC32, was auf einer langsamen CPU 2-3x schneller ist, und prüft weiterhin die eigene Prüfsumme jedes Artikels. Sparsam überspringt zusätzlich diese Artikel-Prüfsummen, sobald PAR2 eine Datei abdeckt: ein Schaden fällt dann einen Moment später auf, bei seinem Block. In allen dreien rechnen der abschließende Durchgang und jede Reparatur volles MD5, und ein Download ohne PAR2-Dateien behält seine Artikel-Prüfsummen.
Festplatte & Quota live
Minimaler freier Platz (neue Jobs darunter pausieren; standardmäßig 2 GB, 0 schaltet es ab), 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.
| Einstellung | Wirkung |
|---|---|
| Auflösung einbeziehen | Setzt 1080p, 2160p… in den Namen. Standardmäßig an; die anderen vier Kennzeichen sind aus. |
| Video-Codec einbeziehen | x265, x264, AV1… |
| Audio-Codec einbeziehen | Atmos, DTS-HD, AC3… |
| Quelle einbeziehen | BluRay, WEB, REMUX… |
| Release-Gruppe einbeziehen | Das -GROUP-Kennzeichen am Ende. |
| Müll-Dateien entfernen | Standardmäß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 behalten | Standardmäß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. |
| Keep the other words in the name | Standardmäßig an. Sport, Rennen und andere Events sind oft ein und derselbe Titel, die ganze Saison lang wiederholt und nur ein oder zwei Wörter auseinander - "Round11 Hungary Race" gegen "Round11 Hungary Qualifying". Diese Wörter zu behalten ist das, was verhindert, dass eine ganze Saison zum selben Namen zusammenfällt. Greift nur dort, wo der Name sich anders nicht aufräumen ließ, gewöhnliche Filme und Folgen bleiben also unberührt. |
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.
Gelöschte Dateien in den Papierkorb entscheidet, was "löschen" oben bedeutet. Ist die Option an, verschiebt die Bereinigung Dateien in den Papierkorb des Systems, sodass eine falsche Einschätzung darüber, was Müll war, rückgängig gemacht werden kann; ist sie aus, werden sie endgültig gelöscht. Sie ist unter macOS und Windows standardmäßig an, wo der Papierkorb ein Ort ist, den Sie sehen und leeren können, und unter Linux standardmäßig aus, wo das meist nicht der Fall ist.
.Trash-1000 (die Zahl ist Ihre Benutzer-ID) oben auf der
Download-Festplatte an und verschieben die Dateien dorthin. Nichts zeigt Ihnen
diesen Ordner, nichts leert ihn, und der Platz, den er belegt, kommt nie zurück.
Wenn Sie eine frühere Version von nzbfast unter Linux mit dieser Option betrieben haben, suchen Sie diesen Ordner im Wurzelverzeichnis Ihrer Download-Freigabe. Sie können ihn gefahrlos leeren: Alles darin ist eine Datei, von der die Bereinigung bereits entschieden hatte, dass Sie sie nicht wollten. nzbfast leert ihn nicht für Sie, denn er liegt auf Ihrer Festplatte, und das Urteil darüber steht Ihnen zu.
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).
.nzb-Dateien nach Übernahme behalten (standardmäßig aus) lässt die
ursprüngliche .nzb nach dem Einreihen im Watch-Ordner liegen, statt
sie in den Papierkorb zu verschieben - für Sammler, und um die Datei
weiterzugeben, wenn ein Download Probleme macht. Eine behaltene Datei wird
gemerkt, auch über Neustarts hinweg, und nicht erneut eingereiht; speichere sie
neu, um sie erneut herunterzuladen. Wie auch immer du dich entscheidest: Die
Schublade jedes Jobs hat eine Schaltfläche .nzb herunterladen, eine Kopie
der .nzb eines Jobs ist also nie mehr als einen Klick entfernt.
Indexierung live
| Einstellung | Was sie bewirkt |
|---|---|
| Eingebauter Indexer | Der Hauptschalter, aus, solange du ihn nicht einschaltest. Aus heißt: kein Scannen, keine Metadaten-Abfragen, keine Verfügbarkeitsstichproben und kein newznab-Feed; ein bereits auf der Platte liegender Index bleibt erhalten (es gibt einen Löschknopf), das Wiedereinschalten setzt also fort statt neu zu scannen. |
| Gruppen | Newsgroups, die der eingebaute Indexer scannt (z. B. alt.binaries.teevee). |
| Scan-Intervall | Sekunden zwischen den Durchläufen (Standard 900). |
| Backfill-Artikel | Header, die beim allerersten Scan einer Gruppe geholt werden. |
| Vertiefen pro Scan | Jeder 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-Alter | Posts ignorieren, die älter sind (90d, 6m, 2y) - deckelt Index-Größe und Scan-Zeit. |
| Auf das Altersfenster begrenzen | Standardmäß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-Filter | JSON-Regeln, die filtern, was in den Index kommt: Arten (verschleierter Müll fliegt standardmäßig raus), Jahr/Auflösung/Sprache, Größengrenzen. |
| Jetzt scannen / Tiefenscan | Sofort einen Durchlauf starten; mit einer Tiefe werden so viele aktuelle Header neu gescannt. |
| OMDb-Key / Metadaten erneuern / Index löschen | Anreicherungs-Regler der Wand (§6). Löschen baut die Datenbank von Grund auf neu - der Rettungsweg, falls sie je korrumpiert wird. |
| Pre-Feed | Aus, bis du ihn einschaltest. Viele Uploads werden ohne ihren Namen veröffentlicht, ein Scan hat dann nichts zu lesen. Öffentliche Relay-Kanäle kündigen den echten Namen an, der einzige offene Weg, solche Posts zuzuordnen. Einschalten hält eine Verbindung zu einem IRC-Netz offen und hört zu: gesendet wird nie etwas, ein Konto wird nicht angelegt. Braucht den Indexer, denn ein Feed ohne Ablage für das Gehörte ist nur ein offenes Socket. |
| Relay-Server, Relay-Kanäle | Das IRC-Netz, das die Ankündigungen trägt (Host oder Host:Port), und die kommagetrennten Kanäle. Eine Änderung greift beim nächsten Verbinden: Feed aus und wieder an, um sie sofort anzuwenden. |
| Über Korrelation benennen | Die öffentlichen Live-Relays führen keine Dateinamen, die meisten verschleierten Posts lassen sich also nicht direkt zuordnen. Was eine Ankündigung festhält, ist der Zeitpunkt und die Größe. Dies vergleicht Ankündigungszeit und -größe mit namenlosen Posts und schlägt bei Passung den echten Namen unter Durchsuchen vor. Ein Vorschlag ist als solcher markiert, braucht deinen Klick und benennt nie Dateien auf der Platte um. |
| Starke Treffer automatisch anwenden | Standardmäßig aus, und streng, wenn an: die Größe muss eng passen, keine andere Ankündigung darf fast genauso gut passen, und die Ankündigung muss diesen Post in der Gegenprobe zurückwählen. Ein angewandter Name ändert nur die Anzeige, ist als abgeleitet markiert und verschwindet von selbst, wenn ein fertiger Download ihn widerlegt. Alles Schwächere bleibt ein Vorschlag. |
| Ankündigungs-Historie | Der Live-Feed hört nur, was nach dem Einschalten angekündigt wird. Dies holt rund sechs Monate frühere Ankündigungen von einer öffentlichen Pre-Datenbank, höflich und einmalig, damit auch bereits indizierte Posts zugeordnet werden können. Läuft etwa eine halbe Stunde im Hintergrund. |
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. Jedes der beiden Felder ersetzt den Key, zu dem es gehört, sobald du das Feld verlässt, und ein leer gelassenes Feld behält den Key, den es schon hat. Der API-Key hat zusätzlich Show, das den aktuellen Key anzeigt und kopiert, damit du ihn in Sonarr, Radarr oder NZB360 einfügen kannst, wann es dir passt, und Create new, das einen Ersatz erzeugt - der alte Key hört sofort auf zu funktionieren, alles bereits Verbundene braucht also den neuen. Beide hängen am API-Key selbst: der reine Hinzufügen-NZB-Key kann ihn nicht lesen, was genau der Sinn dieses Keys ist. Woher der Key bei einer neuen Installation kommt, steht in §2. 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: die Stellschrauben hinter den offensichtlichen
Sechs Einstellungen ohne Kommandozeilen-Flag. Jede hat jetzt eine erweiterte Zeile auf
der Einstellungskarte, zu der sie gehört, und bleibt über die API setzbar
(§16), z. B.
/api?mode=config&name=verify_mode&value=lean&apikey=…. Wie
alle anderen landen sie dauerhaft in settings.json.
| Name | Wirkung |
|---|---|
verify_mode | full | 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 Auswahl Prüfung während des Downloads oben ist diese Einstellung. |
auto_retry_mins | Wartezeit 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_par | Wie viele Gruppen der Indexer parallel scannt (Standard 3, begrenzt auf 1-8). |
oracle_sample | Leerlauf-STAT-Budget des Verfügbarkeits-Orakels (§13), Proben pro Stunde und Server. Standard 300, Maximum 3600, 0 schaltet das Abtasten ganz ab. |
predb_max_rows | Wie viele Pre-Ankündigungen die Feed-Tabelle behält (Standard 250000, begrenzt auf 10000-5000000). Der stündliche Schnitt kürzt auf diesen Wert, und der historische Import verweigert den Start, sobald er darüber hinausginge - so fügt ein Import nie Zeilen hinzu, die der nächste Schnitt löscht. |
predb_seed_days | Wie weit ein historischer Import zurückreicht, wenn er ohne eigenes Fenster gestartet wird (Standard 180 Tage, Maximum 366). Ein größeres Fenster bedeutet mehr Anfragen an die Pre-Quelle, die auf eine alle zwei Sekunden getaktet ist. |
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
- In Sonarr/Radarr: Settings → Download Clients → SABnzbd hinzufügen.
- Host: deine nzbfast-Maschine · Port: 6789 · API-Key: dein voller API-Key (wo du ihn findest: §2).
- 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)
- Settings → Indexers → Newznab hinzufügen.
- URL:
http://<host>:6789/· API-Pfad:/api· Key: dein API-Key. - nzbfast beantwortet
caps-,search-,tvsearch- undmovie-Abfragen aus seinem eigenen Index deiner beobachteten Gruppen, und/getnzb/<id>reicht die NZB zurück.
<error code="101"> statt mit einem leeren Ergebnis, ein
Fehler fällt also beim Hinzufügen des Indexers auf und nicht erst Wochen später.Warum das Ganze? Ein selbst gehosteter Indexer genau der Gruppen, die dich interessieren: keine Konten, keine API-Limits, Rückreichweite so tief, wie du ihn scannen lässt. Er ist eine Ergänzung zu deinen üblichen Indexern und kein Ersatz, denn er findet nur, was unter einem echten Dateinamen gepostet wurde.
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 App | Wert |
|---|---|
| Typ | NZBGet |
| Host / Port | deine Maschine : 6789 |
| Benutzername | beliebig (z. B. nzbfast) |
| Passwort | dein 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 App | Wert |
|---|---|
| Typ | SABnzbd |
| Host / Port | deine Maschine : 6789 |
| API-Key | dein 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.
nzbfast von außerhalb erreichen
Es gibt keine Anmeldeseite, und das ist Absicht. Eine Anmeldung per Session-Cookie ist eine Sicherheitsfläche, die dauerhaft gepflegt werden muss, und sie wäre trotzdem das schwächste Schloss an allem, was im offenen Internet steht. nzbfast authentifiziert stattdessen mit Ihrem API-Schlüssel und nimmt diesen Schlüssel ebenso im Anfrage-Header wie in der URL entgegen (X-Api-Key oder Authorization: Bearer) - genau das erlaubt es einer vorgeschalteten Instanz, die Anmeldung sauber zu übernehmen.
Am einfachsten ist es, gar nichts zu veröffentlichen. Installieren Sie Tailscale auf diesem Rechner und auf Ihrem Telefon, und beide sind im selben privaten Netz: nichts ist exponiert, weder Router- noch Zertifikatsarbeit fällt an, und Einstellungen → Fernzugriff zeigt eine Adresse für überall, sobald Tailscale läuft. Nehmen Sie diesen Weg, sofern Sie nicht ausdrücklich eine öffentliche Domain brauchen.
Falls doch, setzen Sie einen Reverse-Proxy davor, geben Sie ihm das Zertifikat und lassen Sie ihn die Authentifizierung erledigen. Starten Sie nzbfast mit --bind 127.0.0.1, damit der Proxy der einzige Weg hinein ist, und richten Sie den Proxy auf 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;
}
Legen Sie darüber, was Ihr Proxy bietet: Basic Auth, einen Forward-Auth-Dienst wie Authelia oder Authentik, oder Client-Zertifikate. Eine Sache erwischt alle - Sonarr, Radarr und die Telefon-Apps können keine Browser-Anmeldung durchlaufen, lassen Sie ihnen also einen Weg daran vorbei. Die meisten Proxys können eine Anfrage mit gültigem X-Api-Key-Header durchlassen und alles andere abfragen.
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
- Auto-Zurückstellen: Ein Download, der an einem einzelnen langsamen Server humpelt, während andere Jobs warten, wird ans Ende geparkt (das Journal bewahrt seinen Fortschritt) und erneut versucht, sobald die Warteschlange frei ist.
- Prefetch auf freien Servern: Server, die dem aktiven Job nicht helfen können (ihre Kopien sind weg), laden derweil schon den nächsten eingereihten Job. Kein anderer Client überlappt Jobs so.
- Job-übergreifendes Ausklingen: Während der Schwanz eines fertigen Jobs (Prüfen/Entpacken) auf der Festplatte ausläuft, gehört die Leitung schon dem Download des nächsten Jobs.
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:
- Ein Verfügbarkeitsurteil auf Wand-Kacheln und Index-Zeilen (§6): gelbes „?“ für unsicher bei deinen Providern, rot für zuversichtlich weg. Kein Zeichen heißt, es sieht gut aus.
- Ein abgeräumt-Abzeichen bei Gruppen, in denen frische Posts schon wieder entfernt werden: so unterscheidest du eine sterbende Gruppe von einem Pechtreffer.
- Provider überspringen, die laut Orakel nichts mehr haben (Einstellungen, standardmäßig aus, experimentell): ist die Prüfung sicher, dass ein Backbone ein Release verloren hat, wird dieser Provider für den Download gleich übersprungen, statt auf sein Scheitern zu warten. Deinen letzten verbliebenen Provider überspringt er nie.
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öße | Reichlich RAM | 2-GB-Budget ≈ 8-GB-Maschine | 1-GB-Budget ≈ 4-GB-Maschine | 256-MB-Budget ≈ 2-GB-NAS |
|---|---|---|---|---|
| 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% |
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.
- Bis ~35 GB ist wenig Speicher gratis. Das Arbeitsset passt sowieso, also ist eine 4-GB-Maschine mit so einem Job genauso schnell fertig wie eine mit 64 GB.
- Ab ~87 GB zahlst du 20–40 % - aber nur, wenn deine Leitung deiner Festplatte davonläuft. Prüfblöcke und Archiv-Volumes, die im RAM geblieben wären, werden stattdessen rausgeschrieben und wieder eingelesen, und das kostet nur dann Zeit, wenn das Netzwerk schneller liefern kann, als die Festplatte den Zusatzverkehr wegsteckt. Die 20–40 % oben wurden auf 10 GbE gemessen; derselbe 87-GB-Job mit denselben Budgets auf einer ~2,4-Gbps-Leitung zeigte überhaupt keine Strafe (−1 bis +7 %, im Rauschen der Läufe). Die Strafe hängt davon ab, wie weit die Leitung der Festplatte davonläuft, nicht von der Job-Größe - auf einem typischen Heimanschluss ist ein kleines Budget selbst bei sehr großen Jobs nahezu gratis.
- Die Strafe flacht ab. Sobald ein Job groß genug ist zu spillen, spillt jedes beschränkte Budget etwa gleich viel - die Läufe mit 2 GB, 1 GB und 256 MB lesen im Kern gleich viele Blöcke von der Festplatte zurück und liegen im Rauschen beieinander. Ein bisschen mehr RAM unterhalb der Schwelle, ab der gar nicht mehr gespillt wird, kauft die Kosten also nicht zurück: Gib ihm genug, um den Job im Speicher zu halten - sonst ist die genaue Zahl fast egal.
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
- Updates sind reine Benachrichtigungen: nzbfast lädt sein eigenes Binary nie herunter und ersetzt es nie, und es enthält keinen Code, der das könnte. Gibt es eine neue Version, zeigt die Kopfzeile ⬆ v X verfügbar - herunterladen; der Chip führt zur offiziellen Download-Seite (der Link ist fest in der App, er kommt nie aus dem Update-Manifest). Installiere die neue Version genauso, wie du die aktuelle installiert hast.
- nzbfast prüft zweimal täglich auf neue Versionen. Schalte Auf Updates prüfen (Einstellungen) aus und es kontaktiert das Update-Manifest gar nicht mehr; eine leere Update-Check-URL bewirkt dasselbe.
Aktualisieren, ohne deine Einstellungen zu verlieren
Eine Regel gilt für jede Installation: ein Update ersetzt das Programm, nie deine Einstellungen. Alles, was du konfiguriert hast - Server, Pfade, der API-Key, die Warteschlange - liegt in einer Handvoll Dateien in einem Ordner (§17), und kein Installer, kein Image-Pull und kein Paket-Upgrade rührt diesen Ordner an. Wenn Einstellungen nach einem Update doch verschwunden wirken, liegt das fast immer daran, dass die neue Installation einen anderen, leeren Ordner liest, nicht daran, dass irgendetwas gelöscht wurde; die alten Dateien liegen noch genau dort, wo sie immer lagen. §18 hat die Schritte zur Wiederherstellung.
| Installation | So aktualisierst du |
|---|---|
| macOS-App | Öffne das neue DMG und zieh NzbFast nach Programme, ersetz dabei die alte. Dein Datenordner ist separat und wird nicht angetastet. |
| Windows-Installer | Lass das neue Setup über die alte Installation laufen. Dein Datenordner ist separat und wird nicht angetastet. |
| Docker (Kommandozeile) | docker pull nzbfast/nzbfast,
entferne den alten Container und starte den neuen mit exakt denselben
-v-Zuordnungen. Das Image ist wegwerfbar; der eingebundene
/config-Ordner ist deine Installation. Nutzt dein Startbefehl einen
relativen Pfad wie -v ./config:/config, führ ihn jedes Mal aus
demselben Verzeichnis aus - von überall sonst ist ./config ein
anderer, leerer Ordner. |
| Docker Compose | docker compose pull && docker compose
up -d, mit derselben Compose-Datei am selben Ort. Das
./config in der Datei ist am Ordner der Datei selbst verankert,
lass die Datei also, wo sie ist. |
| Watchtower | Nichts zu tun: Es erstellt den Container mit denselben Zuordnungen neu, sobald ein neues Image erscheint. |
| Unraid | Docker-Tab → Check for Updates → Apply
Update. Aktualisiere nie, indem du die App entfernst und neu hinzufügst;
falls du doch einmal neu installierst, behalte denselben appdata-Pfad, damit sie
dein bestehendes /config findet. |
| Synology (Container Manager) | Lade das neue Image herunter, stopp den Container und erstelle ihn mit denselben Volume-Einstellungen neu - die Schritt-für-Schritt-Strecke in der Synology-Anleitung erklärt es Klick für Klick, auch wie du es nach Zeitplan machst. |
| Synology (Paket) | Installiere das neue .spk im
Package Center; es wird an Ort und Stelle aktualisiert. |
| Homebrew | brew upgrade nzbfast |
| Reines Binary | Ersetz das Binary. Deine Config bleibt, wo du sie angelegt hast (§17). |
-e NZBFAST_APIKEY=…, oder in den environment-Block deiner
Compose-Datei oder deines Unraid-Templates). Ein dort abgelegter Key übersteht
jedes Container-Missgeschick, denn er liegt auf dem Host, in der Definition, und
wird bei jedem Start neu angewendet. Ein Key, den du später in den Einstellungen
setzt, gewinnt trotzdem gegen ihn.15 · Kommandozeile
Alles, was der Daemon kann, ist auch skriptbar. Die Alltagsbefehle:
| Befehl | Zweck |
|---|---|
nzbfast setup | Interaktive Server-Einrichtung. |
nzbfast serve | Den Daemon starten (Dashboard + API + Automatisierung). --open öffnet den Browser; --apikey setzt den Key von Hand (§2); --bind wählt die Lausch-Adresse, standardmäßig 0.0.0.0 (jede Schnittstelle), 127.0.0.1 nur für diese Maschine. --help zeigt die volle Flag-Liste - jede Dashboard-Einstellung hat einen Flag-Zwilling. |
nzbfast get file.nzb | Eine 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.nzb | Verfügbarkeits-Urteil - COMPLETE / REPAIRABLE / IMPOSSIBLE - ohne Nutzdaten zu laden. |
nzbfast verify DIR | Dateien gegen das PAR2-Set in einem Verzeichnis prüfen. |
nzbfast sysbench | Der System-Benchmark + Diversitäts-Bericht, im Terminal. |
nzbfast index / search | Gruppen in den Index scannen / ihn durchsuchen, ohne Daemon. |
nzbfast import-sab | Server aus einer SABnzbd-ini importieren. |
Außerdem verfügbar: inspect, probe,
bench, bench-cpu, soak, fetch,
spots/spot-search/spot-get (Spotnet),
predb-seed (füllt die Pre-Datenbank mit der Zeit vor dem Einschalten des Feeds),
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). addnzblnk gehört absichtlich nicht zum Nur-Hinzufügen-Satz: einen Link aufzulösen kann bezahltes Indexer-Kontingent verbrauchen, und das geht einen Nur-Hinzufügen-Zugang nichts an.
| Bereich | Modes |
|---|---|
| Warteschlange | queue (mit name=delete/pause/resume/priority/switch), pause, resume, addfile, addurl, addnzblnk, retry, set_password |
| Info | history, status/fullstatus, stats, version, server_stats, usage, log, warnings, dazu /jobnzb/<nzo_id> (gibt die eigene gespoolte .nzb des Jobs wieder heraus, Warteschlange oder Verlauf; nur mit vollem API-Key) |
| Konfiguration | get_config, config&name=<setting>&value=… (jedes Einstellungs-Feld), server_save/delete/test/enable/reorder, import_probe/apply |
| Index & Wand | index_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> |
| Automatisierung | watchlist, watchlist_check_now, watch_calendar, feeds, smart_folders, schedule |
| Diagnose | sysbench, 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
Wo der Einstellungs-Ordner liegt, hängt davon ab, wie nzbfast installiert wurde. Dieser eine Ordner enthält alles, was ein Backup wert ist:
| Installation | Einstellungs-Ordner |
|---|---|
| macOS-App | ~/Library/Application Support/nzbfast/ |
| Windows | %LOCALAPPDATA%\nzbfast\ |
| Docker / NAS-Container | /config im Container, also
der Host-Ordner, den du dorthin eingebunden hast. Auf Unraid ist das der
appdata-Ordner der App. |
| Synology-Paket | /var/packages/nzbfast/var/ |
| Terminal | Der Ordner, in dem du nzbfast setup
ausgeführt hast, oder wohin --config / $NZBFAST_CONFIG
zeigt. |
Und was darin liegt:
| Datei | Inhalt |
|---|---|
config.local.json | Server-Zugangsdaten und Optionen pro Server. Vom Assistenten angelegt; in den Einstellungen bearbeitbar. Halte sie privat. Passwörter sind verschleiert, nicht verschlüsselt. |
settings.json | Jede 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. |
apikey | Der API-Key, den nzbfast sich bei einem ersten Start selbst gemacht hat (§2). Liegt neben der Config; auf macOS und Linux nur für das Konto lesbar, das nzbfast ausführt. Lösch sie nicht, um einen frischen Key zu bekommen: Auf einer schon gelaufenen Installation ersetzt sie nichts, und der Daemon kommt ganz ohne Key wieder hoch. Setz stattdessen unter Einstellungen → Sicherheit einen neuen. |
index.db | Der 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-Journal | Liegt im Ausgabeordner jedes Jobs, solange er unvollständig ist - treibt Absturz-Resume und Erneut-Versuchen an. Bei Erfolg entfernt. |
| Externe Tools | Keine 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
| Symptom | Prüfen |
|---|---|
| Langsame Downloads | Lass 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 Passwort | Die Verlaufszeile zeigt 🔑 - gib das Passwort dort ein; der Job wird an Ort und Stelle fertig. |
| Ein Archiv lässt sich nicht entpacken | Passwort- und Reparaturfehler benennen sich selbst in der Verlaufszeile. Für alles andere gibt es einen Notausgang: Einstellungen → Watch-Ordner & Nachbearbeitung → Mit externem unrar entpacken (eine erweiterte Einstellung) übergibt das Entpacken an das auf deinem Rechner installierte Programm unrar statt an den eingebauten Entpacker. Lass es sonst aus: der eingebaute Weg ist bei jeder von uns gemessenen Form schneller, und verschleierte Posts mit Hash-Namen nehmen ihn ohnehin immer, weil unrar ihrer Umbenennung nicht folgen kann. Derselbe Schalter für nzbfast get-Läufe ist die Umgebungsvariable NZBFAST_NO_NATIVE_UNRAR=1. Wenn unrar ein Archiv entpackt, das der eingebaute Entpacker abgelehnt hat, melde es bitte, damit wir den eingebauten Weg reparieren können. |
| Sonarr/Radarr bekommt keine Verbindung | Port 6789 erreichbar? API-Key korrekt (voller Key, nicht der NZB-Key)? Client-Typ auf SABnzbd gestellt? |
| Das Dashboard fragt nach einem API-Key, den ich nie gesetzt habe | Eine neue Installation macht sich selbst einen und druckt ihn einmalig beim Start (§2). Er steht in der Datei apikey neben deiner Config und in der Startausgabe. Oder tipp aus einem bereits angemeldeten Browser unter Einstellungen → Sicherheit einen eigenen Key ein. |
| Alle meine Einstellungen wirken nach einem Update weg (Server, Pfade, API-Key) | Nichts an einem Update löscht Einstellungen; das heißt, nzbfast liest einen anderen, leeren Ordner. Zuerst: Das API-Key-Feld in den Einstellungen zeigt sich absichtlich leer - klick Show, bevor du schließt, dass er verloren ist. Auf Docker vergleich die /config-Zuordnung des neuen Containers mit der des alten: Ein geänderter Host-Pfad, ein relativer Pfad aus einem anderen Verzeichnis oder ein frischer appdata-Ordner lassen nzbfast allesamt bei null anfangen, während deine echten Einstellungen unangetastet am vorherigen Pfad liegen. Find den alten Ordner (such nach settings.json, deiner Config-Datei und apikey - die Orte stehen in §17), dann richte entweder die Zuordnung wieder auf ihn oder kopiere die Dateien in den neuen Ordner und starte neu. Das Start-Log nennt die exakt verwendete Einstellungsdatei: [settings] applying saved settings from … |
| Nichts im Netzwerk erreicht den Daemon | Prüf --bind: 127.0.0.1 bedient nur die Maschine, auf der nzbfast läuft. Der Standard, 0.0.0.0, bedient jede Schnittstelle. Prüf dann die Firewall der Maschine selbst für Port 6789. |
| Durchsuchen-Karte bleibt klein | Der 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 Artwork | Detailblatt → ✎ Match korrigieren oder ↻ Metadaten erneuern. Film-Zuordnungen werden mit einem gratis OMDb-Key besser. |
| macOS sagt, die Anwendung „nzbfast“ könne nicht geöffnet werden | Zwei Ursachen, beide schnell behoben. Wenn du das schlichte -macos-universal.zip verwendest: doppelklick Start nzbfast.command, nicht die Datei nzbfast daneben - das ist das Programm selbst, und der Finder beantwortet einen Doppelklick darauf mit genau dieser Meldung. Der Starter ist das, was alles einrichtet und startet. Kommt dieselbe Meldung auch beim Starter, hat die Kopie unterwegs ihr Unix-Ausführungsbit verloren: macOS bewahrt dieses Bit im .zip auf, Chat-Apps, Cloud-Laufwerke und erneutes Zippen aber nicht - so kommt ein weitergereichter Build nicht ausführbar bei dir an. Lade das .dmg oder das .zip direkt von der Releases-Seite, dann passiert das nicht. Um die vorhandene Kopie zu retten: Terminal öffnen, chmod +x mit einem Leerzeichen am Ende tippen, Start nzbfast.command und die Datei nzbfast ins Fenster ziehen, Return drücken - und dann den Starter erneut doppelklicken. |
| Daemon startet nicht: Port belegt | Eine 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. |
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.