RustyGet docs · rewrite in progress
Source

rustyget::docs::options

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, no

Use 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-99

Level (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, no

This 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-99

Group 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, no

Encrypted 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-65535

News Server port, usually 563 for secure connections, 119 for unsecure connections, rare - 80 or 443 (1-65535).

default 563

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-999

Maximum number of simultaneous connections to this server (0-999).

default 8

ServerN.Retention

days

Server 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, None

Certificate 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.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-65535

Port 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, no

Authenticate 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, no

Answer 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, no

Secure 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-65535

Port 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, no

TLS 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, testing

Automatically 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-1000

Specify 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, no

Unpack downloaded nzb-files (yes, no).

default yes

For more information see global option Unpack.

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

minutes

How often to check for new items (minutes).

default 15

Value "0" disables the automatic check of this feed.

FeedN.Backlog

yes, no

Treat 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.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, FeedFile

Where 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, None

Certificate 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

number

Priority 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, no

Create subdirectory with category-name in destination-directory (yes, no).

default yes

NzbDirInterval

seconds

How 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

seconds

How 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, no

Scan 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, delete

Action 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, no

Check 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, live

Fetch 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, no

Recover 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 limit

Seconds 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, no

Search 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

new

Newznab-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.

DupeSearchDelay

newseconds

Seconds 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, no

Only 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 = unlimited

Maximum number of duplicates to queue per download (0 = unlimited).

default 0

DupeHealthPercent

newpercent

Share 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

new

Minimum number of articles to check per posting.

default 50

DupeHealthMax

new

Maximum number of articles to check per posting.

default 1000

DupeBodyChecks

newarticles

Number 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

newseconds

Time 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

newpercent

Minimum share of a posting that must be alive to be queued (percent).

default 50

DupeFastDonors

newduplicates

Number 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, no

Flush 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, no

Continue 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

minutes

Propagation 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

megabytes

Memory 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, no

Write 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

kilobytes

Memory 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, nzb

How 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, no

Rename 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, no

Rename 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, no

Reorder 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, rocket

Post-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

megabytes

Pause 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, no

Delete 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

days

Keep 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

days

Keep 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, no

Discard 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, no

Write 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-99

How 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

seconds

Article 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

seconds

Connection timeout for article downloading (seconds).

default 60

ArticleReadChunkSize

kilobytes

Chunk size when reading data from the news server (kilobytes).

default 4

UrlRetries

0-99

Number 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

seconds

URL 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

seconds

Connection timeout for URL fetching (seconds).

default 60

Connection timeout when fetching nzb-files via URLs and fetching RSS feeds.

RemoteTimeout

seconds

Timeout for incoming connections (seconds).

default 90

Set timeout for connections from clients (web-browsers and API clients).

DownloadRate

kilobytes/sec

Set 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-999

Maximum 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, no

Force 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

megabytes

Monthly 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-31

Day of month when the monthly quota starts (1-31).

default 1

DailyQuota

megabytes

Daily download volume quota (megabytes).

default 0

See option MonthlyQuota for details.

Value "0" disables daily quota check.

Logging

SystemHealthCheck

yes, no

Activate 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, rotate

How 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

days

Log 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, none

How error messages must be printed (screen, log, both, none).

default both

WarningTarget

screen, log, both, none

How warning messages must be printed (screen, log, both, none).

default both

InfoTarget

screen, log, both, none

How info messages must be printed (screen, log, both, none).

default both

DetailTarget

screen, log, both, none

How detail messages must be printed (screen, log, both, none).

default log

DebugTarget

screen, log, both, none

How 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

messages

Number of messages stored in screen buffer (messages).

default 1000

NzbLog

yes, no

Create 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, no

Print 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, no

Save 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 minutes

Local 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, curses

Set 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, no

Shows 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, no

Show 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, no

Show 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

milliseconds

Update 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:MM

Time 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-7

Week 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, FetchFeed

Command 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, no

Check 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, manual

Whether 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, no

Automatic 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, dupe

What 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, no

Quick 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

megabytes

Memory 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-99

Number 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, no

Check 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, no

Check 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, no

Directly 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, no

Hardlink files during downloading (yes, no).

default no

Hardlink the final files while downloading in DestDir.
 InterDir and DestDir must 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, dupe

What 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

minutes

Maximum 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, no

Pause 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, no

Unpack 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, no

Directly 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, no

Use 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, no

Pause 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, no

Delete 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, no

Pause 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

seconds

Minimum 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").