Sabnzbdplus
From NAS-Central Buffalo - The Linkstation Wiki
(→Prerequisites) |
(→Installation) |
||
| Line 18: | Line 18: | ||
ipkg update | ipkg update | ||
ipkg install py-hellanzb | ipkg install py-hellanzb | ||
| - | |||
| - | This installs Python | + | ipkg update |
| - | + | ipkg upgrade | |
| + | ipkg install python py-cheetah py-cherrypy py-elementtree py-celementtree py-yenc par2cmdline unrar unzip | ||
| + | |||
| + | This installs Python and all the dependencies needed including UnRar, PAR checking and YEnc decoder. | ||
| + | |||
| + | Download SABnzbd from http://www.sabnzbd.org/download/ | ||
| + | |||
== Configuration == | == Configuration == | ||
You can edit the config file now to get it set up for your provider etc | You can edit the config file now to get it set up for your provider etc | ||
Revision as of 14:20, 7 March 2008
[Sources/Credits Methanoid & Fantasymick on NAS-central.org, Caveman on OpenFSG.com and DrChair at wl500g.info]
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.
Contents |
Prerequisites
There are 2 options:
Stock firmware/jtymod
Installation
ipkg update ipkg install py-hellanzb
ipkg update ipkg upgrade ipkg install python py-cheetah py-cherrypy py-elementtree py-celementtree py-yenc par2cmdline unrar unzip
This installs Python and all the dependencies needed including UnRar, PAR checking and YEnc decoder.
Download SABnzbd from http://www.sabnzbd.org/download/
Configuration
You can edit the config file now to get it set up for your provider etc
cd /opt/etc vi hellanzb.conf
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.
# 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', password = 'your password', #username = None, # no auth #password = None, connections = 4, # Important locations Hellanzb.PREFIX_DIR = '/mnt/disk1/shared/download'
A further important change is to fix the permissions (you want to be able to move files from the download directory presumably?) so change
Hellanzb.UMASK = 0022
to
Hellanzb.UMASK = 0000
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 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.
or you can run via script. Unfortunately the script needs some changes before use
vi /opt/etc/init.d/S71hellanzb
Change it to read
#!/bin/sh nice /opt/bin/hellanzb.py -D
Then check/fix the permissions/ownership and run it (first time only, it will autostart with the Linkstation in future!)
cd /opt/etc/init.d 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
/mnt/disk1/shared/download /mnt/disk1/shared/download/nzb /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 python hellanzb.py status
Adding a webfrontend
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
# "mod_fastcgi",
into
"mod_fastcgi",
change
url.access-deny = ( "~", ".inc" )
into
url.access-deny = ( "~", ".inc", ".sqlite" )
change
#fastcgi.server = ( ".php" => # ( "localhost" => # ( # "socket" => "/tmp/php-fastcgi.socket", # "bin-path" => "/usr/local/bin/php" # ) # ) # )
into
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/opt/bin/php-fcgi"
)
)
)
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
Now you can use the interface at http://linkstation:8081/hella/ (or wherever you've popped the HellaPHP index.php and other files)

