Difference between revisions of "Sabnzbdplus"

From NAS-Central Buffalo - The Linkstation Wiki
Jump to: navigation, search
(Prerequisites)
(Installation)
 
(21 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[Sources/Credits Methanoid & Fantasymick on NAS-central.org, Caveman on OpenFSG.com and DrChair at wl500g.info]
+
{{Articles|Filesharing|LSPro}}
 
+
This has been tested and works well on a ARM9 Linkstation Live. Should work on others. SABnzbdplus is a NZB-based usenet "leech" client which also PAR checks and un-archives the files you have downloaded.
This has been tested and works well on a ARM9 Linkstation Live. Should work on others. We are using HellaNZB which is a NZB-based usenet "leech" client which also PAR checks and un-archives the files you have downloaded.
+
  
 
=Prerequisites=
 
=Prerequisites=
Line 9: Line 8:
 
* [[Open_Stock_Firmware]]/jtymod + [http://forum.nas-central.org/viewtopic.php?f=19&t=4075&p=39162#p39162 bootstrapping to the optware feed]
 
* [[Open_Stock_Firmware]]/jtymod + [http://forum.nas-central.org/viewtopic.php?f=19&t=4075&p=39162#p39162 bootstrapping to the optware feed]
 
* [[:Category:FreeLink]]
 
* [[:Category:FreeLink]]
 
 
 
  
 
=Stock firmware/jtymod=
 
=Stock firmware/jtymod=
Line 17: Line 13:
  
 
  ipkg update
 
  ipkg update
  ipkg install py-hellanzb
+
ipkg upgrade
(or if you want to use python2.5, then ipkg install py25-hellanzb)
+
  ipkg install sabnzbdplus
 +
 
 +
This installs SAB and Python and all the dependencies needed including UnRar, PAR checking and YEnc decoder. Much easier now than it was in the old days when you also had to download the code from the SAB site http://www.sabnzbd.org/download/. Might be worth checking the repository version you have just installed is as current as the version on the SAB site above.
 +
 
 +
== Running for 1st Time ==
 +
 
 +
cd /mnt/disk1/share/sabnzbd
 +
python SABnzbd.py -f SABnzbd.ini -d
 +
 
 +
The -d runs it in daemon mode which I cannot see any reason why you would not want!
 +
 
 +
You might want to make a script to do this, else you'll be having to do this every time you restart your Linkstation
  
This installs Python, HellaNZB and all the dependencies such as Twisted, RAR, Par2Cmdline and the faster YEnc decoder
 
 
 
== Configuration ==  
 
== Configuration ==  
You can edit the config file now to get it set up for your provider etc
 
  
cd /opt/etc
+
You'll need to configure SABnzbd which is easiest done using the web interface which you can access via
vi hellanzb.conf
+
 
 +
http://linkstation:8080/sabnzbd/
 +
 
 +
Edit the config to include your Usenet providers server and your own choices as to whether to enable PAR or RAR checking.
 
   
 
   
You need to change the settings to match those of your usenet provider (username, password, server,number of connections). Remember, the Linkstation is a NAS box not a high spec PC so don't be too greedy on the number of connections as it might actually make it go slower. For example, I can happily max out a 4Mbit line with 4 connections. Try different numbers and see how you get on.
+
Remember, the Linkstation is a NAS box not a high spec PC so don't be too greedy on the number of connections as it might actually make it go slower. For example, I can happily max out a 4Mbit line with 4 connections. Try different numbers and see how you get on.
  
<pre>
+
Neilt0 reports a good speedup using a generous cache limit (reduces HD usage at the expense of some memory usage). Change this in the config screen!
# Set both the username and password to 'None' (without the quotes) if your
+
# usenet server does not require authorization
+
defineServer(id = 'your usenet',
+
hosts = [ 'yourusenet:119' ],
+
#hosts = [ 'news.changeme.com', 'morenews.changeme.com:8000' ],
+
  
username = 'your username',
+
cache_limit = 55000000
password = 'your password',
+
#username = None, # no auth
+
#password = None,
+
  
connections = 4,
+
You'll also need to set permissions if you wanna be able to do anything with the resulting files
  
# Important locations
+
Permissions for Complete dir = 0777
Hellanzb.PREFIX_DIR = '/mnt/disk1/shared/download'
+
</pre>
+
  
A further important change is to fix the permissions (you want to be able to move files from the download directory presumably?) so change
+
== Troubleshooting ==
<pre> Hellanzb.UMASK = 0022  </pre>
+
This section covers some of the issues that can occur when installing SABnzbdplus.
to
+
<pre> Hellanzb.UMASK = 0000</pre>
+
  
Now there should be hellanzb.py and your hellanzb.conf there. Now you can fire up hellanzb either from command line or from script.
 
  
cd /opt/bin
+
'''Unable to access the web interface http://your_ip_address:8080/sabnzbd/'''
python hellanzb.py -D (or python25 hellanzb.py -D if running Python 2.5)
+
  
The -D makes it run in Daemon mode, i.e it runs in the background until stopped.
+
Open the sabnzbd.log located in the logs directory, and look for the following:
  
or you can run via script. Unfortunately the script needs some changes before use
+
''Starting SABnzbd.py-0.3.3''
vi /opt/etc/init.d/S71hellanzb
+
  
Change it to read
+
''2008-03-19 21:02:52,048::INFO::Starting web-interface on localhost:8080''
  
<pre> #!/bin/sh
+
''2008-03-19 21:02:57,289::ERROR::Failed to start web-interface''
nice /opt/bin/hellanzb.py -D</pre>
+
  
Then check/fix the permissions/ownership and run it (first time only, it will autostart with the Linkstation in future!)
+
<snip>
  
cd /opt/etc/init.d
+
''raise cherrypy.NotReady("Port not free.")''
chown root /opt/etc/init.d/S71hellanzb
+
chmod ugo+rx /opt/etc/init.d/S71hellanzb
+
sh S71hellanzb
+
  
If everything went well hellanzb is running and will create the necessary sub-dirs in the dir you created
+
''NotReady: Port not free.''
  
/mnt/disk1/shared/download
+
This indicates that you already have something running on port 8080.
/mnt/disk1/shared/download/nzb
+
Change the port in SABnzbd.ini (port =) to something else (ex. 8888 or 9090).
/mnt/disk1/shared/download/nzb/daemon.current
+
/mnt/disk1/shared/download/nzb/daemon.queue
+
/mnt/disk1/shared/download/nzb/daemon.postponed
+
/mnt/disk1/shared/download/nzb/daemon.temp
+
/mnt/disk1/shared/download/nzb/daemon.processing
+
/mnt/disk1/shared/download/nzb/daemon.working
+
  
Just pop your NZB file in the /mnt/disk1/shared/download/nzb/daemon.queue dir and hellanzb will start downloading and pop
 
the unarchived resulting files in your destination directory.
 
  
You can monitor (without a web frontend) by typing
+
'''Unable to access files in complete directory'''
python hellanzb.py status
+
  
==Adding a webfrontend==
+
Verify that your permissions are set correctly in the SABnzbd.ini (permissions = 0777). This can also be done through the web interface in the Config > Directories menu.
Realistically you will probably want a web based frontend. Hellahella doesn't seem to want to run, Zussaweb looks pretty for monitoring downloads but the upload NZB and Newzbin ID imports don't work for me. I used Lighttpd but you could use a 2nd instance of Apache or maybe piggyback on the Apache that runs the LS's web interface but it didn't work for me. I chose HellaPHP as it worked 100%, required minimal configuration and the author was prepared to amend it to work 100% on my Linkstation setup. He's also adding some more functionality in future like password protection etc and a new look.
+
  
ipkg update
 
ipkg install lighttpd fcgi-php
 
 
You'll need to configure (of course)
 
 
vi /opt/etc/lighttpd/lighttpd.conf
 
 
change
 
<pre> #                              "mod_fastcgi", </pre>
 
into
 
<pre>                                "mod_fastcgi",</pre>
 
change
 
<pre>url.access-deny            = ( "~", ".inc" )</pre>
 
into
 
<pre>url.access-deny            = ( "~", ".inc", ".sqlite" )</pre>
 
 
change
 
<pre>
 
#fastcgi.server            = ( ".php" =>
 
#                              ( "localhost" =>
 
#                                (
 
#                                  "socket" => "/tmp/php-fastcgi.socket",
 
#                                  "bin-path" => "/usr/local/bin/php"
 
#                                )
 
#                              )
 
#                            )
 
</pre>
 
into
 
<pre>
 
fastcgi.server            = ( ".php" =>
 
                              ( "localhost" =>
 
                                (
 
                                  "socket" => "/tmp/php-fastcgi.socket",
 
                                  "bin-path" => "/opt/bin/php-fcgi"
 
                                )
 
                              )
 
                            )
 
</pre>
 
 
Give some thought as to where you want to have your webpages. I like mine accessible to my Windows PCs so that I can edit directly in Frontpage or whatever but in this case I won't change the defaults.. Also you may need to open a port to the webserver if you want to have your HellaPHP available remotely over the internet.
 
 
Now you are ready to start lighttpd by /opt/etc/init.d/S80lighttpd
 
  
Download and unpack HellaPHP. Change the values of $disk and $download_nzb_path in config.php to match your download and NZB directories
+
'''"feedparser module missing" error on the RSS tab'''
+
Now you can use the interface at http://linkstation:8081/hella/ (or wherever you've popped the HellaPHP index.php and other files)
+
  
  
Line 150: Line 84:
  
 
==Adding a webfrontend==
 
==Adding a webfrontend==
 +
 +
=Addons=
 +
A list of third-party addons is available [http://forums.sabnzbd.org/index.php?topic=38 here] in the SABnzbd forums.
 +
 +
==nzbdStatus==
 +
[http://nzbdstatus.bountysource.com nzbdStatus] is a Firefox extension which supports any version of SABnzbdplus. nzbdStatus adds a "Send to SABnzbd" link to your Newzbin (v3 only) search results.
 +
 +
==Torrent-X==
 +
This [http://code.google.com/p/xbmc-torrrent-controller/ XBMC script] allows you to add items to your SABnzbdplus download queue directly from your Xbox.

Latest revision as of 14:40, 31 August 2008

This has been tested and works well on a ARM9 Linkstation Live. Should work on others. SABnzbdplus is a NZB-based usenet "leech" client which also PAR checks and un-archives the files you have downloaded.

Contents

Prerequisites

There are 2 options:

Stock firmware/jtymod

Installation

ipkg update
ipkg upgrade
ipkg install sabnzbdplus

This installs SAB and Python and all the dependencies needed including UnRar, PAR checking and YEnc decoder. Much easier now than it was in the old days when you also had to download the code from the SAB site http://www.sabnzbd.org/download/. Might be worth checking the repository version you have just installed is as current as the version on the SAB site above.

Running for 1st Time

cd /mnt/disk1/share/sabnzbd
python SABnzbd.py -f SABnzbd.ini -d

The -d runs it in daemon mode which I cannot see any reason why you would not want!

You might want to make a script to do this, else you'll be having to do this every time you restart your Linkstation

Configuration

You'll need to configure SABnzbd which is easiest done using the web interface which you can access via

http://linkstation:8080/sabnzbd/

Edit the config to include your Usenet providers server and your own choices as to whether to enable PAR or RAR checking.

Remember, the Linkstation is a NAS box not a high spec PC so don't be too greedy on the number of connections as it might actually make it go slower. For example, I can happily max out a 4Mbit line with 4 connections. Try different numbers and see how you get on.

Neilt0 reports a good speedup using a generous cache limit (reduces HD usage at the expense of some memory usage). Change this in the config screen!

cache_limit = 55000000

You'll also need to set permissions if you wanna be able to do anything with the resulting files

Permissions for Complete dir = 0777

Troubleshooting

This section covers some of the issues that can occur when installing SABnzbdplus.


Unable to access the web interface http://your_ip_address:8080/sabnzbd/

Open the sabnzbd.log located in the logs directory, and look for the following:

Starting SABnzbd.py-0.3.3

2008-03-19 21:02:52,048::INFO::Starting web-interface on localhost:8080

2008-03-19 21:02:57,289::ERROR::Failed to start web-interface

<snip>

raise cherrypy.NotReady("Port not free.")

NotReady: Port not free.

This indicates that you already have something running on port 8080. Change the port in SABnzbd.ini (port =) to something else (ex. 8888 or 9090).


Unable to access files in complete directory

Verify that your permissions are set correctly in the SABnzbd.ini (permissions = 0777). This can also be done through the web interface in the Config > Directories menu.


"feedparser module missing" error on the RSS tab


Freelink

Installation

Configuration

Adding a webfrontend

Addons

A list of third-party addons is available here in the SABnzbd forums.

nzbdStatus

nzbdStatus is a Firefox extension which supports any version of SABnzbdplus. nzbdStatus adds a "Send to SABnzbd" link to your Newzbin (v3 only) search results.

Torrent-X

This XBMC script allows you to add items to your SABnzbdplus download queue directly from your Xbox.