SABnzbd - The automated Usenet download tool
Python JavaScript CSS Other
Latest commit 8d3ddb6 Dec 8, 2016 @Safihre Safihre Add option to mark duplicates as failed
So Sonarr/Sickbeard etc can pick another release
Closes #591
Permalink
Failed to load latest commit information.
cherrypy Shutdown CherryPy directly but gracefully without waiting 5 seconds Dec 8, 2016
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 Add option to mark duplicates as failed Dec 8, 2016
licenses Update CherryPy License file Dec 8, 2016
linux Update Wiki-link Jun 30, 2016
osx Update 7zip for macOS to 16.02 Oct 14, 2016
po Improve texts for External access settings Nov 25, 2016
sabnzbd Add option to mark duplicates as failed Dec 8, 2016
scripts Some pep8 cleanup (whitespace/docstring only), focus on root dir alon… Sep 23, 2015
six Add the module "six". Jul 13, 2016
tools make_mo.py now detects warnings about missing arguments in texts. Aug 10, 2016
util Some pep8 cleanup (whitespace/docstring only), focus on root dir alon… Sep 23, 2015
win Revert UnRar licence to original Oct 20, 2016
.gitignore Update .gitignore Oct 4, 2016
ABOUT.txt Update text-files and fix small CSS mistake Oct 3, 2016
COPYRIGHT.txt Update to 2016. Jan 13, 2016
GPL2.txt Eliminate superfluous 'main' folder Mar 21, 2010
GPL3.txt Eliminate superfluous 'main' folder Mar 21, 2010
INSTALL.txt Update files for 1.2.0 beta's Nov 25, 2016
ISSUES.txt Update files for 1.2.0 beta's Nov 25, 2016
LICENSE.txt Update to 2016. Jan 13, 2016
PKG-INFO Prepare text files for 1.2.0 Sep 14, 2016
README.md Update readme to reflect branch-usage better Dec 8, 2016
README.mkd Direct restarts also in API Dec 8, 2016
SABHelper.py moved regex define before use (save memory when code branch isnt ran)… Sep 30, 2015
SABnzbd.py Log SSL-Context check and show when Cryptograhypy is missing Dec 8, 2016
portable.cmd Make sure that the invoking window disappears Jul 13, 2016

README.md

SABnzbd - The automated Usenet download tool

This Unicode release is not compatible with 0.7.x queues!

There is also an issue with upgrading of the "sabnzbd.ini" file. Make sure that you have a backup!

Saved queues may not be compatible after updates.


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: http://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 floating around (Ubuntu, Debian, Fedora, etc), 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)

Optional:

  • python-cryptography (enables certificate generation and detection of encrypted RAR-files during download)
  • python-yenc
  • 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 SABnzbd.py

Or, if you want to run in the background:

python 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.
  • hotfix/my_hotfix is an optional temporary branch for bugfix(es) based on develop.

Condtions:

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