AMule IP-Filter Download als 3rd-Party Applikation

Aus Synology Wiki
Wechseln zu: Navigation, Suche

Einleitung

Wer gerne das in aMule vorhandene Feature IP-Filter nutzen möchte, der wird in der Weboberfäche der DS keine Möglichkeit finden, dieses dort zu benutzen. Das Script lädt eine ipfilter.dat(.gz) aus dem Internet, entpackt diese ggf. und verschiebt sie unter dem korrekten Dateinamen (ipfilter.dat) in das aMule-Verzeichnis nach /usr/syno/etc/amule. Auf Wunsch wird im Anschluss zum Einlesen der neuen ipfilter.dat noch aMule beendet und automatisch durch das System neugestartet (wenn aMule zuvor aktiviert war).

Voraussetzungen

Installation

  • Ein Verzeichnis amule in /usr/syno/synoman/phpsrc erzeugen:
mkdir /usr/syno/synoman/phpsrc/amule
  • Dort eine Datei amule.php erstellen:
vi /usr/syno/synoman/phpsrc/amule/amule.php
  • Den folgenden Inhalt in die eben erstellte Datei kopieren:
<html><head><title>aMule IP-Filter.dat Download</title></head><body>
<style>body,input,input,td{font:11px Verdana}fieldset{border:1px solid #bbb;font-weight:bold}</style>
<!-- build 001 -->
<?php
ob_implicit_flush(true);
ob_end_flush();
$output_string = array('OK','Error');
$output_c = '';
if ($_REQUEST['action'] == 'get_filter' && $_REQUEST['filter_url'] != '' &&
$_REQUEST['filter_filename_d'] != '' && $_REQUEST['amule_path'] != '' && $_REQUEST['amule_file'] != '') {
if (!isset($_REQUEST['kill_amule'])) $_REQUEST['kill_amule'] = 0;
print "Downloading Filter-File from : ".$_REQUEST['filter_url']." ";
passthru("wget ".$_REQUEST['filter_url']."/".$_REQUEST['filter_filename_d'], $output_c);
print $output_string[$output_c]."<br />";
sleep (1);
if ($_REQUEST['filter_filename_u'] != '') {
print "Unzipping ".$_REQUEST['filter_filename_d']." ";
passthru("gunzip ".$_REQUEST['filter_filename_d'], $output_c);
print $output_string[$output_c]."<br />";
} else {
     $_REQUEST['filter_filename_u'] = $_REQUEST['filter_filename_d'];
}
print "Move ".$_REQUEST['filter_filename_u']." --> ".$_REQUEST['amule_path']."/".$_REQUEST['amule_file']." ";
passthru("mv ".$_REQUEST['filter_filename_u']." ".$_REQUEST['amule_path']."/".$_REQUEST['amule_file'], $output_c);
sleep (1);
print $output_string[$output_c]."<br />";
if ($_REQUEST['kill_amule'] == 1) {
passthru("killall -q amuled", $output_c);
sleep (1);
print "Kill aMule (autostart through system) ".$output_string[$output_c]."<br />";
}
} elseif ($_REQUEST['action'] == 'get_filter') {
     print "<span style='font-size:15px;color:red;font-weight:bold;'>Some fields are empty!</span><br />";
}
ob_implicit_flush(false);
?>
<form id="f" name="f" method="post" action="amule.php">
<input type="hidden" name="action" id="action" value="">
<h3>aMule IP-Filter Download</h3>
<fieldset><legend>Options</legend><table border="0" cellpadding="0" cellspacing="4">
<tr><td width="150">Filter URL:</td><td><input type="text" name="filter_url" size=50 value="http://www.bluetack.co.uk/config" ></td></tr>
<tr><td width="150">Download Filename:</td><td><input type="text" name="filter_filename_d" size=25 value="nipfilter.dat.gz"></td></tr>
<tr><td width="150">Unpacked Filename:</td><td><input type="text" name="filter_filename_u" size=25 value="nipfilter.dat">
 if empty, the download file is no archiv</td></tr>
<tr><td width="150">aMule Path:</td><td><input type="text" name="amule_path" size=25 value="/usr/syno/etc/amule"></td></tr>
<tr><td width="150">aMule Filename:</td><td><input type="text" name="amule_file" size=25 value="ipfilter.dat"></td></tr>
<tr><td colspan="2"><input style="vertical-align: middle" type="checkbox" name="kill_amule" value="1"> Kill aMule after (autorestart through system)
</td></tr></table></fieldset><br />
<input type="button" value="Download" onclick="document.getElementById('action').value='get_filter';f.submit();">
</form>
</body></html>
  • Ein Verzeichnis amule in /usr/syno/synoman/webman/3rdparty erzeugen:
mkdir /usr/syno/synoman/webman/3rdparty/amule
  • Datei application.cfg im Verzeichnis amule erstellen:
vi /usr/syno/synoman/webman/3rdparty/amule/application.cfg
  • application.cfg mit folgenden Inhalt füllen:
text = aMule IP-Filter
description = aMule IP-Filter Download
type = embedded
path = /phpsrc/amule/amule.php

Bedienung

Alle Felder sind schon mit zur Zeit gültigen Werten gefüllt, also muss man im Normalfall nur auf den Button Download klicken und abwarten. Wer andere Dateien benutzen möchte der findet weitere Informationen und Dateien auf Bluetack - Internet Security Solutions FAQ

Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden

Hinweis: Das Script erwartet bei gefülltem Feld Unpacked Filename ein gz-Archiv. Durch leer lassen des Feldes ist es auch möglich ungepackte Dateien herunterzuladen, der Entpackvorgang wird dann übersprungen. Sollte die Checkbox Kill aMule after gewählt sein, wird am Ende aMule beendet und durch das System automatisch neugestartet (nur wenn aMule vorher aktiviert war). Das Einlesen der aktuellen ipfilter.dat dauert ca. 1 Minute.

Weblinks