-
Notifications
You must be signed in to change notification settings - Fork 0
NgPost conf
Languages: English | Français
This page lists the configuration keys recognized by ngPost in ngPost.conf. Key names are case-insensitive.
See Configuration for the default file location and migration from legacy paths.
lang = EN
nzbPath = /data/nzbs
GROUPS = alt.binaries.test
GROUP_POLICY = EACH_POST
POST_DB = /data/ngPost_history.sqlite
[server]
host = news.example.com
port = 563
ssl = true
user = myUser
pass = myPass
connection = 20
enabled = true
nzbCheck = false
useVpn = false- Use
KEY = value. - Empty lines and lines starting with
#or/are ignored. - Booleans accept
true,onor1; any other value is treated as false for most boolean keys. - You can define several
NZB_POST_CMDlines: each line adds one command executed after each post. - Repeat
[server]to configure several NNTP providers. - Repeat
[vpn_profile]to configure several VPN profiles.
| Key | Example | Purpose |
|---|---|---|
lang |
lang = EN |
Application language. Supported values include EN, FR, ES, DE, NL, PT, ZH. |
nzbPath |
nzbPath = /data/nzbs |
Default output folder for generated NZB files. CLI -o overrides it. |
inputDir |
inputDir = /data/incoming |
Default folder opened by the GUI file picker. |
GROUPS |
GROUPS = alt.binaries.test,alt.binaries.misc |
Comma-separated posting groups. |
GROUP_POLICY |
GROUP_POLICY = EACH_POST |
Group distribution policy: ALL, EACH_POST, EACH_FILE. |
FROM |
FROM = poster@example.com |
Fixed poster email. If missing, ngPost can generate one. |
GEN_FROM |
GEN_FROM = true |
Generate a new random poster for each post in auto/monitor mode. |
thread |
thread = 4 |
Number of posting threads. By default ngPost uses available CPU cores. |
DISP_PROGRESS |
DISP_PROGRESS = BAR |
CLI progress display: NONE, BAR, or FILES. |
msg_id |
msg_id = ngPost |
Message-ID signature after the @. |
article_size |
article_size = 716800 |
Article size in bytes. |
retry |
retry = 5 |
Retry count for failed articles. |
obfuscate |
obfuscate = article |
Obfuscate article subjects with UUIDs. Keep the NZB. |
PROXY_SOCKS5 |
PROXY_SOCKS5 = user:pass@host:1080 |
SOCKS5 proxy for network traffic. |
SHUTDOWN_CMD |
SHUTDOWN_CMD = sudo -n shutdown -h now |
Command executed when the queue is finished. |
NZB_UPLOAD_URL |
NZB_UPLOAD_URL = https://example/upload |
Upload generated NZBs to http, https, or ftp. |
NZB_POST_CMD |
NZB_POST_CMD = script "__nzbPath__" |
Command run after each post. Define several NZB_POST_CMD lines to run several commands. |
NZB_RM_ACCENTS |
NZB_RM_ACCENTS = true |
Remove accents and special characters from NZB filenames. |
AUTO_CLOSE_TABS |
AUTO_CLOSE_TABS = true |
GUI only: close successful quick-post tabs automatically. |
CHECK_FOR_UPDATES |
CHECK_FOR_UPDATES = true |
Check GitHub once a day for a new ngPost release. |
LAST_UPDATE_CHECK |
LAST_UPDATE_CHECK = 0 |
Internal timestamp managed by ngPost. Do not edit manually. |
LOG_IN_FILE |
LOG_IN_FILE = true |
GUI only: write logs to ngPost.log for debugging. |
| Key | Example | Purpose |
|---|---|---|
MONITOR_NZB_FOLDERS |
MONITOR_NZB_FOLDERS = true |
Store NZBs from each monitored folder in its own subfolder under nzbPath. |
MONITOR_EXTENSIONS |
MONITOR_EXTENSIONS = mkv,mp4,iso |
Only monitor files with these extensions. No dots. |
MONITOR_IGNORE_DIR |
MONITOR_IGNORE_DIR = true |
Ignore newly arrived folders in monitor mode. |
MONITOR_SEC_DELAY_SCAN |
MONITOR_SEC_DELAY_SCAN = 5 |
Wait 1-120 seconds for a new file/folder size to stabilize before posting. |
RESUME_WAIT |
RESUME_WAIT = 30 |
Seconds before automatic resume after network loss. Minimum effective value is 30. |
NO_RESUME_AUTO |
NO_RESUME_AUTO = true |
Disable automatic resume on network loss. |
SOCK_TIMEOUT |
SOCK_TIMEOUT = 30 |
Socket inactivity timeout in seconds. Minimum effective value is 5. |
PREPARE_PACKING |
PREPARE_PACKING = true |
Prepare packing of the next queued post while uploading the current one. |
| Key | Example | Purpose |
|---|---|---|
POST_DB |
POST_DB = /data/ngPost_history.sqlite |
Structured SQLite history database path. This is the current history backend. |
HISTORY_STORE_PASSWORDS |
HISTORY_STORE_PASSWORDS = false |
Store archive passwords in the SQLite history. |
POST_HISTORY |
POST_HISTORY = /data/ngPost_history.csv |
Legacy CSV history path. Kept for import/backward compatibility. |
FIELD_SEPARATOR |
FIELD_SEPARATOR = ; |
Field separator for legacy CSV history. |
| Key | Example | Purpose |
|---|---|---|
KEEP_NFO_EXTENSION |
KEEP_NFO_EXTENSION = true |
Keep .nfo visible when filenames are obfuscated. |
NZB_COPY_NFO |
NZB_COPY_NFO = true |
Copy the original .nfo next to the generated NZB. |
AUTO_INCLUDE_NFO |
AUTO_INCLUDE_NFO = true |
Auto/monitor mode: include a sibling .nfo in the same post. |
| Key | Example | Purpose |
|---|---|---|
PACK |
PACK = COMPRESS, GEN_NAME, GEN_PASS, GEN_PAR2 |
Default packing recipe used by GUI and CLI --pack. Allowed keywords: COMPRESS, GEN_NAME, GEN_PASS, GEN_PAR2. |
AUTO_COMPRESS |
AUTO_COMPRESS = true |
Legacy key. Use PACK instead. |
TMP_DIR |
TMP_DIR = /tmp |
Temporary folder for archives and par2 files. Must be writable. |
TMP_RAM |
TMP_RAM = /mnt/ngPost_tmpfs |
Optional tmpfs/RAM-backed temporary folder when available. |
TMP_RAM_RATIO |
TMP_RAM_RATIO = 1.1 |
Required free-space ratio for TMP_RAM. Valid range: 1.1 to 2.0. |
RAR_PATH |
RAR_PATH = /usr/bin/rar |
Path to rar or 7z. AppImage/Windows builds may auto-detect bundled tools. |
RAR_EXTRA |
RAR_EXTRA = -ep1 -m0 -k -rr5p |
Extra options passed to RAR/7z. |
RAR_SIZE |
RAR_SIZE = 42 |
Archive volume size in MB. 0 means no split. |
RAR_MAX |
RAR_MAX = 99 |
Maximum number of archive volumes; ngPost adjusts volume size if needed. |
RAR_PASS |
RAR_PASS = myPassword |
Fixed archive password for compressed posts. |
KEEP_RAR |
KEEP_RAR = true |
Keep generated archives/par2 after a successful post. |
RAR_NO_ROOT_FOLDER |
RAR_NO_ROOT_FOLDER = true |
Remove the root parent folder when compressing folders. |
PAR2_PCT |
PAR2_PCT = 8 |
Par2 redundancy percentage. 0 disables par2 generation. |
PAR2_PATH |
PAR2_PATH = /usr/local/bin/parpar |
Path to par2/ParPar/MultiPar. |
PAR2_ARGS |
PAR2_ARGS = -s1M --auto-slice-size -r1n*0.6 -m2048M -p1l --progress stdout -q |
Fixed arguments for the par2-compatible tool. |
LENGTH_NAME |
LENGTH_NAME = 22 |
Length of generated random archive names. |
LENGTH_PASS |
LENGTH_PASS = 15 |
Length of generated random archive passwords. |
Each [server] block defines one NNTP server.
[server]
host = news.example.com
port = 563
ssl = true
user = myUser
pass = myPass
connection = 20
enabled = true
nzbCheck = false
useVpn = true| Key | Purpose |
|---|---|
host |
NNTP server hostname or IP. |
port |
NNTP port. Common values: 119, 563, 443. |
ssl |
Enable TLS/SSL. |
user |
NNTP username. |
pass |
NNTP password. |
connection |
Number of NNTP connections for this server. |
enabled |
Enable/disable this server for posting. |
nzbCheck |
Use this server for NZB availability checks. |
useVpn |
Route this server through the active VPN profile. |
Modern VPN configuration uses VPN_AUTO_CONNECT, VPN_ACTIVE_PROFILE, and one or more [vpn_profile] sections.
VPN_AUTO_CONNECT = true
VPN_ACTIVE_PROFILE = Mullvad-NL
[vpn_profile]
name = Mullvad-NL
backend = wireguard
config_file = mullvad-nl.conf
has_auth = false| Key | Scope | Purpose |
|---|---|---|
VPN_AUTO_CONNECT |
global | Start the active VPN profile automatically when a job needs it. |
VPN_ACTIVE_PROFILE |
global | Name of the active VPN profile. |
VPN_BACKEND |
global legacy | Legacy single-profile backend, openvpn or wireguard; kept for migration. |
VPN_CONFIG_PATH |
global legacy | Legacy single-profile config path; kept for migration. |
name |
[vpn_profile] |
Profile name. |
backend |
[vpn_profile] |
openvpn or wireguard. |
config_file |
[vpn_profile] |
Imported config filename stored under the config vpn/ folder. |
has_auth |
[vpn_profile] |
Whether the OpenVPN profile requires username/password credentials. |
NZB_POST_CMD can use these placeholders:
If several NZB_POST_CMD lines are present, ngPost runs all of them after each post, in the order they appear in the configuration file.
| Placeholder | Meaning |
|---|---|
__nzbPath__ |
Full path of the written NZB file. |
__nzbName__ |
NZB name without extension, based on the original source name. |
__rarName__ |
Archive name, especially useful when obfuscating. |
__rarPass__ |
Archive password. |
__sizeInByte__ |
Post size before yEnc encoding. |
__groups__ |
Comma-separated group list. |
__nbFiles__ |
Number of files in the post. |
__nbArticles__ |
Number of articles. |
__nbArticlesFailed__ |
Number of articles that failed to post. |
Example:
NZB_POST_CMD = curl -X POST -F "file=@__nzbPath__" -F "api=12345" https://example/post-api
NZB_POST_CMD = ~/scripts/postNZB.sh "__nzbPath__" "__groups__" __rarName__ __rarPass__Practical example: copy the NZB to an archive folder, then notify a custom script.
NZB_POST_CMD = cp "__nzbPath__" "/data/archive-nzbs/"
NZB_POST_CMD = ~/scripts/notify-post.sh "__nzbName__" "__groups__" "__rarName__" "__rarPass__"In this example, both commands run after every post. The first command archives the generated NZB file; the second calls a script with the post name, groups, archive name and password.
nzbPath = /data/nzbs
GROUPS = alt.binaries.test
PACK = COMPRESS, GEN_NAME, GEN_PASS, GEN_PAR2
TMP_DIR = /data/tmp
RAR_PATH = /usr/bin/rar
RAR_SIZE = 100
PAR2_PCT = 8
LENGTH_NAME = 22
LENGTH_PASS = 15MONITOR_EXTENSIONS = mkv,mp4,avi
MONITOR_IGNORE_DIR = true
MONITOR_SEC_DELAY_SCAN = 10
MONITOR_NZB_FOLDERS = trueVPN_AUTO_CONNECT = true
VPN_ACTIVE_PROFILE = Privacy
[vpn_profile]
name = Privacy
backend = openvpn
config_file = privacy.ovpn
has_auth = true
[server]
host = news.example.com
port = 563
ssl = true
user = myUser
pass = myPass
connection = 20
enabled = true
useVpn = trueStart
Use ngPost
Project
Démarrer
Utiliser ngPost
Projet