Automatically Retry Failed Downloads with NZBGet FailureLink

nzbgetNZBGet is able to automatically retry a failed usenet download with FailureLink. If you indexer supports the DNZB-Failure-Header (currently DOGnzb.cr and OZnzb.com) then if NZBGet fails to download the release directly received from the indexer, NZBGet will request a similar nzb straight from the indexer. It is important to note that you cannot just download the nzb file and add it manually to NZBGet for this to work, it must be received via the indexer's API because it contains metadata about the release so the indexer knows which similar nzb to send in case of failure. This script aids in the battle against DMCA takedowns by automating the process of redownloading failed files. This guide was tested using DOGnzb's remote push feature straight to NZBGet and worked very well. The instructions here include installing the script on Windows, Mac OSX and Linux systems (Ubuntu, Debian, Raspberry Pi) and configuring the script to work on all platforms.

You must know where your NZBGet installation is located

Usenet Provider
Backbone
Retention
Speed
Connections
VPN
Monthly
Annual
UsenetServer
UsenetServer
3199
Unlimited
30
Yes
$10
$95.40
Newshosting
Newshosting
3199
Unlimited
30
Yes
$10
$99
Frugal
Frugal
3000
Unlimited
20
No
$4.16
$50
Usenetlink
Cloudgate
2000
100 Mbit
30
No
$15
$140

Automatically Retry Failed Downloads with NZBGet FailureLink

Windows

If you followed my Install NZBGet Windows guide then your installation directory is c:\Program Files (x86)\NZBGet-14.0
Open the scripts folder inside the NZBGet-14.0 folder.
Grab the script https://github.com/nzbget/FailureLink/archive/master.zip

Open the zip file and copy the FailureLink.py file to your clipboard and browse to your NZBGet installation and paste the script.

It should now be present in the NZBGet-14.0 folder

configure nzbget failurelink to retry failed usenet downloads

Install Python 2.7.x

You need Python installed for the FailureLink script to run. If you don't you will get these errors

Could not found associated program for .py. Trying to execute FailureLink.py directly

Count not start script FailureLink.py error 193

Download Python 2.7 32-bit or 64-bit which will work on 64 or 32 bit systems

Run the installer, for the most part you just click Next through the Wizard

windows python step 1

The guide will assume you are installing to C:\Python27

windows python step 2

In the Customize Python 2.7.x enable Add python.exe to Path.

This allows you to run python from the command prompt in Windows.

Click Next

windows python step 3

Click Finish to exit

windows python step 4

Linux Systems

If on a Linux based system like Ubuntu, Debian, even the Raspberry Pi with RaspBian or Raspbmc, then just SSH into the box with Putty or another SSH Client.

Enter your NZBGet scripts folder. It could be /opt/nzbget/scripts or ~/nzbget-svn/scripts or ~/nzbget-14.0 and can be confirmed in the PATHS section of NZBGet

Enter the directory with this command

cd /opt/nzbget/scripts

Now grab FailureLink the NZBGet Sourceforge

wget https://raw.github.com/nzbget/FailureLink/master/FailureLink.py

Install ffmpeg

sudo apt-get install ffmpeg -y

You may need to reload NZBGet for the scripts to show up.

Mac OSX

Open Safari and browse to https://github.com/nzbget/FailureLink/archive/master.zip

We need to place this FailureLink.py in the NZBGet scripts folder

You need to set your NZBGet options to allow showing the scripts folder in Finder

First make sure NZBGet 14.0 is running

Click the Arrow pointing down in the top right, choose Show in Finder and then Scripts

nzbget show scripts in finder

The scripts folder will pop up, enter it

nzbget mac osx scripts folder

Copy the FailureLink.py script you downloaded into the scripts folder

nzbget fake detector added

Reload NZBGet or the scripts will not be viewable in the web interface

Configure NZBGet FailureLink

Open up the NZBGet interface, the default is http://ip.address:6789

Click Settings and then FailureLink in the bottom left

Say Yes to DownloadAnotherRelease to Yes

nzbget configure failurelink 1

Say Yes to Delete and Yes to Verbose

nzbget configure failurelink 2

Scroll down and click Save All Changes

nzbget configure failurelink 3

Click Reload

configure nzbget failurelink avoid fake usenet files reload nzbget

You are going to set FailureLink as a global post-processing script so it will apply to your categories

Click Settings and then Extension Scripts, under PostScript click Choose

nzbget configure failurelink click postscript choose

Select FailureLink and click Apply

nzbget configure failurelink choose scripts click apply

You should now see the script added in the PostScript field

nzbget configure failurelink postscript complete

If you are running FakeDetector or PasswordDetector, you need to reorder the scripts so that FakeDetector and PasswordDetector run before FailureLink.

Scroll down until you see ScriptOrder and click Reorder

nzbget configure failurelink scriptorder click reorder

Move your mouse over the arrow pointing to the top with a bar on top for FakeDetector

nzbget configure failurelink scriptorder move to top

Now you will see FakeDetector at the top, repeat for PasswordDetector if you have it installed, click Apply

nzbget configure failurelink scriptorder click apply

Now you should see the script order.

nzbget configure failurelink scriptorder done

Scroll down and click Save All Changes

nzbget configure failurelink save all changes

Click Reload

configure nzbget fakedetector avoid fake usenet files reload nzbget

Now NZBGet will automatically request a similar NZB file for the release you are trying to download from your indexer.