Essential only
Appearance
this browser only
PresetClassic is a plain, light, compact dashboard with just the queue and history - the graphs and extra cards are hidden. Full brings the default back: auto theme, regular spacing, everything shown. Both simply set the controls on this page and the dashboard cards, so any part can be adjusted afterwards; stored in this browser
Classic
Full
ThemeAuto follows your system's light or dark setting
Auto
Dark
Light
High contrast
Accent colorused for links, buttons and the first chart series
Use the theme's color
Text size100%
Reset
Spacinghow much room each card gets. Compact fits every figure in a small window; spacious gives them air
Comfortable
Compact
Spacious
Cornershow rounded cards, buttons and panels are
Soft
Square
Round
Outlineshow visible the line around each card and control is. Strong helps if the edges are hard to make out
Normal
Faint
Strong
Chart coloursthe series colours on every graph. The colour-blind-safe set stays distinguishable with deuteranopia or protanopia, which a red/green pair does not
Default
Colour-blind safe
Warm
Movementcharts glide and views fade in. Follows your system's reduce-motion setting unless you choose here
Follow my system
Full
None
Typefacethe more readable option picks the clearest faces already installed on this machine (wider letterforms, looser spacing); nothing is downloaded
System
More readable
Monospace
Your own coloursoverride the theme's background, card and text colours. The readability check below measures whatever you pick, so you can see immediately if a pair stops being legible
Background
Cards
Text
Back to the theme
Readabilitymeasured against the WCAG 2.1 minimum of 4.5:1 for body text
Save or move this lookeverything on this card, plus your card layout, as a file you can keep or load into another browser
Save to a file
Load from a file
Start againclears everything on this card AND your card layout, in one go: there were two separate resets in two places before
Reset appearance to defaults
Usenet servers applies from the next download
+ Add server
⤵ Import from SABnzbd / NZBGet…
✓ Test all
Save server
Test connection
Cancel
Server address
Port563 secure · 119 plain
TLS (encrypted)
Username
Connectionsmax your plan allows
Use exactly this manyauto-tuning still measures this server and still reports what it found, but the number above wins. Turn this on when you have timed real downloads yourself and the tuner disagrees with you
Tier / level0 = primary; a level-N server only fetches articles every lower level missed: fill/backup economics
Backbone groupservers sharing a name are mirrors of one backbone (optional)
Retention (days)0 = unlimited; older articles route to deeper servers
Block size (GB)prepaid block account: nzbfast tracks lifetime usage and stops using the server when the block is spent. 0 = flatrate. Pair with a tier ≥1 so the block only fills what primaries miss
Every byte is billedturn this on for a metered account, where you pay for what you download. Your files still come from this server exactly as before; what stops is nzbfast spending bytes here for its own benefit, such as automatic connection tests, benchmark traffic and header scans for the index. Leave it off for an unlimited plan
Keep connections openreuse this server's connections between downloads instead of opening new ones, so the next one starts sooner. Whether it helps depends on your link, so it is off until you measure it: Measure runs a short paired test and tells you what it found
Measure
Addresses allowed at oncehow many places may use this account at the same time, from your provider's plan. Not the same as connections above: that is how many sockets ONE machine opens, this is how many machines, sites or homes may connect at all. Leave blank if you do not know and nzbfast will use a safe guess
Where to find this
Sign in to your provider's own website (the member area, control panel or "my account" page) and open the page for your plan or subscription. Look for wording like IP addresses , locations , devices or simultaneous logins . It is often printed next to the connection count and is a much smaller number: 1, 2 or 3 is common, and many providers set no limit at all. Your welcome email may say it too. If nothing mentions one, leave this blank.
Why it matters. Holding a connection open makes the next download start faster, but it also keeps one of these address slots occupied while nothing is downloading. If you run nzbfast somewhere else too, or use this account from a laptop, a seedbox or another home, an idle machine can quietly lock the others out. With a limit of 1 or 2 that happens straight away. nzbfast uses this number to decide how soon to hang up when idle.
More than one internet connection? If this machine reaches the internet over several links (a router balancing two lines, or a multi-WAN setup), each connection can go out from a different address and use up several slots at once. Set a bind address on this server to pin it to one link.
Hang up when idle afterseconds with nothing downloading before nzbfast closes this server's connections, freeing the account for your other machines. The next download opens fresh ones, which costs a moment at the start. Blank = choose for me, based on the address limit above. 0 = never hang up, which is right when this machine is the only thing using the account
Connections to keep warmhow many connections survive that hang-up, so the next download still starts warm. Blank = choose for me. On a provider that limits ADDRESSES this makes no difference: this machine is one address whether it holds one connection or sixty, so keeping any at all leaves the account occupied and the sensible answer there is none
Save server
Test connection
Cancel
Server diversity Analyze
Checks whether your providers share a backbone (redundant for
recovery) or genuinely diversify your article coverage.
Speed & scheduling live
Speed limitbytes/sec, e.g. 50M, 1G; 0 = unlimited
Auto speedRTT-governed: yields to other household traffic, under the cap
Auto-defer slow downloadsa job stuck on one slow server while others wait is sent to the back of the queue (progress kept; it resumes when the queue is clear)
Prefetch on idle serversservers the active download can't use (its articles aren't on them) start the next queued job instead of idling; off automatically when a quota is set
Race slow articlesnear the end of a download, idle connections fetch the last slow articles a second time and the first copy wins; a connection running far below its siblings is reconnected. Finishes jobs sooner for a fraction of a percent of extra traffic
Adaptive connection timeoutsa connection that goes quiet is cut in seconds instead of half a minute, judged against that server's usual response time; a slow but alive transfer is never cut. In fault tests it cleared dead-air stalls about 4x sooner, helped further when a whole server went mute, and dropped nothing on a spiky but healthy link
Check posts before downloadingwhile nothing is downloading, ask every server about a few of each queued post's articles and mark the row with the answer: a post your providers no longer carry is worth knowing about before the bandwidth is spent, not at 97%. Costs a few dozen tiny requests per job
Healthy-looking posts start firsta job whose check came back bad waits behind items of the same priority that checked out better. It only changes the ORDER: nothing is removed, paused or failed, and forcing a job or raising its priority overrides it. Off by default, because a post uploaded moments ago is missing everywhere too
Skip providers the oracle says are goneexperimental: when the availability check is confident a provider's backbone has lost a release (takedown), skip it for that download instead of waiting for it to fail. Never skips your last provider. Off by default
Availability checks while idlewhile nothing is downloading, ask each server about a few articles of indexed releases and remember the answers: that is the picture the setting above reads, and what lets a dead post be recognised before you queue it. Counted per server per hour; 0 turns the checking off. Default 300. Needs the built-in indexer, and stands down entirely while a download runs
Auto-tune connectionswhile idle, measure each provider's connection sweet spot and cap downloads at it: asking a provider for too many sockets can be several times SLOWER than the right number. Set a Line speed below and every result is also scored against it, so you can see how close your providers get and what is worth changing
Check for updatesshow a notice when a new version is published: nzbfast never downloads or installs updates by itself; off = never check at all
Update check URLrelease manifest the daemon polls every 6 h; empty disables checking
Check
Line speedyour connection's full speed. Units matter and both are accepted: 900Mbps or 1Gbps for the number your provider quotes (they sell megabits), 112MB/s or a bare 112M for megabytes. This is the yardstick connection tuning is scored against - every ladder says how close it got, and the note below says what to do about a gap. Tuning never stops measuring at this number, so a line faster than the setting still reads true and is reported back to you. Also lets remote apps set percentage speed limits, SABnzbd-style
Weekly schedulerules fire in this machine's local time; on (re)start the most recent rule at-or-before now wins
+ Add rule
Apply schedule
Disk & quota
Categorieslive the categories offered to Sonarr, Radarr and other clients, and where each one's finished downloads go. tv, movies, music and books are always available; add any others your apps are set to use - a client whose category is missing here refuses to connect. Leave a folder blank and that category lands in its own subfolder of the download root, which is what most setups want. Rows are listed alphabetically, and a category an app sends that is not here yet adds itself
+ Add category
Apply categories
Permissions on finished downloadsapplies from the next download a umask, the same number Docker and the setup guides use: 002 gives folders 775 and files 664, 022 gives 755 and 644. Leave it empty and nzbfast changes nothing, which is what it has always done. Set it when Sonarr or Radarr run as a different user in the same group and cannot read or import what lands here - on a systemd install they usually cannot, because the unit keeps everything the daemon writes owner-only to protect the API key. Ignored on Windows, which has no such thing
Minimum free spacelive pause new jobs below this, e.g. 25G. Defaults to 2G so the disk never fills completely; 0 = off
Pause when the disk cannot keep uplive a drive that has started to fail often still accepts writes - it just takes minutes over them. The download then crawls, the graph sawtooths, and it all looks like a network problem. With this on, several minutes of stalled writes pause the queue with the reason and the folder named, keeping everything downloaded so far, and downloads start again by themselves once the drive answers normally. A brief busy spell never triggers it
Download quotalive byte budget per period, e.g. 500G; 0 = off. Force-priority jobs bypass it
Quota periodlive
daily (local midnight) weekly (Monday, local time) monthly (1st, local time)
Nested archive depthlive how many archive-in-archive layers to unpack automatically (default 5); applies to the next download. At the limit the deepest archive is left in place, unpacked no further - the download still completes. Raise only for unusually deep nested releases
Watch folder & post-processing live
Re-check the folder everylive a file dropped on this machine is noticed the moment it lands, so this is only the backstop for folders the system cannot report on: typically a network share written from another computer. Seconds, 1 to 3600; default 5
Keep .nzb files after pickuplive leave the original .nzb in the watch folder after it is queued, instead of moving it to the Trash. For collectors, and for handing the file to someone when a download misbehaves. A kept file is remembered and not queued again; re-save it to download it again. Whatever you choose, every job's drawer can save you a copy of its .nzb
Also scan subfolderslive files in subfolders are picked up too, and the first subfolder's name becomes the download's category: a file dropped in watch/tv joins the tv category. A folder named "rejected" is left alone; it is where unusable files go when the switch below is on
Move unusable files asidelive a file that is not a usable NZB is moved into a "rejected" folder inside the watch folder, with a small text file beside it saying what was wrong. Off: the file stays where you put it and the reason is shown above the queue. A file that merely looks incomplete is always left in place, because it may still be arriving
Give the script at mostlive a script still running after this is killed, and a line saying so goes in the log; the download itself is unaffected either way. Seconds; 0 = wait as long as it takes, which is what a long transcode wants. Default 3600. With no limit, one script that hangs holds a thread for as long as nzbfast runs, and every job that finishes after it holds another
Delete recovery fileslive a download's .par2 repair files have done their job once everything verifies, so they are removed when it completes successfully. Turn off to keep them in the download folder
Cleanup after downloadfile extensions deleted from a job's folder once it completes successfully, e.g. sfv, srr, url; empty = off. Recovery files have their own switch above
When an archive needs a passwordlive "ask right away" prompts the moment a running download turns out to be password-protected, so you can type it while it keeps downloading; "ask when finished" waits until the download completes and offers the 🔑 unlock; "never ask" completes the download quietly with the archive left packed in its folder for you to extract by hand. Set password on the download itself works in every mode
ask right away, mid-download
ask when the download finishes
never ask - leave it packed
Deleted files go to the Trashlive cleanup moves files to the system Trash or Recycle Bin instead of deleting them, so a wrong guess about what was junk can be undone. If the Trash ever refuses a file, it is left where it is rather than deleted outright. On by default on macOS and Windows. Off on Linux, where there is usually no desktop Trash to empty: with it on, files go to a hidden .Trash folder on the same disk as your downloads, and that space stays used until you empty it yourself
Leftover files after a downloadlive what happens to the leftovers cleanup removes once a download finishes: spent archive parts, recovery files, samples and other junk. Following the setting above keeps one rule for everything; always Trash keeps leftovers recoverable even when your own deletes are permanent; always permanent removes them outright, which keeps a busy Trash from filling up with archive parts. Files you delete yourself always follow the setting above
same as deleted files above
always go to the Trash or Recycle Bin
always deleted permanently
Unpack with external unrarlive use the unrar program installed on this machine instead of nzbfast's built-in extractor. An escape hatch for archives that fail to unpack: the built-in path is faster on every shape we have benchmarked, so leave this off unless one does. Hash-named obfuscated posts always use the built-in path, whose renaming unrar cannot follow. Needs unrar next to the nzbfast binary or on the system PATH
When the unpack will not fitlive some archives cannot be unpacked as they arrive: every part is written to disk first and opened afterwards, so the disk holds the parts and the unpacked files at the same time. A password-protected set needs a third copy, because unlocking writes the plain copy beside the encrypted one before swapping them. That is why a download can fail at 96% on a disk that had room for it. With this on, each archive part is deleted outright the moment the unpacker has read the last of it, so the peak is about one part plus the largest file inside. Deleted for real, not moved to the Trash: the point is space back this second. Only ever on a download that has verified. If it stops halfway, the download is fetched again, which is exactly what already happens when the disk fills, so this can only make the good case cheaper
keep every part until the unpack finishes
when the disk is too full, ask me per download
always delete each part as it is used up
When a download failssome indexers attach a report link to every NZB they serve. Telling them a post is dead is how they learn to stop offering it, and they usually answer with another copy of the same title. Only works for NZBs fetched by URL (RSS, Add-by-URL, your indexer's "send to" button) - a file you dropped in yourself carries no link. Off by default: it tells a third party what failed for you
do nothing
report it to the indexer
report it and queue another copy
Try a failed download again afterlive a download that failed because articles were missing is queued again once, this long afterwards: a post can still be arriving at your provider, and waiting is the only thing that fixes that. Minutes; 0 = never retry on its own. Default 20. A failure that was the connection rather than the post waits 2 minutes instead, and a job that has already had its one automatic try is left in History for you to decide about
Notifications live
Tell something a download finishedKodi, Plex and Jellyfin/Emby get a library rescan; a webhook gets whatever you write, so Discord, ntfy, Gotify and Home Assistant all work. Token = the Plex token, the Jellyfin/Emby API key, or user:password for a Kodi with a password set. Category limits a target to one category; empty = every download. Test sends one now
+ Add target
Apply targets
Give up on dead content live
Give up after this many failed releases0 = off, the default. When this many different releases have all finally failed for the same episode or movie, stop chasing it: the item is unmonitored in the Sonarr or Radarr that sent it (and the watchlist stops picking new copies of it), instead of downloading yet another dead copy. Below the threshold nothing changes - a failed grab is blocklisted and searched again as normal. A finished download for the item clears its count
Sonarr and Radarr it may act onunmonitoring happens inside your Sonarr or Radarr, so each one needs its URL and API key here (in the *arr: Settings, General). The on box pauses an instance without forgetting its stored key; removing the row forgets the key too. Watchlist items need no entry - the watchlist is handled by nzbfast itself
+ Add instance
Apply instances
Auto-rename & cleanup live
Rename finished downloadsgive the folder and main file a clean, informative name: a movie becomes "Example Movie 2024"; TV keeps "Show - S01E02". Obfuscated or unrecognized names are left exactly as posted
Include resolution1080p, 2160p, …
Include video codecx265, x264, AV1, …
Include audio codecAtmos, DTS-HD, AC3, …
Include sourceBluRay, WEB, REMUX, …
Include release groupthe -GROUP tag at the end
Year in brackets"Example Movie (2024)" instead of "Example Movie 2024". Off by default. Plex, Jellyfin and Radarr match films on the bracketed shape, so turn this on if one of those apps reads this folder
Quality in square brackets"… [1080p x265]" instead of "… 1080p x265". Off by default
Keep the other words in the namesport, races and other events are often one title repeated all season, and only a word or two apart: "Round11 Hungary Race" vs "Round11 Hungary Qualifying". Keeping those words is what stops them all becoming the same name. Only applies where the name could not be tidied up otherwise, so ordinary films are untouched
Work out what a hidden film issome posts arrive with the name stripped off them, so the video lands as a string of random characters. When that happens, read the film's own running time, picture and sound formats and subtitle languages, then look those up in public film databases. Films only, and only once the download has finished. It renames the file ONLY when two separate databases agree on exactly one film, which needs a TMDB key in your config - without one it never renames, it just writes what it found into History so you can see what the file probably is
Episode titles in TV namesname an episode file "Show - S01E02 - The Ceremony [1080p].mkv" instead of "Show - S01E02 [1080p].mkv". Off by default, because it changes filenames your library and your *arr apps have already matched on. The title comes from the episode list already stored for shows on your watchlist, so it never waits on the internet and never renames a file later: a show we have no list for keeps today's name. Titles are in the show's original language, usually English
Ask public databases what a finished download islive when a job finishes, look the release up in two free public databases (srrdb and xREL) to recover the name it was posted under. At most one request to each per download, no account and no key, and a failure is silent. On by default. Off means names come only from what is inside the files, which is what a post with its name stripped off does not have
Remove junk filesdelete leftover .par2, .nzb, .sfv, .nfo and sample clips from finished movie/TV folders, never the video or its subtitles
Keep only the media file⚠ permanently deletes everything except the video(s) and subtitles; every episode of a season pack is kept
Smart folders live
Ruleseach added NZB's name runs through these top to bottom: first match wins. Match/but-not are regexes (plain keywords work too); sizes like 200M, 4G; category picks the subfolder of the download root. TV = when the job finishes, file it as [Show]/Season NN/ and rename the video to "Show - S01E02"
+ Add rule
Apply rules
Your categories live
Categoriesgive sport, wrestling, podcasts, audiobooks or anything else its own wall category. Each release name runs through these top to bottom, first match wins, ahead of the built-in Movies/TV classifier. Match rules are regexes (plain keywords work too), same as Smart folder rules. "Treat as" decides what happens when a download finishes: movie-like and TV-like get junk cleanup and renaming; "leave as posted" touches nothing, which is the safe choice for books, comics and audio
+ Add category
Apply categories
RSS auto-grab live
Feedseach feed is polled on its own interval; items passing the rules are queued automatically. Rules (one per line): Require: size>200M · Reject: *480p* · Accept: *1080p*. An Accept rule can file its matches itself: Accept(category=tv, priority=high): *1080p*. Preview shows what the rules would do without grabbing anything
+ Add feed
Apply feeds
When a duplicate is addedlive what happens when a new download has the same identity (show, season and episode, or title and year) as one already queued or downloaded. "Hold it paused" keeps it as a backup that starts automatically if the original fails. "Refuse it" turns the add away with an error. "Fail it into History" records it as a failed download right away, which is what Sonarr and Radarr expect so they can pick a different release themselves. Applies everywhere downloads are added, not just RSS
hold it paused as a backup
refuse it
fail it into History
Search indexers live
Indexer accountsyour accounts on NZB indexers (NZBGeek, DrunkenSlug, a Prowlarr or NZBHydra instance, …). Searches on the wall can then ask them too and grab results straight into the queue. API keys never leave this machine. The daily limits mirror your account's allowance: 0 means unlimited.
+ Add indexer
Apply indexers
Indexing
Built-in indexerlive off unless you turn it on. It scans the newsgroups you choose, straight from your provider, so you can search and browse Usenet here without a third-party account. Read what it does and does not find below before you decide.
What it finds: posts that were uploaded under a real
filename. The scan reads newsgroup headers, so something posted as
Some.Film.2026.1080p.WEB-DL.x264-GROUP.part01.rar is recognised, filed under its
title, and shown on the wall with a poster, cast and ratings.
What it cannot find: posts with the name taken out. A
large and growing share of Usenet is uploaded deliberately obfuscated: the subject is random
(p5cbKvaDJ1Y0PW6DvKCIfztzZ), the filenames inside are random too, and it all goes
into a catch-all group like alt.binaries.boneless. The real name exists only in an
NZB the uploader publishes somewhere else, so it was never posted to Usenet at all and there is
nothing on the wire for any scanner to read. This is not a gap we can close later: no
competitor recovers those by scanning either.
For scale, in our own measurements a full index of
14.8 million scanned posts yielded about 31,000 browsable releases. Roughly one in
five hundred.
Worth turning on if you follow particular newsgroups
where people still post under real names, you want to see what your provider actually carries
rather than what somebody else says it carries, you want to judge retention and completeness
yourself, or you would simply rather not depend on anyone else's service.
Why a commercial indexer is still recommended: an
indexer is told what a release is by whoever uploaded it, so it can name the obfuscated
posts that no scanner can. It also carries years of back catalogue, and it is what Sonarr and
Radarr expect. Add your accounts under Search indexers just above: searches on the wall
can then ask them and grab straight into the queue, with none of this switched on.
With the switch off nothing is scanned, no headers
are fetched, no metadata or artwork is looked up, and no availability sampling runs. The poster
wall, Browse and the Sonarr/Radarr feed are hidden until you turn it back on. The watchlist
stays as long as you have indexer accounts, because it can ask those instead.
What to indexnothing is indexed unless you pick something here. Each choice scans the newsgroups listed under it, and only the ones your provider carries.
Fetch group descriptionsnext fetch most providers send no descriptions at all, which leaves the group search matching names only. This fetches about 45,000 of them from ISC, a public Usenet directory. It is the only request nzbfast makes to anywhere other than your news provider, so it is off unless you turn it on.
Scan interval (seconds)live
Check for new posts everylive a short loop that reads only what is new at the head of each group, so a fresh post shows up in seconds instead of waiting behind the history work of the next full scan. When nothing has arrived it costs one command per group. Seconds; 0 turns it off and leaves the scan interval as the only path. Anything above 0 is held to at least 5. Default 20
Groups scanned at oncelive how many newsgroups one scan pass reads in parallel. Each takes connections from the same provider account your downloads use, so more is faster only up to the point where they start competing. 1 to 8; default 3
Backfill articleslive headers to fetch on a group's first scan
Deepen per scanlive every scan pass also indexes this many OLDER articles per group, growing history in the background until Max age (or the group's start) is reached; 0 = off
Index from every providerlive scan new posts on each of your provider networks, not just one. Posts do not always reach every provider, and providers carry different newsgroups; scanning them all means a release stops looking incomplete when a different provider has the missing parts. The deepest provider still does the history work, the others only follow new posts. Prepaid block accounts are never used for scanning
Re-hunt incomplete releaseslive each scan pass picks this many incomplete releases and asks the other providers for headers around their posting time, filling gaps the scanning provider never received; 0 = off
Scan nowrun a scan pass immediately; with a depth, one-off deep backfill: rescan that many recent headers per group even where already scanned (e.g. 500000)
Scan now
Max post age (days)live only index posts newer than this; 0 = no limit. Keeps the database small
Trim to the age windowlive also delete already-stored wall-visible releases once they age past the max-age window, so the index holds ~that window instead of growing forever. Off = only gate new posts. Dead junk fragments (already hidden, still incomplete after a week) are always reaped regardless of this setting
Pause while downloadinglive stop indexing entirely while a download is running. Scanning takes NNTP connections from the same account (up to 15 of 20 at the default parallelism) and its database writes compete with the download for CPU and disk. Off = keep indexing during downloads, so new posts stay visible sooner
Ingest gateslive optional JSON filter on what gets indexed: kinds/years/resolutions/languages/title patterns/size, e.g. {"kinds":["tv"],"res":["1080p"],"min_size":"200M"}. Empty = index everything
Pre feedlive off unless you turn it on. Plenty of uploads are posted with the name taken out, so a scan has nothing to read. Public relay channels announce the real name next to the filename a release was posted under, which is the one open way to match the two up. Turning this on keeps a connection open to an IRC network and listens. Nothing is ever posted, no account is created, and releases named this way are marked as having been named from the feed rather than read off the post.
Relay serverlive the IRC network carrying the relay channels, as host or host:port
Relay channelslive comma-separated. Only what the channels announce is read; nothing is sent to them
Name to join underlive the nickname nzbfast uses on the relay. A few random characters are added to it so two installations never collide. Letters, digits and a little punctuation, up to 12 characters; anything else is dropped, and an empty box falls back to nzbfast. Takes effect the next time the feed connects
Announcements to keeplive how many announced names the table holds; past that, the oldest are dropped. Only names posted after an announcement can be matched by it, so keeping more only helps if you are also matching older posts. 10,000 to 5,000,000, default 250,000; a number outside that range is pulled back to the nearest end rather than refused
What it has hearda feed that quietly stops working looks exactly like one with nothing to say, so it reports both
Name by correlationlive the public announcement channels carry no filenames, so most obfuscated posts cannot be matched directly. What an announcement does pin down is when a release appeared and how big it is. This compares announcement timing and size against unnamed posts and, when they fit, suggests the real name on the Browse page. A suggestion is clearly marked, needs your click to apply, and never renames files on disk.
Apply strong matches automaticallylive a match this needs is strict: the size must agree tightly, no other announcement may fit nearly as well, and the announcement must pick this post back when checked the other way around. Applied names change only how a release is shown, they are marked as inferred, and a finished download that proves one wrong takes it back off on its own. Everything weaker stays a suggestion for you to review.
How far back to importlive the window the import below asks for, in days. Longer takes longer and stores more; the announcements it brings back are still capped by the setting above. 1 to 366; default 180
Announcement historythe live feed only hears announcements from the moment it is switched on. This fetches the past window set above from a public pre database, politely and once, so posts that are already indexed can be matched too. Runs in the background for half an hour or so; progress shows here.
Import history
OMDb keylive optional: richer movie metadata on the wall (exact matches, cast, posters, IMDb ids) and ~4× faster movie enrichment. Free tier is 1,000 lookups/day. Empty = fully keyless
Get a free OMDb keyonly needs an email address: we submit the signup for you; OMDb emails you the key with an activation link. Or do it yourself at omdbapi.com/apikey.aspx
Request key
Wall metadataclear every cached title/poster and re-download fresh; indexed releases are untouched
Refresh all metadata
Preferred versionlive when one film or episode has been posted several times, releases matching these float to the top of its list and get a “best match” mark. Nothing is ever hidden: release names leave tags out all the time, so this only changes the order. Leave any of them on “no preference” to ignore that one
no preference
2160p 1080p
720p 576p
480p
no preference
Dolby Vision HDR10+
HDR10 HDR
HLG
no preference
Dolby Atmos TrueHD
DTS-X DTS-HD
DTS DD+
AC3 FLAC
AAC Opus
MP3
no preference
AV1 x265 / HEVC
x264 / AVC VC-1
XviD DivX
Stored indexthe database is kept while the indexer is off, so turning it back on picks up where it stopped instead of rescanning. Delete it if you want the disk space back now
Delete the index database…
Database
Deleting releases frees space inside the database file, but the file itself only gets smaller once it is compacted, and a compact waits for a moment when nothing is downloading or scanning. So the size above can sit still for a while after a cleanup. The size limit is measured against what is actually stored, not against the space waiting to be reclaimed.
Size limitlive how big the index is allowed to get, e.g. 20G. Empty or 0 = no limit. On its own this deletes nothing: the switch below is what acts on it
Delete releases to stay under itlive off unless you turn it on. With it on, releases are deleted as the index grows past the limit, in the order below; they come back only if a later scan finds them again
What goes firstthe default ladder spends the least useful entries first, so a full index loses dead fragments long before it loses anything you would search for
junk and incomplete posts, then oldest, then largest
oldest posts first
newest posts first
largest releases first
smallest releases first
What can be deletedclear a box to protect that kind: those releases are never deleted to save space. Everything ticked = anything can go
Movies
TV
Software
Everything else
Apply the limit nowrun one pass immediately instead of waiting for the index to reach the limit
Delete down to the limit…
Shrink toa one-off: delete releases until the index fits the size you type. It does not change the size limit above, and like the limit it leaves the file to be compacted once nothing is downloading or scanning
Shrink…
Compact indexreclaim disk space freed by retention pruning (rewrites the database file). Runs only when no download or scan is active
Compact now
Wipe indexdelete the whole index database (releases, titles, artwork) and rescan from scratch: the fix for db corruption
Wipe index database…
Remote access · phone & away-from-home
No API key is set: anyone on your network can control nzbfast at these addresses. Set one in Security below.
Point your phone's camera at a code, or type the address - same Wi-Fi works immediately.
For access from anywhere, the painless answer is Tailscale (free, no router changes):
install it on this machine and your phone, and a "works from anywhere" code appears above
automatically. Remote-control apps work too: add nzbfast as a SABnzbd server (this
address + your API key) or an NZBGet server (any username, API key as the password).
Avoid raw port-forwarding - the dashboard is plain HTTP; if you must, always set an API key.
Interface
Languagehow this browser shows nzbfast: "System" follows your device language; stored in this browser
System default
Default language (this daemon)live for embedded webviews and browsers that haven't chosen: "Auto" follows each device's language
Auto (device language)
Speed unitslive how every speed is shown: megabytes (MB/s, the download-manager norm) or megabits (Mb/s, how ISPs quote line speeds). File sizes stay in bytes either way. Applies to every device viewing this daemon.
Bytes - MB/s
Bits - Mb/s
History rowslive how many finished downloads the History card lists before you expand it with the ▤ button; drag the card's bottom edge to make the list scroll instead. Applies to every device viewing this daemon.
Colour History nameslive green for completed, red for failed. Off leaves the names plain - the coloured dot and the row's details still say which is which
Colour the codec chiplive tints the resolution/codec chip: violet for AV1, HEVC and VP9, blue for H.264, nothing for the older formats. Off leaves it plain - the chip still spells the codec out either way, and a chip whose bytes do not match its name stays amber
Colour the archive chiplive tints the chip describing what unpacking took: violet for encrypted, blue when there was no compression to undo or nothing had to land on disk first. Off leaves it plain - the chip still says the same thing in words
Desktop notificationsa system notification when a download completes or fails; the browser will ask permission
Provider re-sort intervalseconds between re-ordering the Providers list by live speed (rows slide to their new spot); default 10, 0 keeps the configured order; stored in this browser
Drop zoneswhere the two targets sit when you drag a file onto the page, and which of them gets the room. Stored in this browser
Side by side
Top and bottom
Equal halves
Bigger: Add to queue
Bigger: Test file
Show me
Speed distribution barsthe bar chart under the throughput graph, showing how much time you spend at each speed. Useful for spotting a line that never reaches its peak, noise if you just want the live rate. Stored in this browser
Compact modetighten every dashboard card so all the figures fit in a small window: same numbers, less padding. Individual cards can be compacted on their own with the density button in the card header; stored in this browser
Dashboard layoutforget this browser's hidden cards, card order and chart sizes: back to the default layout
Reset layout
Log Refresh
show the daemon's recent output
Run state
Restart nzbfastapplies the settings above that need a restart. In-progress downloads stop and resume by themselves from where they got to.
Restart now
Stop nzbfastshuts the engine down. Downloads resume where they got to when it starts again.
Stop now