{"id":13431668,"url":"https://github.com/nzbget/nzbget","last_synced_at":"2025-03-16T12:31:05.409Z","repository":{"id":33899293,"uuid":"37613809","full_name":"nzbget/nzbget","owner":"nzbget","description":"Efficient Usenet Downloader","archived":true,"fork":false,"pushed_at":"2024-01-05T04:17:21.000Z","size":9685,"stargazers_count":1213,"open_issues_count":103,"forks_count":194,"subscribers_count":47,"default_branch":"develop","last_synced_at":"2024-08-01T02:28:48.946Z","etag":null,"topics":["nzbget","usenet"],"latest_commit_sha":null,"homepage":"https://nzbget.net","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nzbget.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2015-06-17T18:38:40.000Z","updated_at":"2024-07-25T16:27:09.000Z","dependencies_parsed_at":"2023-02-18T21:45:40.748Z","dependency_job_id":"4b81a2d0-dca5-475d-847e-f96601418d3f","html_url":"https://github.com/nzbget/nzbget","commit_stats":null,"previous_names":[],"tags_count":72,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nzbget%2Fnzbget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nzbget%2Fnzbget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nzbget%2Fnzbget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nzbget%2Fnzbget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nzbget","download_url":"https://codeload.github.com/nzbget/nzbget/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221663621,"owners_count":16859867,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nzbget","usenet"],"created_at":"2024-07-31T02:01:04.924Z","updated_at":"2024-10-27T10:32:04.741Z","avatar_url":"https://github.com/nzbget.png","language":"C++","funding_links":[],"categories":["C++","HarmonyOS","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++"],"sub_categories":["Windows Manager"],"readme":"=====================================\n           NZBGet ReadMe\n=====================================\n\nThis is a short documentation. For more information please\nvisit NZBGet home page at \n  http://nzbget.net\n\nContents          \n--------\n1. About NZBGet\n2. Supported OS\n3. Prerequisites on POSIX\n4. Installation on POSIX\n5. Compiling on Windows\n6. Configuration\n7. Usage\n8. Authors\n9. Copyright\n10. Contact\n\n=====================================\n1. About NZBGet\n=====================================\n\nNZBGet is a binary newsgrabber, which downloads files from usenet\nbased on information given in nzb-files. NZBGet can be used in\nstandalone and in server/client modes. In standalone mode you \npass a nzb-file as parameter in command-line, NZBGet downloads\nlisted files and then exits. \n\nIn server/client mode NZBGet runs as server in background.\nThen you use client to send requests to server. The sample requests\nare: download nzb-file, list files in queue, etc.\n\nThere is also a built-in web-interface. The server has RPC-support\nand can be controlled from third party applications too.\n\nStandalone-tool, server and client are all contained in only one \nexecutable file \"nzbget\". The mode in which the program works \ndepends on command-line parameters passed to the program.\n\n=====================================\n2. Supported OS\n=====================================\n\nNZBGet is written in C++ and works on Windows, OS X, Linux and\nmost POSIX-conform OS'es.\n\nClients and servers running on different OS'es may communicate with\neach other. For example, you can use NZBGet as client on Windows to \ncontrol your NZBGet-server running on Linux.\n\nThe download-section of NZBGet web-site provides binary files\nfor Windows, OS X and Linux. For most POSIX-systems you need to compile\nthe program yourself. \n\nIf you have downloaded binaries you can just jump to section \n\"Configuration\".\n\n=====================================\n3. Prerequisites on POSIX\n=====================================\n\nNZBGet is developed on a linux-system, but it runs on other\nPOSIX platforms.\n\nNZBGet absolutely needs the following libraries:\n\n - libstdc++     (usually part of compiler)\n - libxml2       (http://www.xmlsoft.org)\n\nAnd the following libraries are optional:\n\n - for curses-output-mode (enabled by default):\n   - libcurses   (usually part of commercial systems)\n     or (better)\n   - libncurses  (http://invisible-island.net/ncurses)\n    \n - for encrypted connections (TLS/SSL):\n   - OpenSSL     (http://www.openssl.org)\n     or\n   - GnuTLS      (http://www.gnu.org/software/gnutls)\n\n - for gzip support in web-server and web-client (enabled by default):\n   - zlib     (http://www.zlib.net)\n\nAll these libraries are included in modern POSIX distributions and\nshould be available as installable packages. Please note that you also \nneed the developer packages for these libraries too, they package names \nhave often suffix \"dev\" or \"devel\". On other systems you may need to \ndownload the libraries at the given URLs and compile them (see hints below).\n\n=====================================\n4. Installation on POSIX\n=====================================\n\nInstallation from the source distribution archive (nzbget-VERSION.tar.gz):\n\n - untar the nzbget-source via\n     tar -zxf nzbget-VERSION.tar.gz\n\n - change into nzbget-directory via\n     cd nzbget-VERSION\n\n - configure it via\n     ./configure\n\n   (maybe you have to tell configure, where to find some libraries.\n       ./configure --help is your friend!\n    also see \"Configure-options\" later)\n\n - in a case you don't have root access or want to install the program\n   in your home directory use the configure parameter --prefix, e. g.:\n\n  ./configure --prefix ~/usr\n\n - compile it via\n     make\n\n - to install system wide become root via:\n     su\n\n - install it via:\n     make install\n\n - install configuration files into \u003cprefix\u003e/etc via:\n     make install-conf\n\n   (you can skip this step if you intend to store configuration\n    files in a non-standard location)\n\nConfigure-options\n-----------------\nYou may run configure with additional arguments:\n\n  --disable-curses - to make without curses-support. Use this option\n    if you can not use curses/ncurses.\n    \n  --disable-parcheck - to make without parcheck-support. Use this option\n    if you have troubles when compiling par2-module.\n\n  --with-tlslib=(OpenSSL, GnuTLS) - to select which TLS/SSL library\n    should be used for encrypted server connections.\n      \n  --disable-tls - to make without TLS/SSL support. Use this option if\n    you can not neither OpenSSL nor GnuTLS.\n\n  --disable-gzip - to make without gzip support. Use this option\n    if you can not use zlib.\n       \n  --enable-debug - to build in debug-mode, if you want to see and log\n    debug-messages.\n    \nOptional package: par-check\n---------------------------\nNZBGet can check and repair downloaded files for you. For this purpose\nit uses library par2.\n\nFor your convenience the source code of libpar2 is integrated into\nNZBGet’s source tree and is compiled automatically when you make NZBGet.\n\nIn a case errors occur during this process the inclusion of par2-module\ncan be disabled using configure option \"--disable-parcheck\":\n\n  ./configure --disable-parcheck\n\nOptional package: curses\n-------------------------\nFor curses-outputmode you need ncurses or curses on your system.\nIf you do not have one of them you can download and compile ncurses yourself.\nFollowing configure-parameters may be useful:\n\n  --with-libcurses-includes=/path/to/curses/includes\n  --with-libcurses-libraries=/path/to/curses/libraries\n\nIf you are not able to use curses or ncurses or do not want them you can\nmake the program without support for curses using option \"--disable-curses\":\n\n  ./configure --disable-curses\n\nOptional package: TLS\n-------------------------\nTo enable encrypted server connections (TLS/SSL) you need to build the program\nwith TLS/SSL support. NZBGet can use two libraries: OpenSSL or GnuTLS.\nConfigure-script checks which library is installed and use it. If both are\navailable it gives the precedence to OpenSSL. You may override that with\nthe option --with-tlslib=(OpenSSL, GnuTLS). For example to build with GnuTLS:\n\n  ./configure --with-tlslib= GnuTLS\n  \nFollowing configure-parameters may be useful:\n\n  --with-libtls-includess=/path/to/gnutls/includes\n  --with-libtls-libraries=/path/to/gnutls/libraries\n\n  --with-openssl-includess=/path/to/openssl/includes\n  --with-openssl-libraries=/path/to/openssl/libraries\n\nIf none of these libraries is available you can make the program without \nTLS/SSL support using option \"--disable-tls\":\n\n  ./configure --disable-tls\n  \n=====================================\n5. Compiling on Windows\n=====================================\n\nNZBGet is developed using MS Visual Studio 2015 (Community Edition). The project\nfile is provided.\n\nTo compile the program with TLS/SSL support you need either OpenSSL or GnuTLS:\n   - OpenSSL  (http://www.openssl.org)\n   or\n   - GnuTLS   (http://www.gnu.org/software/gnutls)\n\nAlso required are:\n   - Regex (http://gnuwin32.sourceforge.net/packages/regex.htm)\n   - Zlib (http://gnuwin32.sourceforge.net/packages/zlib.htm)\n\n=====================================\n6. Configuration\n=====================================\n\nNZBGet needs a configuration file. \n\nAn example configuration file is provided in \"nzbget.conf\", which\nis installed into \"\u003cprefix\u003e/share/nzbget\" (where \u003cprefix\u003e depends on\nsystem configuration and configure options - typically \"/usr/local\",\n\"/usr\" or \"/opt\"). The installer adjusts the file according to your\nsystem paths. If you have performed the installation step \n\"make install-conf\" this file is already copied to \"\u003cprefix\u003e/etc\" and\nNZBGet finds it automatically. If you install the program manually\nfrom a binary archive you have to copy the file from \"\u003cprefix\u003e/share/nzbget\"\nto one of the locations listed below.\n\nOpen the file in a text editor and modify it accodring to your needs.\n\nYou need to set at least the option \"MAINDIR\" and one news server in\nconfiguration file. The file has comments on how to use each option.\n\nThe program looks for configuration file in following standard \nlocations (in this order):\n\nOn POSIX systems:\n  \u003cEXE-DIR\u003e/nzbget.conf\n  ~/.nzbget\n  /etc/nzbget.conf\n  /usr/etc/nzbget.conf\n  /usr/local/etc/nzbget.conf\n  /opt/etc/nzbget.conf\n  \nOn Windows:\n  \u003cEXE-DIR\u003e\\nzbget.conf\n\nIf you put the configuration file in other place, you can use command-\nline switch \"-c \u003cfilename\u003e\" to point the program to correct location.\n\nIn special cases you can run program without configuration file using\nswitch \"-n\". You need to use switch \"-o\" to pass required configuration \noptions via command-line.\n\n=====================================\n7. Usage\n=====================================\n\nNZBGet can be used in either standalone mode which downloads a single file \nor as a server which is able to queue up numerous download requests.\n\nTIP for Windows users: NZBGet is controlled via various command line\nparameters. For easier using there is a simple shell script included\nin \"nzbget-shell.bat\". Start this script from Windows Explorer and you will\nbe running a command shell with PATH adjusted to find NZBGet executable.\nThen you can type all commands without full path to nzbget.exe.\n\nStandalone mode:\n----------------\n\nnzbget \u003cnzb-file\u003e\n\nServer mode:\n------------\n\nFirst start the nzbget-server:\n\n  - in console mode:\n\n\tnzbget -s\n\t\n  - or in daemon mode (POSIX only):\n\n\tnzbget -D\n\t\n\t- or as a service (Windowx only, firstly install the service with command\n\t  \"nzbget -install\"):\n\n  net start NZBGet\n  \nTo stop server use:\n\n  nzbget -Q  \n\nTIP for POSIX users: with included script \"nzbgetd\" you can use standard\ncommands to control daemon:\n\n  nzbgetd start\n  nzbgetd stop\n  etc.\n\nWhen NZBGet is started in console server mode it displays a message that\nit is ready to receive download requests. In daemon mode it doesn't print any\nmessages to console since it runs in background.\n\nWhen the server is running it is possible to queue up downloads. This can be\ndone either in terminal with \"nzbget -A \u003cnzb-file\u003e\" or by uploading\na nzb-file into server's monitor-directory (\u003cMAINDIR\u003e/nzb by default).\n\nTo check the status of server start client and connect it to server:\n  \n  nzbget -C\n\nThe client have three different (display) outputmodes, which you can select\nin configuration file (on client computer) or in command line. Try them:\n\n  nzbget -o outputmode=log -C\n\n  nzbget -o outputmode=color -C\n\n  nzbget -o outputmode=curses -C\n\nTo list files in server's queue:\n\n  nzbget -L\n  \nIt prints something like:\n\n  [1] nzbname\\filename1.rar (50.00 MB)\n  [2] nzbname\\filename1.r01 (50.00 MB)\n  [3] another-nzb\\filename3.r01 (100.00 MB)\n  [4] another-nzb\\filename3.r02 (100.00 MB)\n\nThis is the list of individual files listed within nzb-file. To print\nthe list of nzb-files (without content) add G-modifier to the list command:\n\n  [1] nzbname (4.56 GB)\n  [2] another-nzb (4.20 GB)\n\nThe numbers in square braces are ID's of files or groups in queue.\nThey can be used in edit-command. For example to move file with\nID 2 to the top of queue:\n\n  nzbget -E T 2\n  \nor to pause files with IDs from 10 to 20:\n\n  nzbget -E P 10-20\n\nor to delete files from queue:\n\n  nzbget -E D 3 10-15 20-21 16\n\nThe edit-command has also a group-mode which affects all files from the\nsame nzb-file. You need to pass an ID of the group. For example to delete\nthe whole group 1:\n\n  nzbget -E G D 1\n\nThe switch \"o\" is useful to override options in configuration files. \nFor example:\n\n  nzbget -o reloadqueue=no -o dupecheck=no -o parcheck=yes -s\n  \nor:\n\n  nzbget -o createlog=no -C\n  \nRunning client \u0026 server on seperate machines:\n---------------------------------------------\n\nSince nzbget communicates via TCP/IP it's possible to have a server running on\none computer and adding downloads via a client on another computer.\n\nDo this by setting the \"ControlIP\" option in the nzbget.conf file to point to the\nIP of the server (default is localhost which means client and server runs on \nsame computer)\n\nSecurity warning\n----------------\n\nNZBGet communicates via unsecured socket connections. This makes it vulnerable.\nAlthough server checks the password passed by client, this password is still \ntransmitted in unsecured way. For this reason it is highly recommended \nto configure your Firewall to not expose the port used by NZBGet to WAN. \n\nIf you need to control server from WAN it is better to connect to server's\nterminal via SSH (POSIX) or remote desktop (Windows) and then run\nnzbget-client-commands in this terminal.\n\nPost processing scripts\n-----------------------\n\nAfter the download of nzb-file is completed nzbget can call post-processing\nscripts, defined in configuration file.\n\nExample post-processing scripts are provided in directory \"scripts\".\n\nTo use the scripts copy them into your local directory and set options\n\u003cScriptDir\u003e, \u003cPostScript\u003e and \u003cScriptOrder\u003e.\n\nFor information on writing your own post-processing scripts please\nvisit NZBGet web site.\n\nWeb-interface\n-------------\n\nNZBGet has a built-in web-server providing the access to the program\nfunctions via web-interface.\n\nTo activate web-interface set the option \"WebDir\" to the path with\nweb-interface files. If you install using \"make install-conf\" as\ndescribed above the option is set automatically. If you install using\nbinary files you should check if the option is set correctly.\n\nTo access web-interface from your web-browser use the server address\nand port defined in NZBGet configuration file in options \"ControlIP\" and\n\"ControlPort\". For example:\n\n  http://localhost:6789/\n\nFor login credentials type username and the password defined by\noptions \"ControlUsername\" (default \"nzbget\") and \"ControlPassword\"\n(default \"tegbzn6789\").\n\nIn a case your browser forget credentials, to prevent typing them each\ntime, there is a workaround - use URL in the form:\n\n  http://localhost:6789/username:password/\n\nPlease note, that in this case the password is saved in a bookmark or in\nbrowser history in plain text and is easy to find by persons having\naccess to your computer. \n\n=====================================\n8. Authors\n=====================================\n\nNZBGet is developed and maintained by Andrey Prygunkov\n(hugbug@users.sourceforge.net).\n\nThe original project was initially created by Sven Henkel\n(sidddy@users.sourceforge.net) in 2004 and later developed by\nBo Cordes Petersen (placebodk@users.sourceforge.net) until 2005.\nIn 2007 the abandoned project was overtaken by Andrey Prygunkov.\nSince then the program has been completely rewritten.\n\nNZBGet distribution archive includes additional components\nwritten by other authors:\n\nPar2:\n\tPeter Brian Clements \u003cpeterbclements@users.sourceforge.net\u003e\n\nPar2 library API:\n\tFrancois Lesueur \u003cflesueur@users.sourceforge.net\u003e\n\nCatch:\n\tTwo Blue Cubes Ltd \u003chttps://github.com/philsquared/Catch\u003e\n\njQuery:\n\tJohn Resig \u003chttp://jquery.com\u003e\n\tThe Dojo Foundation \u003chttp://sizzlejs.com\u003e\n\nBootstrap:\n\tTwitter, Inc \u003chttp://twitter.github.com/bootstrap\u003e\n\nRaphaël:\n\tDmitry Baranovskiy \u003chttp://raphaeljs.com\u003e\n\tSencha Labs \u003chttp://sencha.com\u003e\n\nElycharts:\n\tVoid Labs s.n.c. \u003chttp://void.it\u003e\n\niconSweets:\n\tYummygum \u003chttp://yummygum.com\u003e\n\n=====================================\n9. Copyright\n=====================================\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 2 of the License, or\n(at your option) any later version.\n\nThe complete content of license is provided in file COPYING.\n\nAdditional exemption: compiling, linking, and/or using OpenSSL is allowed.\n\n=====================================\n10. Contact\n=====================================\n\nIf you encounter any problem, feel free to use the forum\n\n    nzbget.net/forum\n\nor contact me at\n\n\thugbug@users.sourceforge.net\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnzbget%2Fnzbget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnzbget%2Fnzbget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnzbget%2Fnzbget/lists"}