Installation on a POSIX compliant system (Linux, FreeBSD, Mac OS, etc.) in most cases requires compiling from the source code. If you have troubles installing the program this way please take a look at Category:Installation and HOW-TOs, where you can find instructions for particular platforms, which may already have prebuilt binaries. For cross compiling tips please refer to Cross compiling.
NZBGet is developed on a linux-system, but it should run on other POSIX platforms.
NZBGet absolutely needs the following libraries:
And the following libraries are optional:
For par-check and -repair:
For encrypted connections (TLS/SSL):
All these libraries are included in modern Linux distributions and should be available as installable packages. Please note that you also need the developer packages for these libraries too, they package names have often suffix "dev" or "devel". On other systems you may need to download the libraries at the given URLs and compile them (see hints below).
Well, the usual stuff:
tar -zxf nzbget-VERSION.tar.gz
maybe you have to tell configure, where to find some libraries. "./configure --help" is your friend! ;-). Also see Configure-options below.
NOTE: if you want to spare some space on the drive you can install the stripped version (which is much smaller) of the binary instead:
The stripped version doesn't include any debugging symbols. You shouldn't do stripping if you compile the binary in debug mode (using ./configure --enable-debug).
NOTE: if you do not have root-access or do not want to install the program system-wide, you can omit the install-step and copy the compiled binary "nzbget" into any location you want.
You may run configure with additional arguments:
NZBGet can check and repair downloaded files for you. For this purpose it uses library par2 (libpar2), which needs sigc++ on its part.
The libpar2 and libsigc++ (version 2 or later) must be installed on your system. On most linux distributions these libraries are available as packages. If you do not have these packages you can compile them yourself. Following configure-parameters may be usefull:
--with-libpar2-includes --with-libpar2-libraries --with-libsigc-includes --with-libsigc-libraries
The library libsigc++ must be installed first, since libpar2 requires it.
Important note: If you use nzbget on a very slow computer like NAS-device, it may be good to limit the time allowed for par-repair (option "ParTimeLimit" in nzbget configuration file). This feature requires a patched version of libpar2. The distribution archive of NZBGet includes this patch and another patch that fixes few bugs in libpar2. Both patches were submitted to libpar2-project, but it seems to be abandoned. To recompile libpar2 download the original source code of libpar2 (version 0.2) and apply patches "libpar2-0.2-bugfixes.patch" and "libpar2-0.2-cancel.patch", provided with nzbget:
cd libpar2-0.2 cp ~/nzbget/libpar2-0.2-*.patch . patch < libpar2-0.2-bugfixes.patch patch < libpar2-0.2-cancel.patch ./configure make make install
If you are not able to use libpar2 or libsigc++ or do not want them you can make nzbget without support for par-check using option "--disable-parcheck":
For curses-outputmode you need ncurses or curses on your system. If you do not have one of them you can download and compile ncurses yourself. Following configure-parameters may be usefull:
If you are not able to use curses or ncurses or do not want them you can make the program without support for curses using option --disable-curses:
To enable encrypted server connections (TLS/SSL) you need to build the program with TLS/SSL support. NZBGet can use two libraries: GnuTLS or OpenSSL. Configure-script checks which library is installed and use it. If both are avialable it gives the precedence to GnuTLS. You may override that with the option --with-tlslib=(GnuTLS, OpenSSL). For example to build whith OpenSSL:
Following configure-parameters may be usefull:
If none of these libraries is available you can make the program without TLS/SSL support using option "--disable-tls":
NZBGet need a configuration file. After make install an example configuration file nzbget.conf is installed into /usr/shared/nzbget/nzbget.conf. Use command:
This command copies the configuration file into /etc/nzbget.conf and makes few changes in the file to adjust to your system paths. If you don't want the file to be system wide available you can instead of "make install-conf" copy the file into your home directory. If you name the file "~/.nzbget" NZBGet will find it automatically. You can use any other path and name but then you need to pass the full filename of the configuration file when starting NZBGet:
nzbget -c /path/to/nzbget.conf -D