SABnzbd - The automated Usenet download tool
Python JavaScript CSS Other
Latest commit 48df0ee Jun 24, 2017 @Safihre Safihre Add logging for user-actions
We were missing way too many things
Failed to load latest commit information.
cherrypy CherryPy 8.1.2 - Catch OSX "Protocol wrong type for socket" Jun 17, 2017
email Email notification for failed URL fetches. Feb 25, 2012
gntp Remove warning about Growl when user has disabled message class in Gr… Sep 24, 2012
icons Create new ICO files Apr 22, 2016
interfaces Full hearted Jun 24, 2017
licenses Update text files for 2.0.0 Final (again) Apr 8, 2017
linux Update Wiki-link Jun 30, 2016
osx Support macOS >= 10.9 (removes 32bit support) May 30, 2017
po Automatic translation update Jun 24, 2017
sabnzbd Add logging for user-actions Jun 24, 2017
scripts Some pep8 cleanup (whitespace/docstring only), focus on root dir alon… Sep 23, 2015
six Add the module "six". Jul 13, 2016
tools Also don't list line numbers for NSIS pot file Jun 22, 2017
util Update Copyright year to 2017 Dec 16, 2016
win Add license file and README for MultiPar May 28, 2017
.gitignore Update .gitignore Oct 4, 2016
ABOUT.txt Bump version to 2.2.0-develop Jun 11, 2017
COPYRIGHT.txt Update Copyright year to 2017 Dec 16, 2016
GPL2.txt Eliminate superfluous 'main' folder Mar 21, 2010
GPL3.txt Eliminate superfluous 'main' folder Mar 21, 2010
INSTALL.txt Bump version to 2.2.0-develop Jun 11, 2017
ISSUES.txt Update wiki links for 2.1 Jun 3, 2017
LICENSE.txt Update Copyright year to 2017 Dec 16, 2016
PKG-INFO All links to should be HTTPS Jun 20, 2017 All links to should be HTTPS Jun 20, 2017
README.mkd Correct upgrade-notice Jun 17, 2017 Update Copyright year to 2017 Dec 16, 2016 Fix old code throughout Jun 11, 2017
portable.cmd Make sure that the invoking window disappears Jul 13, 2016

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:

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
  • python-support
  • 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)


  • 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

Or, if you want to run in the background:

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

If you want multi-language support, run:

python tools/

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.


  • 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.