- Mitglied seit
- 03. Jun 2009
- Beiträge
- 6.813
- Punkte für Reaktionen
- 33
- Punkte
- 174
Mit der Firmware 3.1 ist es möglich weitere Suchmaschinen durch *.dlm-Dateien der DownloadStation hinzuzufügen.
In dieser Anleitung soll gezeigt werden was sich hinter diesen Dateien verbirgt und wie man selbst Suchmaschinen integrieren kann.
1. Auf die DS mittels SSH/Telnet und dem User "root" einloggen.
2. In den Ordner /usr/syno/synoman/webman/modules/DownloadStation/dlm/btsearch/plugins wechseln.
Zwecks Übersichtlichkeit und Sorgfältigkeit sollten alle Daten entsprechend abgeändert werden. Wichtig ist, dass der Name einmalig ist!
7. Der Inhalt der search.php betrifft die eigentliche Suchfunktion bzw. deren Verweis und das parsen der Suchergebnisse für die DownloadStation. Hierfür sind Kenntnisse in PHP erforderlich. Der angehängte Codeteil dient als Beispiel und ist NICHT für jede Suchmaschine gleichermaßen anwendbar.
Natürlich können die INFO und search.php Dateien auch am PC selbst erstellt werden. Sie müssen nur als *.dlm gepackt werden. Danach können sie über bequem über den DSM hochgeladen werden.
--------------------------------------------------------------
Ausführliche Erläuterung / weitere Hinweise aus dem Synology Download Station Search Module Development Guide
1. INFO Datei
Die INFO Datei ist quasi das Konfigurationsfile. Es beschreibt den Namen des Suchmoduls, sowie der PHP-Klasse. Zusätzliche Informationen können ebenso angegeben werden. Anbei eine Auflistung der genutzten Variablen, deren Beschreibung und ob die Angabe notwendig ist.
name
Der Name des Suchmoduls muss einzigartig sein und darf nicht doppelt vorkommen.
Angabe: Zwingend Notwendig
displayname
Dieser Name wird im Optionsmenü der DownloadStation angezeigt. Wenn er nicht angegeben wird, dann wird name genutzt.
Angabe: Empfohlen
description
Die Beschreibung wird im Optionsmenü der DownloadStation angezeigt. Sie sollte aussagekräftige Infos enthalten.
Angabe: Empfohlen
version
Die Versionsnummer des Suchmoduls.
Angabe: Zwingen Notwendig
site
Die URL der orignal Torrentsuche.
Angabe: Optional
module
Dies ist der Name des PHP-Suchmoduls. Normalerweise ist dies search.php. Andere Bezeichnungen können ebenso verwendet werden. Die PHP-Datei muss dementsprechend benannt werden.
Angabe: Zwingend Notwendig
type
Der Modultyp. Aktuell werden nur Suchmodule unterstützt.
Angabe: Zwingend Notwendig
class
Der PHP-Klassenname in der search.php. Dieser Name sollte ebenso einzigartig sein.
Angabe: Zwingend Notwendig
2. search.php
In dieser Datei findet sich das eigentliche PHP-Skript, dass die Suche durchführt bzw. die Anfrage an die eigentliche Suchmaschine weiterleitet. Ebenso findet ein parsing der erhaltenen Suchergebnisse statt.
Anhängend werden die 2 genutzten Methoden beschrieben.
Methode: prepare
Sollte das Modul weitere HTTP Header oder POST benötigen, dann findet man dazu ausführliche Informationen im cURL-Handbuch.
Methode: parse
Eine Erläuterung dieser Hilfsvariablen erfolgt wahrscheinlich die nächsten Tage.
Diese Anleitung entstand mit Hilfe einer Kurzanleitung im internationeln Forum. Außerdem wurde der Synology Search Module Development Guide genutzt.
Solltet ihr Fehler finden bitte mich Benachrichtigen. Kleinigkeiten werden noch verbessert und die Erläuterungen für die Hilfsvariablen/parsen folgt noch. Jetzt gibts aber erstmal Abendessen
In dieser Anleitung soll gezeigt werden was sich hinter diesen Dateien verbirgt und wie man selbst Suchmaschinen integrieren kann.
Bitte zuerst komplett durchlesen! Ohne PHP-Kenntnisse kommt man nicht weit!
1. Auf die DS mittels SSH/Telnet und dem User "root" einloggen.
2. In den Ordner /usr/syno/synoman/webman/modules/DownloadStation/dlm/btsearch/plugins wechseln.
3. Dort legt ihr einen Ordner ancd/usr/syno/synoman/webman/modules/DownloadStation/dlm/btsearch/plugins
4. Wechselt in diesen Ordnermkdir testsuche
5. Legt dort eine Datei namens INFO an.cd testsuche
6. Mit vi oder einem anderen Editor die Datei öffnen.touch INFO
Der Inhalt dieser Datei muss folgendermaßen aussehen:vi INFO
Rich (BBCode):
{
"name": "torrentsuche",
"displayname": "torrentsuche",
"description": "Dies ist eine Beispielsuche",
"version": "1.0",
"site": "http://www.beispielsuchewebseite.de",
"module": "search.php",
"type": "search",
"class": "SynoDLMSearchTORRENTSUCHE"
}
7. Der Inhalt der search.php betrifft die eigentliche Suchfunktion bzw. deren Verweis und das parsen der Suchergebnisse für die DownloadStation. Hierfür sind Kenntnisse in PHP erforderlich. Der angehängte Codeteil dient als Beispiel und ist NICHT für jede Suchmaschine gleichermaßen anwendbar.
Rich (BBCode):
<?php
class SynoDLMSearchTORRENTSUCHE {
private $qurl = 'http://www.torrentsuschebeispielwebseite.de/search/index.php?mode=rss&show_name=';
public function __construct() {
}
public function prepare($curl, $query) {
$url = $this->qurl . urlencode($query);
curl_setopt($curl, CURLOPT_URL, $url);
}
public function parse($plugin, $response) {
return $plugin->addRSSResults($response);
}
}
Hinweise:
Als weitere Beispiele können die unter /usr/syno/synoman/webman/modules/DownloadStation/dlm/btsearch/plugins liegenden Dateien dienen. Einfach mittels cd in die verschiedenen Unterordner wechseln und sich den Inhalt der search.php anzeigen lassen.
Die class in der search.php MUSS den gleichen Namen tragen wie in der INFO!
8. Abschließend werden die zwei Dateien noch in eine *.dlm-Datei verpackt. Dabei handelt es sich um ein simples Unix tgz oder tar.gz Archiv. Entsprechend lautet der Linuxcommand:Als weitere Beispiele können die unter /usr/syno/synoman/webman/modules/DownloadStation/dlm/btsearch/plugins liegenden Dateien dienen. Einfach mittels cd in die verschiedenen Unterordner wechseln und sich den Inhalt der search.php anzeigen lassen.
Die class in der search.php MUSS den gleichen Namen tragen wie in der INFO!
Ebenso kann man auch vorhandene *.dlm-Dateien entpacken:tar zcf torrentsuche.dlm INFO search.php
9. Die DownloadStation aufrufen und über das Optionsmenü überprüfen, ob die erstellte *.dlm-Datei auch geladen und aktiviert wurde. Es empfiehlt sich alle weiteren Suchmaschinen zu deaktivieren und um die korrekte Funktion der neu hinzugefügten Suche zu prüfen.tar zxf torrensuche.dlm
Natürlich können die INFO und search.php Dateien auch am PC selbst erstellt werden. Sie müssen nur als *.dlm gepackt werden. Danach können sie über bequem über den DSM hochgeladen werden.
--------------------------------------------------------------
Ausführliche Erläuterung / weitere Hinweise aus dem Synology Download Station Search Module Development Guide
1. INFO Datei
Die INFO Datei ist quasi das Konfigurationsfile. Es beschreibt den Namen des Suchmoduls, sowie der PHP-Klasse. Zusätzliche Informationen können ebenso angegeben werden. Anbei eine Auflistung der genutzten Variablen, deren Beschreibung und ob die Angabe notwendig ist.
name
Der Name des Suchmoduls muss einzigartig sein und darf nicht doppelt vorkommen.
Angabe: Zwingend Notwendig
displayname
Dieser Name wird im Optionsmenü der DownloadStation angezeigt. Wenn er nicht angegeben wird, dann wird name genutzt.
Angabe: Empfohlen
description
Die Beschreibung wird im Optionsmenü der DownloadStation angezeigt. Sie sollte aussagekräftige Infos enthalten.
Angabe: Empfohlen
version
Die Versionsnummer des Suchmoduls.
Angabe: Zwingen Notwendig
site
Die URL der orignal Torrentsuche.
Angabe: Optional
module
Dies ist der Name des PHP-Suchmoduls. Normalerweise ist dies search.php. Andere Bezeichnungen können ebenso verwendet werden. Die PHP-Datei muss dementsprechend benannt werden.
Angabe: Zwingend Notwendig
type
Der Modultyp. Aktuell werden nur Suchmodule unterstützt.
Angabe: Zwingend Notwendig
class
Der PHP-Klassenname in der search.php. Dieser Name sollte ebenso einzigartig sein.
Angabe: Zwingend Notwendig
2. search.php
In dieser Datei findet sich das eigentliche PHP-Skript, dass die Suche durchführt bzw. die Anfrage an die eigentliche Suchmaschine weiterleitet. Ebenso findet ein parsing der erhaltenen Suchergebnisse statt.
Anhängend werden die 2 genutzten Methoden beschrieben.
Methode: prepare
Diese Methode prepare wird aufgerufen bevor die eigentliche Suchanfrage gestartet wird. Das Modul konstruiert aus dem vom User eingegebenen Suchbegriff und der unter $qurl angegebenen Webadresse einen HTTP Request. Mittels curl_setopt wird eine fertige URL als Suchanfrage ausgeliefert, welche an die eigentliche Suchmaschine versendet wird.$curl: object
Ein Objekt für den cURL Verbindugnshandler. Die DownloadStation nutzt den PHP Befehl cURL um einen HTTP Request abzusetzen.
$query: string
Suchwort welches der User in die Suche der DownloadStation eingegeben hat.
Sollte das Modul weitere HTTP Header oder POST benötigen, dann findet man dazu ausführliche Informationen im cURL-Handbuch.
Methode: parse
Diese Methode wird aufgerufen nachdem die DownloadStation eine erfolgreiche Antwort des externen Suchservers erhalten hat. Das Modul parsed entweder die Informationen selbst oder durch angegebene Hilfsvariablen.$plugin: object
Die Instanz der Plug-In Klasse.
$response: string
String Variable die die aktuelle Antwort des externen Suchservers, ohne HTTP-Header, enthält.
Return Value: integer
Rückgabewert der erfolgreich geparsden und hinzugefügten Suchergebnisse.
Eine Erläuterung dieser Hilfsvariablen erfolgt wahrscheinlich die nächsten Tage.
Diese Anleitung entstand mit Hilfe einer Kurzanleitung im internationeln Forum. Außerdem wurde der Synology Search Module Development Guide genutzt.
Solltet ihr Fehler finden bitte mich Benachrichtigen. Kleinigkeiten werden noch verbessert und die Erläuterungen für die Hilfsvariablen/parsen folgt noch. Jetzt gibts aber erstmal Abendessen
Ich selbst kann kein PHP, daher bitte ich von Anfragen "Benötige *.dlm für XYZ-Suchmaschine!!drölf" abzusehen!