SABnzbd - The automated Usenet download tool
Python JavaScript CSS Other
Clone or download
Permalink
Failed to load latest commit information.
cherrypy Correct spelling of 'separate' in a few contexts Oct 14, 2017
email Email notification for failed URL fetches. Feb 25, 2012
gntp Update GNTP to 1.0.3 Jul 14, 2017
icons Create new ICO files Apr 22, 2016
interfaces Changing Server priority would give JSON-page Apr 17, 2018
licenses Update text files for 2.0.0 Final (again) Apr 8, 2017
linux Update Wiki-link Jun 30, 2016
osx Update UnRar to 5.60 for Windows and macOS Jun 29, 2018
po Automatic translation update Jul 14, 2018
sabnzbd Only abort active DirectUnpackers Jul 14, 2018
scripts Spelling fix in Deobfuscate.py Jun 8, 2018
six Update Six to 1.11.0 Nov 27, 2017
tests Update copyright to 2018 Mar 15, 2018
tools Update copyright to 2018 Mar 15, 2018
util Use local Windows MailSlot address May 14, 2018
win Update MultiPar to 1.3.0.1 Jun 29, 2018
.gitignore New feature: Safari pinned tab icon Oct 8, 2017
.travis.yml Basic NZB adding via upload or from disk Sep 8, 2017
ABOUT.txt Update text files for 2.3.4RC1 May 19, 2018
COPYRIGHT.txt Update copyright to 2018 Mar 15, 2018
GPL2.txt Eliminate superfluous 'main' folder Mar 21, 2010
GPL3.txt Eliminate superfluous 'main' folder Mar 21, 2010
INSTALL.txt Update text files for 2.3.4RC1 May 19, 2018
ISSUES.txt Add VPN problems to known-issues Jun 12, 2018
LICENSE.txt Update copyright to 2018 Mar 15, 2018
PKG-INFO Update text files for 2.3.4 May 24, 2018
README.md Use special patched version of subprocess for Unicode POpen on Windows Oct 3, 2017
README.mkd Update text files for 2.3.4 May 24, 2018
SABHelper.py Update copyright to 2018 Mar 15, 2018
SABnzbd.py Add option "--disable-file-log" to disable file-based logging May 10, 2018
appveyor.yml Use special patched version of subprocess for Unicode POpen on Windows Oct 3, 2017
portable.cmd Make sure that the invoking window disappears Jul 13, 2016

README.md

SABnzbd - The automated Usenet download tool

SABnzbd is an Open Source Binary Newsreader written in Python.

It's totally free, incredibly easy to use, and works practically everywhere. SABnzbd makes Usenet as simple and streamlined as possible by automating everything we can. All you have to do is add an .nzb. SABnzbd takes over from there, where it will be automatically downloaded, verified, repaired, extracted and filed away with zero human interaction. If you want to know more you can head over to our website: https://sabnzbd.org.

Resolving Dependencies

SABnzbd has a good deal of dependencies you'll need before you can get running. If you've previously run SABnzbd from one of the various Linux packages, then you likely already have all the needed dependencies. If not, here's what you're looking for:

  • python (only 2.7.x and higher, but not 3.x.x)
  • python-cheetah
  • par2 (Multi-threaded par2 installation guide can be found here)
  • unrar (Make sure you get the "official" non-free version of unrar)
  • sabyenc (installation guide can be found here)

Optional:

  • python-cryptography (enables certificate generation and detection of encrypted RAR-files during download)
  • python-dbus (enable option to Shutdown/Restart/Standby PC on queue finish)
  • 7zip
  • unzip

Your package manager should supply these. If not, we've got links in our more in-depth installation guide.

Running SABnzbd from source

Once you've sorted out all the dependencies, simply run:

python -OO SABnzbd.py

Or, if you want to run in the background:

python -OO SABnzbd.py -d -f /path/to/sabnzbd.ini

If you want multi-language support, run:

python tools/make_mo.py

Our many other command line options are explained in depth here.

About Our Repo

The workflow we use, is a simplified form of "GitFlow". Basically:

  • master contains only stable releases (which have been merged to master) and is intended for end-users.
  • develop is the target for integration and is not intended for end-users.
  • 1.1.x is a release and maintenance branch for 1.1.x (1.1.0 -> 1.1.1 -> 1.1.2) and is not intended for end-users.
  • feature/my_feature is a temporary feature branch based on develop.
  • bugfix/my_bugfix is an optional temporary branch for bugfix(es) based on develop.

Conditions:

  • Merging of a stable release into master will be simple: the release branch is always right.
  • master is not merged back to develop.
  • develop is not re-based on master.
  • Release branches branch from develop only.
  • Bugfixes created specifically for a release branch are done there (because they are specific, they're not cherry-picked to develop).
  • Bugfixes done on develop may be cherry-picked to a release branch.
  • We will not release a 1.0.2 if a 1.1.0 has already been released.