Spotweb als Newznab Provider

Franklin van de Meent edited this page Jul 13, 2015 · 3 revisions

Spotweb as a newznab provider

It is possible to use Spotweb as a Newznab Provider in scripts like Sickbeard and CouchPotato, so that these scripts cann search in Spotweb. The found results can automatically be parsed by the scripts, without needing to interact with the user. For this scenario, some preparations are needed, depending on the used web server.

##Installatie## ###Apache### Make sure that mod_rewrite is enabled and AllowOverride is set (more info). Create a file called .htaccess and enter the following:

RewriteEngine on  
RewriteCond %{REQUEST_URI} !api/  
RewriteRule api/?$ index.php?page=newznabapi [QSA]
RewriteRule details/([^/]+) index.php?page=getspot&messageid=$1 [L]

If your spotweb installation is not in your www-root dir, but in a subfolder, you should add a line with the RewriteBase in your .htaccess.. It should look like the following (change the third line for your situation):

    RewriteEngine on  
    RewriteCond %{REQUEST_URI} !api/  
    RewriteBase /spotweb/
    RewriteRule api/?$ index.php?page=newznabapi [QSA]
    RewriteRule details/([^/]+) index.php?page=getspot&messageid=$1 [L]

If you made the installation with apt-get, the last line needs to look like this:

RewriteRule api/?$ /spotweb/index.php?page=newznabapi [QSA]  
RewriteRule details/([^/]+) /spotweb/index.php?page=getspot&messageid=$1 [L]  

Als je al een .htaccess bestand hebt voor andere redenen, kun je over het algemeen de code bovenin toevoegen.

Doe hierna voor Apache-server om de RewriteEngine elke serverstart te laden:
sudo a2enmod rewrite && sudo /etc/init.d/apache2 restart

Controleer vervolgens je gegevens in je site die enabled is:

<Directory /var/www/spotweb/>
	Options FollowSymLinks
	AllowOverride All
	Order deny,allow
	Allow from all
	Satisfy all
</Directory>

###Microsoft IIS### Installeer de URL Rewrite functie in Microsoft IIS (door bijvoorbeeld gebruik te maken van de web platform installer) en dubbelklik op de introductie pagina van je spotweb site op 'URL Rewrite'. Je kunt de bovenstaande apache regels nu omzetten naar IIS regels door aan de rechter kant van het scherm op "import rules" te klikken. In het vak 'Rewrite rules' plak je het volgende:

 RewriteCond %{REQUEST_URI} !api/  
 RewriteRule api/?$ index.php?page=newznabapi [QSA,L]

Deze apache regels zullen nu automatisch herschreven worden naar Microsoft IIS regels. Klik nu rechts boven op toepassen en de regel is toegevoegd. De URL rewrite functie is nu actief.

###NGINX### Voor nginx hoef je geen modules aan te zetten. Zet in bijvoorbeeld /etc/nginx/sites-enabled/default het volgende:

location /spotweb {
   if ($uri !~ "api/"){
      rewrite api/?$ /spotweb/index.php?page=newznabapi last;
   }
}

###Lighttpd### in /etc/lighttpd/lighttpd.conf zorgen dat de module mod_url.rewrite aanstaat:

server.modules  = ( 
        "mod_access",
        "mod_alias",
        "mod_accesslog",
        "mod_compress",
        "mod_redirect",
        "mod_rewrite"
)

En vervolgens de volgende regel toevoegen:

url.rewrite-once = ( "^/spotweb/api\?(.*)" => "/spotweb/index.php?page=newznabapi&$1" )

###Hiawatha### pas de Hiawatha config file /etc/hiawatha/hiawatha.config aan door het toevoegen van:

    UrlToolkit {
            ToolkitID = spotweb
            Match ^/spotweb/api\?(.*) Rewrite /index.php?page=newznabapi&$1
    }

en voeg de regel

    UseToolkit = spotweb

toe aan de configuratie van de default website of de juiste VirtualHost.

##Testen## Om te testen of bovenstaande stappen zijn gelukt, kun je browsen naar http://server/spotweb/api?t=c. Indien je dan een XML-pagina te zien krijgt is de installatie gelukt. De gegevens in deze XML heb je verder niet nodig.

##Gebruiken## ###Sick Beard### Op de pagina http://url.naar.sickbeard/config/providers/ staat onderaan het onderdeel Configure Custom Newznab Providers. Hier dien je een naam, een URL en een API-key op te geven.

  1. Bij Provider Name kun je zelf bepalen hoe je het wilt noemen, bijvoorbeeld Spotweb.
  2. Bij Site URL vul je http://server/spotweb/ in (uiteraard na aanpassing aan de eigen omgeving).
  3. Bij API Key vul je de API-key van Spotweb in. Deze is in Spotweb te vinden onder Gebruiker wijzigen

###CouchPotato### Op de pagina http://url.naar.couchpotato/config/ en klik op Providers. Op die pagina staat het onderdeel Newznab. Hier dien je een host en een API-key op te geven.

  1. Bij Host vul je server/spotweb in (uiteraard na aanpassing aan de eigen omgeving).
  2. Bij Apikey vul je de API-key van Spotweb in. Deze is in Spotweb te vinden onder Gebruiker wijzigen

###Headphones### Op de pagina http://url.naar.headphones/config staat Newznab onder Providers.

  1. Vink Newznab aan.
  2. Bij Newznabhost vul je server/spotweb in.
  3. Bij API Key vul je de API-key van Spotweb in. Deze is in Spotweb te vinden onder Gebruiker wijzigen