This application is a high-speed command line and GUI Usenet poster for binaries, designed for secure and efficient data posting. Developed with C++17 and Qt 6.8.2, it features file compression, par2 file generation, and a posting queue for managing multiple uploads. The tool automates tasks by scanning folders and posting files, with options for executing commands post-upload and shutting down the computer upon completion.
All the features are highlighted here. Some of the prominent ones being:
- Full obfuscation of the post.
- Built in posting queue, allows for the addition of items to the queue whilst the queue is processing.
- Full posting automation.
- Compression using RAR or 7zip.
- Multiple server support.
- Optional VPN tunnel for ngPost NNTP traffic only (OpenVPN/WireGuard, per-server opt-in — Linux & Windows).
- Multithreading.
- And many more.
Releases will be available for, Linux 64 Bit and Windows 64 Bit. Support for MacOS and Raspbian will be considered in the future.
For building the project yourself, please refer to the wiki
ngPost can route selected NNTP servers through an embedded VPN tunnel without changing the system default route. In the GUI, open VPN..., choose OpenVPN or WireGuard, select the VPN configuration file, then tick Use VPN on the servers that must use the tunnel.
When a server is marked Use VPN, ngPost binds that server's NNTP sockets to the tunnel IP and refuses to post or check through that server if the VPN is unavailable. Other applications and the normal system routing table are left untouched.
Linux: A privileged helper script is installed once via pkexec/Polkit. The AppImage bundles the VPN runtime assets; source builds install helper resources under /var/lib/ngpost.
Windows: ngPost uses the OpenVPN Interactive Service or the WireGuard for Windows installation to bind NNTP sockets to the tunnel interface via IP_UNICAST_IF. No extra helper is required.
The related configuration keys are:
VPN_AUTO_CONNECT = false
VPN_BACKEND = openvpn
VPN_CONFIG_PATH = /path/to/config.ovpn
[server]
useVpn = trueVPN_AUTO_CONNECT starts the tunnel automatically when a job starts and disconnects it after the queue has been empty for a short grace period.
- Matthieu Bruel for the base project
- Uukrull for his intensive testing and feedbacks and for building all the MacOS packages.
- awsms for his testing on proper server with a 10Gb/s connection that helped to improve ngPost's upload speed and the multi-threading support
- animetosho for having developped ParPar, the fasted par2 generator ever!
- demanuel for the dev of NewsUP that was my first poster
- noobcoder1983, tensai then yuppie for the German translation
- tiriclote for the Spanish translation
- hunesco for the Portuguese translation
- Peng for the Chinese translation
- All the ngPost users
