Reference
Configuration options
RustyGet reads NZBGet's configuration file format. This reference lists every option. It's generated from the configuration file in the repository. Settings in the web interface show the same text.
Numbered options, such as the settings of each news server, are listed once with N in place of the number: ServerN.Host stands for Server1.Host, Server2.Host, and so on. Set any option for one run with -o Name=value on the command line.
For pictures and setup steps, use the illustrated Settings guides.
172 options in 14 sections. new marks the 17 options that NZBGet doesn't have, and changed marks the 1 option whose values or meaning differ from NZBGet. This page is generated from nzbget.conf on every build, so it always matches the code.
Paths
MainDir
Root directory for all tasks.
default ~/downloads
On POSIX you can use "~" as alias for home directory (e.g. "~/downloads"). On Windows use absolute paths (e.g. "C:\Downloads").
DestDir
Destination directory for downloaded files.
default ${MainDir}/dst
If you want to distinguish between partially downloaded files and completed downloads, use also option InterDir.
InterDir
Directory to store intermediate files.
default ${MainDir}/inter
If this option is set (not empty) the files are downloaded into this directory first. After successful download of nzb-file (possibly after par-repair) the files are moved to destination directory (option DestDir). If download or unpack fail the files remain in intermediate directory.
Using of intermediate directory can significantly improve unpack performance if you can put intermediate directory (option InterDir) and destination directory (option DestDir) on separate physical hard drives.
NOTE: If the option InterDir is set to empty value the downloaded files are put directly to destination directory (option DestDir).
NzbDir
Directory for incoming nzb-files.
default ${MainDir}/nzb
If a new nzb-file is added to queue via web-interface or RPC-API, it is saved into this directory and then processed by extension scripts (option Extensions).
This directory is also monitored for new nzb-files and compressed archives (zip, rar, 7z, tar, gz, etc.). See options NzbDirArchiveScan and NzbDirArchiveAction.
The directory can have sub-directories. A file queued from a subdirectory is automatically assigned to the category matching the sub-directory name.
QueueDir
Directory to store program state.
default ${MainDir}/queue
This directory is used to save download queue, history, information about fetched RSS feeds, statistics, etc.
TempDir
Directory to store temporary files.
default ${MainDir}/tmp
WebDir
Directory with web-interface files.
default empty
Example: /usr/local/share/nzbget/webui.
NOTE: To disable web-interface set the option to an empty value. This however doesn't disable the built-in web-server completely because it is also used to serve JSON-/XML-RPC requests.
ScriptDir
Directory with post-processing and other scripts.
default ${MainDir}/scripts
This option may contain multiple directories separated with commas or semicolons.
NOTE: For information on writing scripts visit https://nzbget.com/documentation/extension-scripts/.
LockFile
Lock-file for daemon-mode, POSIX only.
default ${MainDir}/nzbget.lock
When started in daemon mode the program creates the lock file and writes process-id (PID) into it. That info can be used in shell scripts. If the lock file can not be created or the lock to the file can not be acquired the daemon terminates, preventing unintentional starting of multiple daemons.
Set to empty value to disable the creating of the lock-file and the check for another running instance (not recommended).
LogFile
Where to store log file, if it needs to be created.
default ${MainDir}/nzbget.log
NOTE: See also option WriteLog.
ConfigTemplate
Configuration file template.
default empty
Put the path to the example configuration file which comes with NZBGet. Web-interface needs this file to read option descriptions.
Do not put here your actual configuration file (typically stored in your home directory or in /etc/nzbget.conf) but instead the unchanged example configuration file (typically installed to /usr/local/share/nzbget/nzbget.conf).
Example: /usr/local/share/nzbget/nzbget.conf.
RequiredDir
Required directories.
default empty
List of destination directories to be waited for on program start. Directories must be separated with commas or semicolons.
The list of directories is checked on program start. The program waits until all directories become available before starting download or post-processing. This is useful if the download destination is configured on network or external drives, which may require some time to mount on boot.
NOTE: Only directories used in option InterDir and option DestDir (global or per-category) can be waited. Other directories, such as option TempDir, option NzbDir and option QueueDir must be available on program start.
CertStore
Certificate store file or directory.
default empty
Certificate store contains root certificates used for server certificate verification when connecting to servers with encryption (TLS/SSL). This includes communication with news-servers for article downloading and with web-servers (via https) for fetching of rss feeds and nzb-files.
The option can point either to one big file containing all root certificates or to a directory containing certificate files, in PEM format.
Example: /etc/ssl/certs/ca-certificates.crt.
NOTE: Certificate verification must be enabled separately via option CertCheck.
NOTE: For more details visit https://nzbget.com/documentation/certificate-verification/.
News servers
ServerN.Active
yes, noUse this news server (yes, no).
default yes
Set to "no" to disable the server on program start. Servers can be activated later via scheduler tasks or manually via web-interface.
NOTE: Download is not possible when all servers on level 0 are disabled. Servers on higher levels are used only if at least one server on level 0 was tried.
ServerN.Name
Name of news server.
default empty
The name is used in UI and for logging. It can be any string, you may even leave it empty.
ServerN.Level
0-99Level (priority) of news server (0-99).
default 0
The servers are ordered by their level. NZBGet first tries to download an article from one (any) of level-0-servers. If that server fails, NZBGet tries all other level-0-servers. If all servers fail, it proceeds with the level-1-servers, etc.
Put your major download servers at level 0 and your fill servers at levels 1, 2, etc..
Several servers with the same level may be defined, they have the same priority.
ServerN.Optional
yes, noThis is an optional non-reliable server (yes, no).
default no
Marking server as optional tells NZBGet to ignore this server if a connection to this server cannot be established. Normally NZBGet doesn't try upper-level servers before all servers on current level were tried. If a connection to server fails NZBGet waits until the server becomes available (it may try others from current level at this time). This is usually what you want to avoid exhausting of (costly) upper level servers if one of main servers is temporary unavailable. However, for less reliable servers you may prefer to ignore connection errors and go on with higher-level servers instead.
ServerN.Group
0-99Group of news server (0-99).
default 0
If you have multiple accounts with same conditions (retention, etc.) on the same news server, set the same group (greater than 0) for all of them. If download fails on one news server, NZBGet does not try other servers from the same group.
Value "0" means no group defined (default).
ServerN.Host
Host name of news server.
default my.newsserver.com
ServerN.Encryption
yes, noEncrypted server connection (TLS/SSL) (yes, no).
default yes
NOTE: By changing this option you should also change the option ServerX.Port accordingly because unsecure and encrypted connections use different ports.
ServerN.Port
1-65535News Server port, usually 563 for secure connections, 119 for unsecure connections, rare - 80 or 443 (1-65535).
default 563
ServerN.Username
User name to use for authentication.
default user
ServerN.Password
Password to use for authentication.
default pass
ServerN.JoinGroup
yes, noServer requires "Join Group"-command (yes, no).
default no
ServerN.Cipher
Cipher to use for encrypted server connection.
default empty
By default (when the option is empty) the underlying encryption library chooses the cipher automatically. To achieve the best performance however you can manually select a faster cipher.
See https://nzbget.com/documentation/choosing-cipher/ for details.
NOTE: You may get a TLS handshake error if the news server does not support the chosen cipher. You can also get an error "Could not select cipher for TLS" if the cipher string is not valid.
ServerN.Connections
0-999Maximum number of simultaneous connections to this server (0-999).
default 8
ServerN.Retention
daysServer retention time (days).
default 0
How long the articles are stored on the news server. The articles whose age exceed the defined server retention time are not tried on this news server, the articles are instead considered failed on this news server.
Value "0" disables retention check.
ServerN.CertVerification
Strict, Minimal, NoneCertificate verification level (Strict, Minimal, None).
default strict
None - NO certificate signing check, NO certificate hostname check
Minimal - certificate signing check, NO certificate hostname check
Strict - certificate signing check, certificate hostname check
ServerN.IpVersion
auto, ipv4, ipv6IP protocol version (auto, ipv4, ipv6).
default auto
ServerN.Notes
User comments on this server.
default empty
Any text you want to save along with the server definition. For your convenience or for usage in custom extension scripts.
Security
ControlIP
IP on which NZBGet server listen and which clients use to contact NZBGet.
default 0.0.0.0
It could be a dns-hostname (e. g. "mypc") or an IP address (e. g. "192.168.1.2" or "127.0.0.1").
Your computer may have multiple network interfaces and therefore multiple IP addresses. If you want NZBGet to listen to all interfaces and be available from all IP-addresses use value "0.0.0.0".
NOTE: When you start NZBGet as client (to send remote commands to NZBGet server) and the option ControlIP is set to "0.0.0.0" the client will use IP "127.0.0.1".
NOTE: If you set the option to "127.0.0.1" you will be able to connect to NZBGet only from the computer running NZBGet. This restriction applies to web-interface too.
NOTE: NZBGet also supports listening on Unix domain sockets instead of TCP/IP sockets. To activate this mode set option ControlIP to a local path (e. g. "ControlIP=/var/sock").
ControlPort
1-65535Port which NZBGet server and remote client use (1-65535).
default 6789
NOTE: The communication via this port is not encrypted. For encrypted communication see option SecurePort.
ControlUsername
User name which NZBGet server and remote client use.
default nzbget
Set to empty value to disable user name check (check only password).
NOTE: This option was added in NZBGet 11. Older versions used predefined not changeable user name "nzbget". Third-party tools or web-sites written for older NZBGet versions may not have an option to define user name. In this case you should set option ControlUsername to the default value "nzbget" or use empty value.
ControlPassword
Password which NZBGet server and remote client use.
default tegbzn6789
Set to empty value to disable authorization request.
RestrictedUsername
User name for restricted access.
default empty
The restricted user can control the program with a few restrictions. They have access to the web-interface and can see most of the program settings. They however, can not change program settings, view security related options or options provided by extension scripts.
Use this user to connect to NZBGet from other programs and web-sites.
In terms of RPC-API the user: - cannot use method "saveconfig"; - methods "config" and "saveconfig" return string "***" for options those content is protected from the user.
Set to empty value to disable restricted user.
NOTE: Don't forget to change default username/password of the control user (options ControlUsername and ControlPassword).
RestrictedPassword
Password for restricted access.
default empty
Set to empty value to disable password check.
AddUsername
User name to add downloads via RPC-API.
default empty
Use the AddUsername/AddPassword to give other programs or web-services access to NZBGet with only two permissions: - add new downloads using RPC-method "append"; - check program version using RPC-method "version".
In a case the program/web-service needs more rights use the restricted user instead (options RestrictedUsername and RestrictedPassword).
Set to empty value to disable add-user.
NOTE: Don't forget to change default username/password of the control user (options ControlUsername and ControlPassword).
AddPassword
Password for user with add downloads access.
default empty
Set to empty value to disable password check.
FormAuth
yes, noAuthenticate using web-form (yes, no).
default no
The preferred and default way to authenticate in web-interface is using HTTP authentication. Web-browsers show a special dialog to enter username and password which they then send back to NZBGet. Sometimes browser plugins aided at storing and filling of passwords do not work properly with browser's built-in dialog. To help with such tools NZBGet provide an alternative authentication mechanism via web form.
JsonP
newyes, noAnswer JSON-P requests (yes, no).
default no
JSON-P is an old way for a web page on another site to call the API: the page loads "/jsonprpc/method?..." as a script, and the browser sends the login it keeps for NZBGet along with it. Any site you visit can do that and read the answer, so JSON-P is off by default. The web-interface and programs such as media managers use JSON-RPC or XML-RPC and don't need it.
When the option is active, JSON-P runs only the methods that read (for example "version", "status" and "listgroups"), and always with the access of the restricted user (option RestrictedUsername): user names, passwords, API keys and the other protected options come back as "***", whichever login the browser sends.
SecureControl
yes, noSecure control of NZBGet server (yes, no).
default no
Activate the option if you want to access NZBGet built-in web-server via HTTPS (web-interface and RPC). You should also provide certificate and key files, see option SecureCert and option SecureKey.
SecurePort
1-65535Port which NZBGet server and remote client use for encrypted communication (1-65535).
default 6791
SecureCert
Full path to certificate file for encrypted communication.
default empty
In case of Let's Encrypt: full path to fullchain.pem.
SecureKey
Full path to key file for encrypted communication.
default empty
In case of Let's Encrypt: full path to privkey.pem.
AuthorizedIP
IP-addresses allowed to connect without authorization.
default empty
List of privileged IPs for easy access to NZBGet built-in web-server (web-interface and RPC). The connected clients have full unrestricted access.
Separate entries with commas or semicolons. Use wildcard characters * and ? for pattern matching.
Example: 127.0.0.1, 192.168.178.*
NOTE: Do not use this option if the program works behind another web-server because all requests will have the address of this server.
CertCheck
yes, noTLS certificate verification (yes, no).
default no
When connecting to a news server (for downloading) or a web server (for fetching of rss feeds and nzb-files) the authenticity of the server should be validated using server security certificate. If the check fails that means the connection cannot be trusted and must be closed with an error message explaining the security issue.
Sometimes servers are improperly configured and the certificate verification fails even if there is no hacker attack in place. In that case you should inform the server owner about the issue. If you still need to connect to servers with invalid certificates you can disable the certificate verification but you should know that your connection is insecure and you might be connecting to attacker's server without your awareness.
NOTE: Certificate verification requires a list of trusted root certificates, which must be configured using option CertStore.
NOTE: For more details visit https://nzbget.com/documentation/certificate-verification/.
UpdateCheck
none, stable, testingAutomatically check for new releases (none, stable, testing).
default stable
None - do not show notifications; Stable - show notifications about new stable releases; Testing - show notifications about new testing releases;
DaemonUsername
User name for daemon-mode, POSIX only.
default root
Set the user that the daemon normally runs at (POSIX in daemon-mode only). Set MainDir with an absolute path to be sure where it will write. This allows NZBGet daemon to be launched in rc.local (at boot), and download items as a specific user id.
NOTE: If DaemonUsername is not "root" and doesn't exist the daemon will not start. NOTE: If the daemon is running as root (superuser) and DaemonUsername exists, nzbget will drop root privileges to the user specified by DaemonUsername.
UMask
000-1000Specify default umask, POSIX only (000-1000).
default 1000
UMask determines the settings of a mask that controls how file permissions are set for newly created files and directories. Please note that UMask doesn't set file permissions directly, it merely filters out certain permissions. It also has very different effect from command "chmod", which you shouldn't confuse UMask with. Please read https://en.wikipedia.org/wiki/Umask for details.
The value should be written in octal form (the same as for "umask" shell command). Empty value or value "1000" disables the setting of umask-mode; current umask-mode (set via shell) is used in this case.
Categories
CategoryN.Name
Category name.
default Movies
Each nzb-file can be assigned to a category. Category name is passed to post-processing script and can be used by it to perform category specific processing.
CategoryN.DestDir
Destination directory for this category.
default empty
If this option is empty, then the default destination directory (option DestDir) is used. In this case if the option AppendCategoryDir is active, the program creates a subdirectory with category name within destination directory.
CategoryN.Unpack
yes, noUnpack downloaded nzb-files (yes, no).
default yes
For more information see global option Unpack.
CategoryN.Extensions
List of extension scripts for this category.
default empty
For more information see global option Extensions.
CategoryN.Aliases
List of aliases.
default empty
When a nzb-file is added from URL, RSS or RPC the category name is usually supplied by nzb-site or by application accessing NZBGet. Using Aliases you can match their categories with your owns.
Separate aliases with commas or semicolons. Use wildcard characters * and ? for pattern matching.
Example: TV - HD, TV - SD, TV*
RSS feeds
FeedN.Name
Name of RSS Feed.
default my feed
The name is used in UI and for logging. It can be any string.
FeedN.URL
Address (URL) of RSS Feed.
default empty
Example: https://myindexer.com/api?apikey=3544646bfd1c535a9654645609800901&t=search&q=game.
FeedN.Filter
Filter rules for items.
default empty
Use filter to ignore unwanted items in the feed. In its simplest version the filter is a space separated list of words which must be present in the item title.
Example: linux debian dvd.
MORE INFO: NOTE: This is a short documentation, for more information visit https://nzbget.com/documentation/rss/.
Feed filter consists of rules - one rule per line. Each rule defines a search string and a command, which must be performed if the search string matches. There are five kinds of rule-commands: Accept, Reject, Require, Options, Comment.
NOTE: Since options in the configuration file can not span multiple lines, the lines (rules) must be separated with %-character (percent).
Definition of a rule: [A:|A(options):|R:|Q:|O(options):|#] search-string
A - declares Accept-rule. Rules are accept-rules by default, the
"A:" can be omitted. If the feed item matches to the rule the
item is considered good and no further rules are checked.
R - declares Reject-rule. If the feed item matches to the rule the
item is considered bad and no further rules are checked.
Q - declares Require-rule. If the feed item DOES NOT match to the rule
the item is considered bad and no further rules are checked.
O - declares Options-rule. If the feed item matches to the rule the
options declared in the rule are set for the item. The item is
neither accepted nor rejected via this rule but can be accepted
later by one of Accept-rules. In this case the item will have its
options already set (unless the Accept-rule overrides them).
# - lines starting with # are considered comments and are ignored. You
can use comments to explain complex rules or to temporary disable
rules for debugging.
Options allow to set properties on nzb-file. It's a comma-separated list of property names with their values.
Definition of an option: name:value
Options can be defined using long option names or short names:
category (cat, c) - set category name, value is a string;
pause (p) - add nzb in paused or unpaused state, possible
values are: yes (y), no (n);
priority (pr, r) - set priority, value is a signed integer number;
priority+ (pr+, r+) - increase priority, value is a signed integer number;
dupescore (ds, s) - set duplicate score, value is a signed integer number;
dupescore+ (ds+, s+) - increase duplicate score, value is a signed integer number;
dupekey (dk, k) - set duplicate key, value is a string;
dupekey+ (dk+, k+) - add to duplicate key, value is a string;
dupemode (dm, m) - set duplicate check mode, possible values
are: score (s), all (a), force (f);
rageid - generate duplicate key using this rageid
(integer number) and season/episode numbers;
series - generate duplicate key using series identifier
(any unique string) and season/episode numbers.
Examples of option definitions: Accept(category:my series, pause:yes, priority:100): my show 1080p; Options(c:my series, p:y, r:100): 1080p; Options(s:1000): 1080p; Options(k+:1080p): 1080p; Options(dupemode:force): BluRay.
Rule-options override values set in feed-options.
The search-string is similar to used in search engines. It consists of search terms separated with spaces. Every term is checked for a feed item and if they all succeed the rule is considered matching.
Definition of a term: [+|-][field:][command]param
+ - declares a positive term. Terms are positive by default,
the "+" can be omitted;
- - declares a negative term. If the term succeeds the feed
item is ignored;
field - field to which apply the term. If not specified
the default field "title" is used;
command - a special character defining how to interpret the
parameter (followed after the command):
@ - search for string "param". This is default command,
the "@" can be omitted;
$ - "param" defines a regular expression (using POSIX Extended
Regular Expressions syntax);
= - equal;
< - less than;
<= - equal or less than;
> - greater than;
>= - equal or greater than;
param - parameter for command.
Commands @ and $ are for use with text fields (title, filename, category, link, description, dupekey). Commands =, <, <=, > and >= are for use with numeric fields (size, age, imdbid, rageid, season, episode, priority, dupescore).
Only fields title, filename and age are always present. The availability of other fields depend on rss feed provider.
Any newznab attribute (encoded as "newznab:attr" in the RSS feed) can be used as search field with prefix "attr-", for example "attr-genre".
Text search (Command @) supports wildcard characters * (matches any number of any characters), ? (matches any one character) and # (matches one digit). Text search is by default performed against words (word-search mode): the field content is separated into words and then each word is checked against pattern. If the search pattern starts and ends with * (star) the search is performed against the whole field content (substring-search mode). If the search pattern contains word separator characters (except * and ?) the search is performed on the whole field (the word-search would be obviously never successful in this case). Word separators are: !\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~.
Field "size" can have suffixes "K" or "KB" for kilobytes, "M" or "MB" for megabytes and "G" or "GB" for gigabytes. Field "age" can have suffixes "m" for minutes, "h" for hours and "d" for days. If suffix is not specified default is days.
Examples (the trailing ; or . is not part of filter): 1) A: s01* -category:anime; 2) my show WEB-DL; 3) *my?show* WEB-DL size:<1.8GB age:>2h; 4) R: size:>9GB; 5) Q: HDTV.
NOTE: This is a short documentation, for more information visit https://nzbget.com/documentation/rss/.
FeedN.Interval
minutesHow often to check for new items (minutes).
default 15
Value "0" disables the automatic check of this feed.
FeedN.Backlog
yes, noTreat all items on first fetch as backlog (yes, no).
default yes
yes - when the feed is fetched for the very first time (or after
changing of URL or filter) all existing items are ignored (marked
as backlog). The items found on subsequent fetches are processed;
no - all items are processed even on first fetch (or after
changing of URL or filter).FeedN.PauseNzb
yes, noAdd nzb-files as paused (yes, no).
default no
FeedN.Category
Category for added nzb-files.
default empty
NOTE: Feed providers may include category name within response when nzb-file is downloaded. To use the provider’s category leave this option empty and use Feed1.CategorySource accordingly.
FeedN.CategorySource
auto, NZBFile, FeedFileWhere to retrieve the category information for a download (auto, NZBFile, FeedFile).
default NzbFile
Auto - Try to retrieve the category from the NZB file first. If not found,
try the feed file.
NzbFile - Always retrieve the category from the NZB file. If not found, the
category is left empty.
FeedFile - Always retrieve the category from the feed file. If not found, the
category is left empty.
NOTE: This option works only when filters did not set a category and the Feed1.Category option is empty.FeedN.CertVerification
Strict, Minimal, NoneCertificate verification level (Strict, Minimal, None).
default strict
None - NO certificate signing check, NO certificate hostname check
Minimal - certificate signing check, NO certificate hostname check
Strict - certificate signing check, certificate hostname check
FeedN.Priority
numberPriority for added nzb-files (number).
default 0
Priority can be any integer value. The web-interface however operates with only six predefined priorities: -100 (very low priority), -50 (low priority), 0 (normal priority, default), 50 (high priority), 100 (very high priority) and 900 (force priority). Downloads with priorities equal to or greater than 900 are downloaded and post-processed even if the program is in paused state (force mode).
FeedN.Extensions
List of rss feed extension scripts to execute for rss content.
default empty
The scripts in the list must be separated with commas or semicolons. All scripts must be stored in directory set by option ScriptDir and paths relative to ScriptDir must be entered here.
NOTE: For developer documentation visit https://nzbget.com/documentation/extension-scripts/.
Incoming NZBs
AppendCategoryDir
yes, noCreate subdirectory with category-name in destination-directory (yes, no).
default yes
NzbDirInterval
secondsHow often incoming-directory (option <NzbDir>) must be checked for new nzb-files (seconds).
default 5
Value "0" disables the check.
NOTE: nzb-files are processed by extension scripts. See option Extensions.
NzbDirFileAge
secondsHow old nzb-file should at least be for it to be loaded to queue (seconds).
default 60
NZBGet checks if nzb-file was not modified in last few seconds, defined by this option. That safety interval prevents the loading of files, which were not yet completely saved to disk, for example if they are still being downloaded in web-browser.
NzbDirArchiveScan
yes, noScan archives (zip, rar, 7z, etc.) in <NzbDir> for .nzb files (yes, no).
default yes
yes - scan archives (extract to temporary sandbox). See option NzbDirArchiveAction
for post-scan behavior.
no - ignore archives (only process raw .nzb files).NzbDirArchiveAction
move, deleteAction for processed archives in NzbDir (move, delete).
default delete
Move - move the archive to '_processed' (on success) or '_broken'
(on failure) sub-directory.
Delete - delete the archive.
NOTE: Files are deleted ONLY if .nzb files were successfully imported. NOTE: If the archive contains files other than .nzb, the archive will NOT be deleted to prevent accidental data loss. Instead, it will be moved to the '_processed' directory. If processing fails, the file is moved to '_broken' directory to prevent data loss.
DupeCheck
yes, noCheck for duplicate titles (yes, no).
default yes
If this option is enabled the program checks by adding of a new nzb-file: 1) if history contains the same title (see below) with success status the nzb-file is not added to queue; 2) if download queue already contains the same title the nzb-file is added to queue for backup (if the first file fails); 3) if nzb-file contains duplicate entries. This helps to find errors in bad nzb-files.
"Same title" means the nzb file name is same or the duplicate key is same. Duplicate keys are set by fetching from RSS feeds using title identifier fields provided by RSS provider (imdbid or rageid/season/episode).
If duplicates were detected only one of them is downloaded. If download fails another duplicate is tried. If download succeeds all remaining duplicates are deleted from queue.
NOTE: For automatic duplicate handling option HealthCheck must be set to "Delete", "Park" or "None". If it is set to "Pause" you will need to manually unpause another duplicate (if any exists in queue).
NOTE: For more info on duplicates see https://nzbget.com/documentation/rss/.
DupeArticleFallback
newno, article, stream, liveFetch missing articles from duplicate collections (no, article, stream, live).
default no
When an article cannot be downloaded from any news server, the program looks for duplicates of the collection (same title or duplicate key, see option DupeCheck) in download queue and history and retries the article using the message-id of the equivalent article of the duplicate. This can rescue downloads where each posting of the same content is incomplete on its own but the postings complete each other.
In stream/live modes, a collection's own PAR2 files are checked first. Matching recovery blocks are used before fetching duplicate data. Stream recovery is attempted only for files PAR repair cannot restore; its changes are then verified by a full PAR check. PAR2 files themselves are never borrowed or patched through duplicate article or stream recovery.
Value "article" borrows articles only from files which match the failed file exactly in article count and closely in size; borrowed articles declaring a different file size are discarded. Small mismatches at segment boundaries can remain and are repaired by par-check. Value "yes" is accepted as an alias for "article" for compatibility with older versions.
When the primary posting proves to be missing many articles of a file, the remaining articles of that file are requested from the duplicate first (with the primary kept as a final fallback), instead of paying a failing sweep over all news servers per article. Independently, the duplicate that is tried first is not fixed: whenever it misses several articles in a row, the next duplicate (in duplicate-score order) takes its place, so one badly holed posting does not slow down recovery when other duplicates could serve the articles. All duplicates and the primary remain fetch sources for every article regardless of which one is tried first.
Value "stream" additionally repairs files on byte level after download: byte ranges which no news server could supply are fetched from a duplicate posting that carries the same bytes, even when that posting was split into articles differently. This recovers reposts of ANY release - including password-protected and compressed archives, since the repair copies posted bytes without unpacking or decrypting them. It also recovers across DIFFERENT packagings of the same inner media file, as long as the content bytes were not transformed: a directly posted file, store-mode (uncompressed) rar volumes, stored zip (also spanned), 7-Zip in copy mode (also .001 splits) and raw file splits can all donate to each other, even when volume sizes differ. Compressed archives can only donate to byte-identical reposts of themselves: bridging two different compression runs is physically impossible. With option DupeStreamDecompress enabled and an extractor configured, byte-level repair also bridges DIFFERENT compressions of the same inner media file by decompressing the donor first; without it, two different compression runs still cannot donate to each other directly. Password-protected store-mode rar archives (rar3 and rar5) are mapped and cross-packed the same way as unencrypted ones when nzbget knows the archive's password - supplied via the NZB's password field, not typed in here - including bridging two DIFFERENT passwords on either side of a repair. Without a known password an encrypted archive can still only donate to a byte-identical repost of itself. Content identity is verified against already downloaded bytes before anything is written; par-check remains active as final verification. A file none of whose articles is available anywhere is recreated whole from a duplicate which proved byte-identical on the collection's other files (its twin member found by name or volume numbering). The damaged download must survive until post-processing for the repair to run (option HealthCheck values "delete" and "park" can remove it before that; value "dupe" keeps a repairable download alive and parks only one the duplicates cannot complete).
Value "live" includes everything "stream" does and additionally runs the byte-level repair DURING download: as soon as a damaged file of the collection completes (while its other files are still downloading), the missing byte ranges can be fetched from duplicates before the download finishes when no PAR2 files are known. Live recovery waits while direct rename identifies obfuscated files, and collections with parity use the normal PAR check before donor recovery. Each damaged file gets one such early attempt (without the decompression step of option DupeStreamDecompress); post-processing remains the final authority - it retries whatever is left, applies the health accounting below and hands over to par-check as usual.
NOTE: Health statistics are recounted for the bytes stream repair recovers. A file is credited back to health only once ALL of its holes are filled, so a release whose files are therefore fully repaired reaches full health and completes normally (moved to its destination directory) even without par-files. A release that is only partially repaired is credited nothing for its still-damaged files, so it keeps its failed status and its files remain in the intermediate directory; with par-files present the requested par-check verifies the repaired file and the download completes normally.
Duplicates whose packaging stream repair cannot cross-map (e.g. compressed archives, an encrypted archive whose password is unknown, or an unrelated inner file) cannot be merged this way; for these cases duplicate handling (option DupeCheck) and par-repair using files of duplicates (option <ParScan=dupe>) remain in effect.
NOTE: The source nzb-files of duplicates must still exist in directory NzbDir (option NzbCleanupDisk must be disabled) for articles to be borrowed from history items.
DupeStreamDecompress
newyes, noRecover byte-identical content from compressed duplicate archives (yes, no).
default no
Option DupeArticleFallback value "stream" only donates bytes that are copyable without decompression (store-mode rar/zip/7z, raw splits, directly posted media). A duplicate posted as a normally-compressed archive (deflate zip, LZMA 7z, compressed rar) of the same inner media file cannot donate under that scheme, because its posted bytes are a compression of the content, not the content itself.
When this option is enabled and "stream" repair still has holes after trying every store-mode/split/bare donor, nzbget materializes a compressed duplicate's member files to a temporary directory and runs the configured extractor (UnrarCmd/SevenZipCmd) on them to recover the inner file's plaintext bytes, which are then verified and patched exactly like any other stream-repair donor.
This is an opt-in, heavier last resort: it fetches and decompresses an entire duplicate archive (the fetched archive is bounded by an internal size cap; the decompressed inner file it writes to the temporary directory is not, so ensure the intermediate directory has room) instead of only the byte ranges needed, and requires a working extractor. It only helps a target that "stream" can otherwise map to its inner content (directly posted media, or store/copy-mode rar/zip/7z/split archives with holes); a compressed target still cannot be repaired this way, since there is no plaintext location to write into a compressed member. A password-protected store-mode target IS supported: the extracted donor plaintext is re-encrypted under the target's own stream context (its password taken from the NZB's password field, as for the non-decompression encrypted repair) before the bytes are written, so a compressed duplicate can repair an encrypted store-mode archive too.
DupeStreamTimeout
new0 = no limitSeconds a stream repair may go without recovering anything (0 = no limit).
default 60
A repair from duplicates that stops making progress is usually fetching articles that no server has any more: the duplicates were taken down together with the download. After this long without a recovered byte the repair stops, keeps what it wrote, and leaves the rest to par-repair, so a bad release fails quickly and the client can grab another one. A repair that keeps recovering bytes but so slowly that the rest would take more than 3 times as long as downloading it at nzbget's average speed is stopped too (judged once it ran half this long): another release is quicker. Whatever its progress, a repair stops once it ran 5 times this long (5 minutes at 60). Applies to every pass (the live pass during the download and the one in post-processing).
DupeSearch
newyes, noSearch for duplicates of a new download (yes, no).
default no
When a download is added, nzbget asks the Newznab-compatible indexer (usually NZBHydra2) set in option DupeSearchUrl for other postings of the same release, downloads their nzb-files, checks how much of each one still exists on the news servers and queues the live ones paused, as duplicates of the download under the same duplicate key. If the download turns out dead or damaged beyond repair, the best duplicate takes its place (see option HealthCheck value "dupe") or repairs it (see option DupeArticleFallback).
Needs option DupeCheck enabled. Only the top-scored item of a duplicate key is searched for: duplicates, items returned from history and nzb-files that this search added itself are not.
DupeSearchUrl
newNewznab-compatible search URL for option <DupeSearch>.
default empty
The URL of the api endpoint without parameters, for example "http://127.0.0.1:5076/api". Parameters (t, q, apikey, ...) are added by nzbget.
DupeSearchApiKey
newAPI key for option <DupeSearchUrl>.
default empty
DupeSearchDelay
newsecondsSeconds to wait before searching (seconds).
default 20
A client that submits several postings itself (a main one and its own backups) adds them within a few seconds; the search runs after they have arrived so that it can see all of them.
DupeSearchDryRun
newyes, noOnly log what the search would do (yes, no).
default no
The search runs and logs its decisions and summary, but queues no duplicate and changes no score: for trying it beside another tool that does the same.
DupeSearchMaxDonors
new0 = unlimitedMaximum number of duplicates to queue per download (0 = unlimited).
default 0
DupeHealthPercent
newpercentShare of a posting's articles to check for existence (percent).
default 5
Together with DupeHealthMin and DupeHealthMax sets how many articles of a candidate duplicate are checked on the news servers to estimate how much of it is alive. A first check of about 10 articles discards postings that are dead outright.
DupeHealthMin
newMinimum number of articles to check per posting.
default 50
DupeHealthMax
newMaximum number of articles to check per posting.
default 1000
DupeBodyChecks
newarticlesNumber of articles per posting to download and verify (articles).
default 20
Of the checked articles this many are downloaded and their yEnc checksum verified, because a news server may say an article exists when its body is gone. 0 disables the download check.
DupeHealthBudget
newsecondsTime limit for checking one posting (seconds).
default 120
When the time runs out, articles that most servers do not have count as missing, so that a slow check does not make a posting look better than it is.
DupeMinAlive
newpercentMinimum share of a posting that must be alive to be queued (percent).
default 50
DupeFastDonors
newduplicatesNumber of duplicates that are queued right after the first check (duplicates).
default 5
The first check of about 10 articles proves a posting alive quickly; this many such postings are queued at once, the rest after their full check.
Download queue
FlushQueue
yes, noFlush download queue to disk (yes, no).
default yes
Immediately flush file buffers for queue state file. This improves safety for the queue file but may decrease disk performance due to disabling of disk caching for queue state file.
You can disable this option if it negatively affects disk performance on your system. You should create backups of queue-directory (option QueueDir) in that case. Keep the option enabled if your system often crashes.
ContinuePartial
yes, noContinue download of partially downloaded files (yes, no).
default yes
If active the current state (the info about what articles were already downloaded) is saved every second and is reloaded after restart. This is about files included in download jobs (usually rar-files), not about download-jobs (nzb-files) itself. Download-jobs are always continued regardless of that option.
Disabling this option may slightly reduce disk access and is therefore recommended on fast connections.
PropagationDelay
minutesPropagation delay to your news servers (minutes).
default 0
The option sets minimum post age for nzb-files. Very recent files are not downloaded to avoid download failures. The files remain on hold in the download queue until the propagation delay expires, after that they are downloaded.
ArticleCache
megabytesMemory limit for article cache (megabytes).
default 0
Article cache helps to improve performance. First the amount of disk operations can be significantly reduced. Second the created files are less fragmented, which again speeds up the post-processing (unpacking).
The article cache works best with option DirectWrite which can effectively use even small cache (like 50 MB).
If option DirectWrite is disabled the cache should be big enough to hold all articles of one file (typically up to 200 MB, sometimes even 500 MB). Otherwise the articles are written into temporary directory when the cache is full, which degrades performance.
Value "0" disables article cache.
In 32 bit mode the maximum allowed value is 1900.
NOTE: Also see option WriteBuffer.
DirectWrite
yes, noWrite decoded articles directly into destination output file (yes, no).
default yes
Files are posted to Usenet in multiple pieces (articles). Each file typically consists of hundreds of articles.
When option DirectWrite is disabled and the article cache (option ArticleCache) is not active or is full the program saves downloaded articles into temporary directory and later reads them all to write again into the destination file.
When option DirectWrite is enabled the program at first creates the output destination file with required size (total size of all articles), then writes the articles directly to this file without creating of any temporary files. If article cache (option ArticleCache) is active the downloaded articles are saved into cache first and are written into the destination file when the cache flushes. This happen when all articles of the file are downloaded or when the cache becomes full to 90%.
The direct write relies on the ability of file system to create empty files without allocating the space on the drive (sparse files), which most modern file systems support including EXT3, EXT4 and NTFS. The notable exception is HFS+ (default file system on OSX).
The direct write usually improves performance by reducing the amount of disk operations but may produce more fragmented files when used without article cache.
WriteBuffer
kilobytesMemory limit for per connection write buffer (kilobytes).
default 0
When downloaded articles are written into disk the OS collects data in the internal buffer before flushing it into disk. This option controls the size of this buffer per connection/download thread.
Larger buffers decrease the amount of disk operations and help producing less fragmented files speeding up the post-processing (unpack).
To calculate the maximum memory required for all download threads multiply WriteBuffer by number of connections configured in section "NEWS-SERVERS". The option sets the limit, the actual buffer can be smaller if the article size (typically about 500 KB) is below the limit.
Write-buffer is managed by OS (system libraries) and therefore the effect of the option is highly OS-dependent.
Recommended value for computers with enough memory: 1024.
Value "0" disables the setting of buffer size. In this case a buffer of default size (OS and compiler specific) is used, which is usually too small (1-4 KB) and therefore not optimal.
NOTE: Also see option ArticleCache.
FileNaming
auto, article, nzbHow to name downloaded files (auto, article, nzb).
default auto
Article - use file names stored in article metadata;
Nzb - use file names as defined in nzb-file;
Auto - prefer names from article metadata; for obfuscated files use
names from nzb-file.
NOTE: This option sets the naming convention for files listed in nzb. It has no effect on files extracted from archives.
PostDownloadRename
yes, noRename downloaded non-archive files if obfuscated (yes, no).
default yes
Renames downloaded non-archive obfuscated files (such as standalone video) using the NZB name or metadata.
RenameAfterUnpack
yes, noRename downloaded files after unpack (yes, no).
default yes
Renames extracted obfuscated files using the NZB name or metadata.
RenameIgnoreExt
File extensions to ignore during post-download or post-unpack renaming.
default empty
Archive (.rar, .7z, .zip) and parity (.par2, .sfv) files are already protected automatically. Use this option to exclude additional extensions from renaming (e.g. .nfo, .exe, .cbr).
NOTE: Only needed if PostDownloadRename or RenameAfterUnpack is enabled.
ReorderFiles
yes, noReorder files within nzbs for optimal download order (yes, no).
default yes
When nzb-file is added to queue the files listed within nzb can be in a random order. When "ReorderFiles" is active the files are automatically sorted alphabetically to ensure download of archive parts in correct order. The par2-files are moved to the end and then sorted by size.
NOTE: When option DirectRename is active the files are sorted again after the file names become known.
PostStrategy
sequential, balanced, aggressive, rocketPost-processing strategy (sequential, balanced, aggressive, rocket).
default balanced
Sequential - downloaded items are post processed from a queue, one item at a
time, to dedicate the most computer resources to each
item. Therefore, a post process par repair will prevent another
task from running even if the item does not require a par repair;
Balanced - items that do not need par repair are post processed one at a
time while par repair tasks may also run simultaneously one after
another at the same time. This means that a post process par
repair will not prevent another task from running, but at a cost
of using more computer resource;
Aggressive - will simultaneously post process up to three items including
one par repair task;
Rocket - will simultaneously post process up to six items including one
or two par repair tasks.
NOTE: Computer resources are in heavy demand when post-processing with simultaneous tasks - make sure the hardware is capable.
DiskSpace
megabytesPause if disk space gets below this value (megabytes).
default 250
Disk space is checked for directories pointed by option DestDir and option InterDir.
Value "0" disables the check.
NzbCleanupDisk
yes, noDelete source nzb-file when it is not needed anymore (yes, no).
default yes
Enable this option for automatic deletion of source nzb-file from incoming directory when the program doesn't require it anymore (the nzb-file has been deleted from queue and history).
KeepHistory
daysKeep the history of downloaded nzb-files (days).
default 30
After download and post-processing the items are added to history where their status can be checked and they can be post-processed again if necessary.
After expiring of defined period:
If option DupeCheck is active the items become hidden and the amount of data kept is significantly reduced (for better performance), only fields necessary for duplicate check are kept. The item remains in the hidden history (forever);
If option DupeCheck is NOT active the items are removed from history.
When a failed item is removed from history or become hidden all downloaded files of that item are deleted from disk.
Value "0" disables history. Duplicate check will not work.
FeedHistory
daysKeep the history of outdated feed items (days).
default 7
After fetching of an RSS feed the information about included items (nzb-files) is saved to disk. This allows to detect new items on next fetch. Feed providers update RSS feeds constantly. Since the feed length is limited (usually 100 items or less) the old items get pushed away by new ones. When an item is not present in the feed anymore it's not necessary to keep the information about this item on the disk.
If option is set to "0", the outdated items are deleted from history immediately.
Otherwise the items are held in the history for defined number of days. Keeping of items for few days helps in situations when feed provider has technical issues and may response with empty feeds (or with missing items). When the technical issue is fixed the items may reappear in the feed causing the program to re-download items if they were not found in the feed history.
SkipWrite
yes, noDiscard downloaded data (do not write into disk) (yes, no).
default no
This option is for speed test purposes (benchmarking). When enabled the downloaded data is not written into disk. The destination files are still created but are either empty or contain zeros (depending on other options). The post-processing (unpack, repair, etc.) is also completely disabled.
NOTE: This option is meant for development purposes. You should not activate it except maybe for speed tests.
RawArticle
yes, noWrite article raw data (yes, no).
default no
When enabled the article content is written into disk in raw form without processing.
NOTE: This option is meant for development purposes. You should not activate it.
Connection
ArticleRetries
0-99How many retries should be attempted if a download error occurs (0-99).
default 3
If download fails because of incomplete or damaged article or due to CRC-error the program tries to re-download the article from the same news server as many times as defined in this option. If all attempts fail the program tries another news server.
If download fails because of "article or group not found error" the program tries another news server without retrying on the failed server.
ArticleInterval
secondsArticle retry interval (seconds).
default 10
If download of article fails because of interrupted connection the server is temporary blocked until the retry interval expires.
ArticleTimeout
secondsConnection timeout for article downloading (seconds).
default 60
ArticleReadChunkSize
kilobytesChunk size when reading data from the news server (kilobytes).
default 4
UrlRetries
0-99Number of download attempts for URL fetching (0-99).
default 3
If fetching of nzb-file via URL or fetching of RSS feed fails another attempt is made after the retry interval (option UrlInterval).
UrlInterval
secondsURL fetching retry interval (seconds).
default 10
If fetching of nzb-file via URL or fetching of RSS feed fails another attempt is made after the retry interval.
UrlTimeout
secondsConnection timeout for URL fetching (seconds).
default 60
Connection timeout when fetching nzb-files via URLs and fetching RSS feeds.
RemoteTimeout
secondsTimeout for incoming connections (seconds).
default 90
Set timeout for connections from clients (web-browsers and API clients).
DownloadRate
kilobytes/secSet the maximum download rate on program start (kilobytes/sec).
default 0
The download rate can be changed later in web-interface or via remote calls.
Value "0" means no speed control.
UrlConnections
0-999Maximum number of simultaneous connections for nzb URL downloads (0-999).
default 4
When NZB-files are added to queue via URL, the program downloads them from the specified URL. The option limits the maximal number of connections used for this purpose, when multiple URLs were added at the same time.
UrlForce
yes, noForce URL-downloads even if download queue is paused (yes, no).
default yes
If option is active the URL-downloads (such as appending of nzb-files via URL or fetching of RSS feeds and nzb-files from feeds) are performed even if download is in paused state.
MonthlyQuota
megabytesMonthly download volume quota (megabytes).
default 0
During download the quota is constantly monitored and the downloading is automatically stopped if the limit is reached. Once the next billing month starts the "quota reached"-status is automatically lifted and the downloading continues.
Downloads with force-priority are processed regardless of quota status.
Value "0" disables monthly quota check.
QuotaStartDay
1-31Day of month when the monthly quota starts (1-31).
default 1
DailyQuota
megabytesDaily download volume quota (megabytes).
default 0
See option MonthlyQuota for details.
Value "0" disables daily quota check.
Logging
SystemHealthCheck
yes, noActivate system health monitoring (yes, no).
default yes
When enabled, NZBGet analyzes the configuration and system environment to detect setup issues, performance bottlenecks, and potential errors.
WriteLog
none, append, reset, rotateHow to use log file (none, append, reset, rotate).
default rotate
none - do not write into log file;
append - append to the existing log file or create it;
reset - delete existing log file on program start and create a new one;
rotate - create new log file for each day, delete old files,
see option RotateLog.RotateLog
daysLog file rotation period (days).
default 3
Defines how long to keep old log-files, when log rotation is active (option WriteLog is set to "rotate").
ErrorTarget
screen, log, both, noneHow error messages must be printed (screen, log, both, none).
default both
WarningTarget
screen, log, both, noneHow warning messages must be printed (screen, log, both, none).
default both
InfoTarget
screen, log, both, noneHow info messages must be printed (screen, log, both, none).
default both
DetailTarget
screen, log, both, noneHow detail messages must be printed (screen, log, both, none).
default log
DebugTarget
screen, log, both, noneHow debug messages must be printed (screen, log, both, none).
default log
Debug-messages can be printed only if the program was compiled in debug-mode: "./configure --enable-debug".
LogBuffer
messagesNumber of messages stored in screen buffer (messages).
default 1000
NzbLog
yes, noCreate log for each downloaded nzb-file (yes, no).
default yes
The messages are saved for each download separately and can be viewed at any time in download details dialog or history details dialog.
CrashTrace
yes, noPrint call stack trace into log on program crash (Linux and Windows) (yes, no).
default yes
Call stack traces are very helpful for debugging. Call stack traces can be printed only when the program was compiled in debug mode.
CrashDump
yes, noSave memory dump into disk on program crash (Linux only) (yes, no).
default no
Memory dumps (core-files) are very helpful for debugging, especially if they were produced by the program compiled in debug mode.
NOTE: Memory dumps may contain sensitive data, like your login/password to news-server etc.
TimeCorrection
hours or minutesLocal time correction (hours or minutes).
default 0
The option allows to adjust timestamps when converting system time to local time and vice versa. The conversion is used when printing messages to the log-file and by option "TaskX.Time" in the scheduler settings.
The option is usually not needed if the time zone is set up correctly. However, sometimes, especially when using a binary compiled on another platform (cross-compiling) the conversion between system and local time may not work properly and requires adjustment.
Values in the range -24..+24 are interpreted as hours, other values as minutes. Example 1: set time correction to one hour: TimeCorrection=1; Example 2: set time correction to one hour and a half: TimeCorrection=90.
Display (terminal)
OutputMode
loggable, colored, cursesSet screen-outputmode (loggable, colored, curses).
default curses
loggable - only messages will be printed to standard output;
colored - prints messages (with simple coloring for messages categories)
and download progress info; uses escape-sequences to move cursor;
curses - advanced interactive interface with the ability to edit
download queue and various output option.CursesNzbName
yes, noShows NZB-Filename in file list in curses-outputmode (yes, no).
default yes
This option controls the initial state of curses-frontend, it can be switched on/off in run-time with Z-key.
CursesGroup
yes, noShow files in groups (NZB-files) in queue list in curses-outputmode (yes, no).
default no
This option controls the initial state of curses-frontend, it can be switched on/off in run-time with G-key.
CursesTime
yes, noShow timestamps in message list in curses-outputmode (yes, no).
default no
This option controls the initial state of curses-frontend, it can be switched on/off in run-time with T-key.
UpdateInterval
millisecondsUpdate interval for Frontend-output in console mode or remote client mode (milliseconds).
default 200
Min value 25. Bigger values reduce CPU usage (especially in curses-outputmode) and network traffic in remote-client mode.
Scheduler
TaskN.Time
HH:MMTime to execute the command (HH:MM).
default 08:00
Multiple comma-separated values are accepted. An asterisk placed in the hours location will run task every hour (e. g. "*:00"). An asterisk without minutes will run task at program startup (e. g. "*").
Examples: "08:00", "00:00,06:00,12:00,18:00", "*:00", "*,*:00,*:30".
NOTE: Also see option TimeCorrection.
TaskN.WeekDays
1-7Week days to execute the command (1-7).
default 1-7
Comma separated list of week days numbers. 1 is Monday. Character '-' may be used to define ranges.
Examples: "1-7", "1-5", "5,6", "1-5, 7".
TaskN.Command
PauseDownload, UnpauseDownload, PausePostProcess, UnpausePostProcess, PauseScan, UnpauseScan, DownloadRate, Script, Process, ActivateServer, DeactivateServer, FetchFeedCommand to be executed (PauseDownload, UnpauseDownload, PausePostProcess, UnpausePostProcess, PauseScan, UnpauseScan, DownloadRate, Script, Process, ActivateServer, DeactivateServer, FetchFeed).
default PauseDownload
Possible commands:
PauseDownload - pause download;
UnpauseDownload - resume download;
PausePostProcess - pause post-processing;
UnpausePostProcess - resume post-processing;
PauseScan - pause scan of incoming nzb-directory;
UnpauseScan - resume scan of incoming nzb-directory;
DownloadRate - set download rate limit;
Script - execute one or multiple scheduler scripts. The scripts
must be written specially for NZBGet;
Process - execute an external (any) program;
ActivateServer - activate news-server;
DeactivateServer - deactivate news-server;
FetchFeed - fetch RSS feed.
On start the program checks all tasks and determines current state for download-pause, scan-pause, download-rate and active servers.
TaskN.Param
Parameters for the command if needed.
default empty
Some scheduler commands require additional parameters:
DownloadRate - download rate limit to be set (kilobytes/sec).
Example: 1000.
NOTE: use value "0" to disable download limit (unlimited speed).
Script - list of scheduler scripts to execute. The scripts in the
list must be separated with commas or semicolons. All
scripts must be stored in directory set by option
ScriptDir and paths relative to ScriptDir must be
entered here. For developer documentation visit
https://nzbget.com/documentation/extension-scripts/;
Process - path to the program to execute and its parameters.
Example: /home/user/fetch.sh.
If filename or any parameter contains spaces it
must be surrounded with single quotation
marks. If filename/parameter contains single quotation marks,
each of them must be replaced (escaped) with two single quotation
marks and the resulting filename/parameter must be
surrounded with single quotation marks.
Example: '/home/user/download/my scripts/task process.sh' 'world''s fun'.
In this example one parameter (world's fun) is passed
to the script (task process.sh).
ActivateServer - comma separated list of news server ids or server names.
Example: 1,3.
Example: my news server 1, my news server 2.
NOTE: server names should not have commas.
DeactivateServer - see ActivateServer.
FetchFeed - comma separated list of RSS feed ids or feed names.
Example: 1,3.
Example: bookmarks feed, another feed.
NOTE: feed names should not have commas.
NOTE: use feed id "0" to fetch all feeds.Check and repair
CrcCheck
yes, noCheck CRC of downloaded and decoded articles (yes, no).
default yes
Normally this option should be enabled for better detecting of download errors and for quick par-verification (option ParQuick).
ParCheck
auto, always, force, manualWhether and how par-verification must be performed (auto, always, force, manual).
default auto
Auto - par-check is performed when needed. One par2-file is always
downloaded. Additional par2-files are downloaded if needed
for repair. Repair is performed if the option ParRepair
is enabled;
Always - check every download (even undamaged). One par2-file is
always downloaded. Additional par2-files are downloaded
if needed for repair. Repair is performed if the option
ParRepair is enabled;
Force - force par-check for every download (even undamaged). All
par2-files are always downloaded. Repair is performed if
the option ParRepair is enabled;
Manual - par-check is skipped. One par2-file is always
downloaded. If a damaged download is detected, all
par2-files are downloaded but neither par-check nor par-repair
take place. The download can be then repaired manually,
eventually on another faster computer.ParRepair
yes, noAutomatic par-repair after par-verification (yes, no).
default yes
If option ParCheck is set to "Auto" or "Force" this option defines if the download must be repaired when needed. The option can be disabled if a computer does not have enough CPU power, since repairing may consume too many resources and time on a slow computer.
ParScan
limited, extended, full, dupeWhat files should be scanned during par-verification (limited, extended, full, dupe).
default extended
Limited - scan only files belonging to par-set;
Extended - scan files belonging to par-set first, scan other files until
all missing files are found;
Full - scan all files in destination directory. Can be very time
consuming but may sometimes repair where Limited and Extended fail;
Dupe - scan files belonging to par-set first, scan other files until
repair is possible. Even files from other duplicate-downloads
are scanned. Can be very time consuming but brings best results.ParQuick
yes, noQuick file verification during par-check (yes, no).
default yes
If the option is active the files are quickly verified using checksums calculated during download; quick verification is very fast because it doesn't require the reading of files from disk, NZBGet knows checksums of downloaded files and quickly compares them with checksums stored in the par-file.
If the option is disabled the files are verified as usual. That's slow. Use this if the quick verification doesn't work properly.
ParBuffer
megabytesMemory limit for par-repair buffer (megabytes).
default 16
Set the amount of RAM that the par-checker may use during repair. Having the buffer as big as the total size of all damaged blocks allows for the optimal repair speed. The option sets the maximum buffer size, the allocated buffer can be smaller.
If you have a lot of RAM set the option to few hundreds (MB) for the best repair performance.
ParThreads
0-99Number of threads to use during par-repair (0-99).
default 0
On multi-core CPUs for the best speed set the option to the number of logical cores (physical cores + hyper-threading units). If you want to utilize the CPU to 100% you may need to add one or two additional threads to compensate for wait intervals used for thread synchronization.
On single-core CPUs use only one thread.
Set to '0' to automatically use all available CPU cores (may not work on old or exotic platforms).
ParIgnoreExt
Files to ignore during par-check.
default .sfv, .nzb, .nfo
List of file extensions, file names or file masks to ignore by par-rename and par-check. The entries must be separated with commas.
The entries must be separated with commas. The entries can be file extensions, file names or file masks containing wildcard characters * and ?.
If par-rename or par-check detect missing or damaged files they will ignore files matching this option and will not initiate repair. This avoids time costing repair for unimportant files.
Example: .sfv, .nzb, .nfo
ParRename
yes, noCheck for renamed and missing files using par-files (yes, no).
default yes
Par-rename restores original file names using information stored in par2-files. It also detects missing files (files listed in par2-files but not present on disk). When enabled the par-rename is performed as the first step of post-processing for every nzb-file.
Par-rename is very fast and is highly recommended, especially if unpack is disabled.
RarRename
yes, noCheck for renamed rar-files (yes, no).
default yes
Rar-rename restores original file names using information stored in rar-files. When enabled the rar-rename is performed as one of the first steps of post-processing for every nzb-file.
Rar-rename is useful for downloads not having par2-files or for downloads those files were renamed before creating par2-files. In both cases par-rename (option ParRename) can't rename files and the rar-rename makes it possible to unpack downloads which would fail otherwise.
DirectRename
yes, noDirectly rename files during downloading (yes, no).
default no
This is similar to par-renaming (option ParRename) but the files are renamed during downloading instead of post-processing stage. This requires some tricky handling of files and works only for healthy downloads.
HardLinking
yes, noHardlink files during downloading (yes, no).
default no
Hardlink the final files while downloading inDestDir.InterDirandDestDirmust be located on the same file system. Useful for streaming media from usenet.
NOTE: Only needed if DirectRename is enabled.
NOTE: On Windows only NTFS file system is supported.
HardLinkingIgnoreExt
File extensions to ignore during hardlinking.
default .zip, .7z, .rar, *.7z.###, *.r##
Example: .zip, .7z, .rar, *.7z.###, *.r##
NOTE: Only needed if HardLinking is enabled.
HealthCheck
changeddelete, park, pause, none, dupeWhat to do if download health drops below critical health (delete, park, pause, none, dupe).
default park
Delete - delete nzb-file from queue, also delete already downloaded files;
Park - move nzb-file to history, keep already downloaded files. Commands
"Download remaining files" and "Retry failed articles" are available
for this nzb;
Pause - pause nzb-file;
None - do nothing (continue download);
Dupe - like "None" unless a better duplicate of the title waits in
history: then the download is parked right away and that
duplicate is moved to the queue, instead of failing every
remaining article first. A duplicate is better when its
duplicate score is not below the score the download still
warrants at its remaining health (the score it was queued with,
scaled by its health; a score of 0 warrants nothing). With
option DupeArticleFallback enabled the failover waits until
the duplicates were asked for 32 missing articles and could
supply less than half of them, so a posting the duplicates
complete is not abandoned. A download that is hopeless - a
tenth of it was tried, fewer than one in ten of those articles
existed and no better duplicate waits - is parked as well
instead of failing every remaining article.
A posting none of whose articles exists anywhere is found out
sooner: when a download starts and a duplicate waits in
history, about 10 articles spread over the whole posting are
checked (STAT) on every active news server. If none exists and
enough servers (at least 5, or all of them if fewer) answered
that they have none, the download is parked at once and the
duplicate is moved to the queue. A posting with any article
alive is never abandoned this way.
The parked download keeps its files, remains a donor for the
duplicate's own repair, and can be retried from history.
Use "Dupe" when options DupeCheck and DupeArticleFallback are enabled (and especially with ParScan set to "Dupe"): "Delete" and "Park" remove a damaged download at critical health before the byte-level repair from duplicates and par-repair with files of duplicates can run, while "None" downloads every article of a dead posting - and only then fetches the duplicate that was waiting in history. "Dupe" keeps a repairable download alive, but abandons one the duplicates cannot complete as soon as that is known.
NOTE: For automatic duplicate handling option must be set to "Delete", "Park", "None" or "Dupe". If it is set to "Pause" you will need to manually move another duplicate from history to queue. See also option DupeCheck.
NOTE: When option ParScan is set to "Dupe" the park-action is performed only if article completion is below 10% (empirical threshold). This is to improve efficiency of dupe par scan mode.
ParTimeLimit
minutesMaximum allowed time for par-repair (minutes).
default 0
If you use NZBGet on a very slow computer like NAS-device, it may be good to limit the time allowed for par-repair. NZBGet calculates the estimated time required for par-repair. If the estimated value exceeds the limit defined here, NZBGet cancels the repair.
To avoid a false cancellation NZBGet compares the estimated time with ParTimeLimit after the first 5 minutes of repairing, when the calculated estimated time is more or less accurate. But in a case if ParTimeLimit is set to a value smaller than 5 minutes, the comparison is made after the first whole minute.
Value "0" means unlimited.
NOTE: The option limits only the time required for repairing. It doesn't affect the first stage of parcheck - verification of files. However, the verification speed is constant, it doesn't depend on files integrity and therefore it is not necessary to limit the time needed for the first stage.
ParPauseQueue
yes, noPause download queue during check/repair (yes, no).
default no
Enable the option to give CPU more time for par-check/repair. That helps to speed up check/repair on slow CPUs with fast connection (e.g. NAS-devices).
NOTE: If parchecker needs additional par-files it temporarily unpauses the queue.
NOTE: See also options ScriptPauseQueue and UnpackPauseQueue.
Unpack
Unpack
yes, noUnpack rar and 7-zip archives (yes, no).
default yes
Each download (nzb-file) has a post-processing parameter "Unpack". The option Unpack is the default value assigned to this pp-parameter of the download when it is added to queue.
When nzb-file is added to queue it can have a category assigned to it. In this case the option CategoryX.Unpack overrides the global option Unpack.
If the download is damaged and could not be repaired using par-files the unpacking is not performed.
If the option ParCheck is set to "Auto" the program tries to unpack downloaded files first. If the unpacking fails the par-check/repair is performed and the unpack is executed again.
DirectUnpack
yes, noDirectly unpack files during downloading (yes, no).
default no
When active the files are unpacked during downloading instead of post-processing stage. This works only for healthy downloads. Damaged downloads are unpacked as usual during post-processing stage after par-repair.
NOTE: This option requires unpack to be enabled in general via option Unpack. NOTE: For best results also activate option DirectRename and option ReorderFiles. NOTE: DirectUnpack only works with RAR archives. 7z and other formats are not supported.
UseTempUnpackDir
yes, noUse a temporary _unpack directory during unpacking (yes, no).
default yes
Enabled - Files are unpacked to a temporary subdirectory and then moved to the destination.
This guarantees integrity and preventing partial files in the final location.
Disabled - Files are unpacked directly into the destination directory.
This allows for immediate access to files during the unpacking process.UnpackPauseQueue
yes, noPause download queue during unpack (yes, no).
default no
Enable the option to give CPU more time for unpacking. That helps to speed up unpacking on slow CPUs.
NOTE: See also options ParPauseQueue and ScriptPauseQueue.
UnpackCleanupDisk
yes, noDelete archive files after successful unpacking (yes, no).
default yes
UnrarCmd
Full path to unrar executable.
default unrar
Example: /usr/bin/unrar.
The option can also contain extra switches to pass to unrar. To the here defined command line NZBGet adds the following switches: x -y -p- -o+ *.rar ./_unpack/
Switch "x" is added only if neither "x" nor "e" were defined in the option (this allows you to use switch "e" instead of "x"). switch "-o+" is added only if neither "-o+" nor "-o-" were defined in the command line. All other parameters are always added. Parameter "-p-" is replaced with "-ppassword" if a password is set for nzb-file.
Examples: 1) ignore file attributes (permissions): /usr/bin/unrar x -ai; 2) decrease priority of unrar-process: nice -n 19 unrar.
For other useful switches refer to unrar documentation.
If unrar is in your PATH you may leave the path part and set only the executable name ("unrar" on POSIX or "unrar.exe" on Windows).
SevenZipCmd
Full path to 7-Zip executable.
default 7z
Example: /usr/bin/7z.
Similar to option UnrarCmd this option can also include extra switches.
If 7-Zip binary is in your PATH you may leave the path part and set only the executable name ("7z" or "7za" on POSIX or "7z.exe" on Windows).
ExtCleanupDisk
Files to delete after successful download.
default .par2, .sfv
List of file extensions, file names or file masks to delete after successful download. If either unpack or par-check fail the cleanup is not performed. If download doesn't contain archives nor par-files the cleanup is performed if the health is 100%. If parameter "unpack" is disabled for that nzb-file the cleanup isn't performed.
The entries must be separated with commas. The entries can be file extensions, file names or file masks containing wildcard characters * and ?.
Example: .par2, .sfv
UnpackIgnoreExt
Files to ignore during unpack.
default .cbr
List of file extensions to ignore when unpacking archives or renaming obfuscated archive files. The entries must be separated with commas.
Archive files with non standard extensions belong to one of two categories: they are either obfuscated files or files with special purposes which should not be unpacked. List the files of second type here to avoid attempts to unpack them.
This option has effect on two post-processing stages.
First, during rar-rename (option RarRename) rar-files with non-standard extensions are renamed back to rar-extension, which is required for successful unpacking. Files with extensions listed here will not be renamed.
Second, if during unpack no rar-files are found but instead rar-archives with non-rar extensions are found the unpack fails. For files listed here no unpack failure occurs and download is considered not having archive files and be successful.
Example: .cbr
UnpackPassFile
Path to file containing unpack passwords.
default empty
If the option is set the program will try all passwords from the file when unpacking the archives. The file must be a text file containing one password per line.
If an nzb-file has a defined password (in the post-processing settings) then the password-file is not used for that nzb-file.
NOTE: Trying multiple passwords is a time consuming task. Whenever possible passwords should be set per nzb-file in their post-processing settings.
Extension scripts
Extensions
List of active extension scripts for new downloads.
default empty
Extension scripts associated with nzb-files are executed before, during or after download as defined by script developer.
Each download (nzb-file) has its own list of extension scripts; the list can be viewed and changed in web-interface in download details dialog or via API. Option Extensions sets defaults for new downloads; changes to option Extensions do not affect downloads which are already in queue.
When nzb-file is added to queue it can have a category assigned to it. In this case option CategoryX.Extensions (if not empty) have precedence and defines the scripts for that nzb-file; consequently global option Extensions has no effect for that nzb-file.
Certain extensions work globally for the whole program instead of per-nzb basis. Such extensions are activated once and cannot be overriden per category or per nzb.
The scripts in the list must be separated with commas or semicolons. All scripts must be stored in directory set by option ScriptDir and paths relative to ScriptDir must be entered here.
Example: Cleanup.sh, Move.sh, EMail.py.
NOTE: The script execution order is controlled by option ScriptOrder, not by their order in option Extensions.
NOTE: For developer documentation visit https://nzbget.com/documentation/extension-scripts/.
ScriptOrder
Execution order for extension scripts.
default empty
If you assign multiple scripts to one nzb-file, they are executed in the order defined by this option.
The scripts in the list must be separated with commas or semicolons. All scripts must be stored in directory set by option ScriptDir and paths relative to ScriptDir must be entered here.
Example: Cleanup.sh, Move.sh.
ScriptPauseQueue
yes, noPause download queue during executing of postprocess-script (yes, no).
default no
Enable the option to give CPU more time for postprocess-script. That helps to speed up postprocess on slow CPUs with fast connection (e.g. NAS-devices).
NOTE: See also options ParPauseQueue and UnpackPauseQueue.
ShellOverride
Shell overrides for script interpreters.
default empty
By default extension scripts are executed as normal programs. The system finds an associated interpreter automatically. If for some reason that doesn't work properly you can provide shell overrides here.
This option contains a comma separated list of shell overrides per file extension. A shell override consists of file extension (starting with dot) followed by equal sign and the full path to script interpreter.
Example: .py=/usr/bin/python2;.py3=/usr/bin/python3;.sh=/usr/bin/bash.
EventInterval
secondsMinimum interval between queue events (seconds).
default 0
Extension scripts can opt-in for progress notifcations during download. For downloads containing many small files the events can be fired way too often increasing load on the system due to script execution.
This option allows to reduce the number of calls of scripts by skipping "file-downloaded"-events if the previous call for the same download (nzb-file) were performed a short time ago (as defined by the option).
Value "-1" disables "file-downloaded"-events. Scripts are still notified on other events (such as "nzb-added" or "nzb-downloaded").