Einfügen eines eigenen Downloadservers: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(22 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Index]]
+
Mit den Gemini-Images besteht die Möglichkeit, einen eigenen '''Downloadserver''' in das [[Image]] zu integrieren.
  
=Anwendungsbereich=
+
Hierzu müssen einige Regeln eingehalten werden die auf dieser Seite näher beschrieben sind.
Seit Gemini 3.0.0, besteht die Möglichkeit, einen eigenen Downloadserver in das Image zu integrieren.
+
__TOC__
Hierzu müssen allerdings einige "Regeln" eingehalten werden.
+
== Voraussetzung ==
Auf der Dreambox 7020, im Verzeichnis /etc liegt eine Datei Namens: useraddon.xml.
 
Bei den "kleinen" Boxen (DM5xxx & DM7000) liegt diese Datei unter /var/tuxbox/config/
 
Diese wird zwingend benötigt um euren eigenen Server zu identifizieren. Desweiteren muss auf euren Servern
 
eine XML liegen, wie sie in der useraddon.xml angegeben wurde.
 
  
=Das Addon=
+
Auf der Dreambox im Verzeichnis
Das Addon/Plugin muss als gepacktes *.tar.bz2 File vorliegen, andernfalls findet keine Installation statt!
+
/etc
Achtet auch darauf, dass vor dem packen die entsprechenden Dateien die entsprechenden Rechte haben. Hierbei
+
/var/etc
ist zu beachten, das wenn man ein Paket mit z.B. WinRar schnürt, diese Rechte wieder verloren gehen!
+
oder
Ein verpacken mittels Cygwin unter Windows funktioniert tadellos, unter Linux ist dies selbstverständlich Standard.
+
/var/tuxbox/config
 +
liegt eine Datei Namens <code>useraddon.xml</code>. Diese wird zwingend benötigt um euren eigenen Server zu identifizieren. Des Weiteren muss auf euren Servern eine XML-Datei liegen, wie sie in der <code>useraddon.xml</code> angegeben wurde.
  
Info zum "verpacken":
+
Folgendes sollte schon bekannt bzw. Vorhanden sein:
Vorgehensweise unter Linux, oder Cygwin identisch.
 
Ihr legt eine Ordnerstruktur entsprechend der späteren Struktur auf der Box an, in den meisten Fällen
 
beginnend mit: /var.
 
Per Konsole nun in den übergeordneten Ordner wechseln, sodass Ihr /var seht.
 
Gebt nun folgendes ein:
 
  
tar -cvf addon.tar var
+
* ein Webserver auf dem man mittels <code>http://</code> zugreifen kann.
 +
* Wie man Gemini-tarballs <code>tar.gz</code> erstellt
  
Dies schnürt erstmal alles zusammen, anschliessend:
+
== Lehrbeispiel an einem Qnap-NAS im eigenen Privaten Netzwerk ==
 +
In dieser Wikiseite will ich dies mal an einem Beispiel erläutern wo ein Webserver (Apache) auf einem Qnap-NAS läuft.
  
bzip2 addon.tar
+
Auf diesem Webserver (Apache) kann über die Adresse <code>http://192.168.0.5</code> zugegriffen werden.
  
Damit wird dann das *tar File komprimiert -> Fertig.
+
Als erstes erstellen wir uns auf dem Webserver ein Download-Verzeichnis für die Dreambox, am besten nennen wir dies auch gleich dreambox.
 +
Dort erstellen wir unsere gewünschten Downloadrubriken (plugin, skin ...)
  
=Die useraddon.xml=
+
+ dreambox
Ist der erste Schritt zum einfügen eines eigenen/anderen Downloadservers und sieht wie folgt aus:
+
+
_________________________________________________________________________________________________
+
+ + plugin
 +
+
 +
+ + picons
 +
+
 +
+ + skin
  
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
Dann schauen wir uns mal die <code>useradon.xml</code> auf der Dreambox an, im oberen Teil sehen wird dies:
  
<item>
+
<?xml version="1.0" encoding="iso-8859-1" ?>
 +
 +
<list>
 +
<item>
 +
<name>my Server</name>
 +
<url>http://www.example.com/test.xml</url>
 +
</item>
 +
</list>
 +
 +
Somit sollte nun schon klar sein wie die Dreambox versucht Kontakt zum Server aufzunehmen.
  
<item name="example (useraddon.xml)" url="http://example/example.xml" />
 
  
</item>
+
Nun ändern wir das ganze ab, damit wir auf unseren Webserver zugreifen, und die XML-Datei auf dem Webserver nenne wir mal <code>dreambox.xml</code>:
 +
<?xml version="1.0" encoding="iso-8859-1" ?>
 +
 +
<list>
 +
<item>
 +
<name>Egle Privat Server</name>
 +
<url>http://192.168.0.5/dreambox.xml</url>
 +
</item>
 +
</list>
  
________________________________________________________________________________________
 
  
In der Sektion "item", wird mit dem Punkt "name" der Name/Kennung des zuzufügenden Servers angegeben.
+
Im unteren Teil dieser <code>useraddon.xml</code> sehen wir ein Beispiel für den Server:
Der Punkt "url" definiert die Zieladresse und die Detail XML (In unserem Fall hier die: example.xml), welche durchsucht werden soll.
 
  
Wie in dem Beispiel unschwer zu erkennen ist, können beliebig viele Server eingetragen werden. Hierzu
+
  <list>
ist einfach eine weitere Zeile " <item name=.... /> " einzufügen.
+
<Plugin>
 +
<content>
 +
<name>example</name>
 +
<url>http://example/example.tar.gz</url>
 +
<file>example.tar.gz</file>
 +
<description>description</description>
 +
<creator>all</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>523000</size>
 +
<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
 +
<option></option>
 +
</content>
 +
</Plugin>
 +
</list>
  
=Die example.xml=
+
Hier ist folgendes zu erkennen,
Ist die Datei, welche auf eurem Server Lokal vorhanden sein muss. Hier werde Detailinformationen zu
 
dem entsprechendem Dateidownload eingetragen:
 
  
_____________________________________________________________________________________________________
+
* Zwischen '''<list>''' und '''</list>''' müssen die ganzen Addons aufgelistet werden.
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
* Zwischen '''<Plugin>''' und '''</Plugin>''' sollten alles stehen was zur Rubrik Plugins gehört.
  
<image>
+
* Zwischen '''<content>''' und '''</content>''' müssen die Angaben des gewünschten Addons aufgelistet werden.
  
<image
+
In unserem Beispiel oben haben wir ja nun drei Rubriken errichten, plugins, cam und skin.
target="0815"
 
name="Plugin1"
 
url="http://beispielserver/plugins/Plugin1"
 
version="001"
 
creator="ME"
 
md5="11111111111111111111111111111111"
 
description="Plugin1 ==> Erstes Plugin" />
 
  
</image>"
+
Die xml.auf dem Server muss genauso wie die useraddon.xml mit folgendem beginnen:
  
________________________________________________________________________________________________________
+
  <?xml version="1.0" encoding="iso-8859-1" ?>
  
Auch hier können beliebig viele Sektionen "image" hinzugefügt werden, um eure downloads zu erweitern.
 
 
 
==Einzel Erklärung:==
 
  
  target      = Hier wird die Dateigröße in Bytes angegeben
+
Also sollte die xml auf dem Server '''dreambox.xml''' bei unseren drei Rubriken und der Annahme das wir zwei skins verwenden so aussehen:
  name        = Das ist der anzuzeigende Name des Plugins
 
  url        = Die Zieladresse des downzuloadenden Plugins
 
  version    = Versionsinformation des Plugins
 
  creator    = Erstellerinformationen
 
  md5        = Die md5 Checksumme. Wird beim download verglichen. Wenn diese nicht stimmt, erfolgt kein download,
 
                bzw. Installation des Addons!
 
  description = Beschreibung des Plugins
 
  
Angaben die hierbei UNBEDINGT richtig sein müssen sind:
+
  <?xml version="1.0" encoding="iso-8859-1" ?>
 +
  <list>
 +
<plugin>
 +
<content>
 +
<name>example</name>
 +
<url>http://example/example.tar.gz</url>
 +
<file>example.tar.gz</file>
 +
<description>description</description>
 +
<creator>all</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>523000</size>
 +
<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
 +
<option></option>
 +
</content>
 +
</plugin>
 +
<cam>
 +
<content>
 +
<name>example</name>
 +
<url>http://example/example.tar.gz</url>
 +
<file>example.tar.gz</file>
 +
<description>description</description>
 +
<creator>all</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>523000</size>
 +
<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
 +
<option></option>
 +
</content>
 +
</cam>
 +
<skin>
 +
<content>
 +
<name>example</name>
 +
<url>http://example/example.tar.gz</url>
 +
<file>example.tar.gz</file>
 +
<description>description</description>
 +
<creator>all</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>523000</size>
 +
<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
 +
<option></option>
 +
</content>
 +
                <content>
 +
<name>example</name>
 +
<url>http://example/example.tar.gz</url>
 +
<file>example.tar.gz</file>
 +
<description>description</description>
 +
<creator>all</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>523000</size>
 +
<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
 +
<option></option>
 +
</content>
 +
</skin>
 +
</list>
  
  name, url, md5
+
Hier sehen wir nun auch gleich warum man wissen sollte wie man Gemini-tarball erstellt.
 +
 
 +
Wir benötigen ja nicht nur den Filenamen des Tarballs , sondern auch z.B. die Größe und die MD5-Checksumme.<br>
 +
Wenn Ihr die Gemini-Tarballs auf euere Dreambox erstellt mithilfe der bereitgestellten Skriptes
 +
 
 +
* [http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=75829 Hier] klicken für Enigma
 +
 
 +
* [http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=75831 Hier] klicken für Enigma2
 +
 
 +
Und erstellt damit eure Tarballs auf der Dreambox erhaltet Ihr eine <code>useraddon.xml-info.txt</code>
 +
 
 +
In dieser könnt Ihr dann z.B. folgendes finden:
 +
 
 +
Gesamtgröße: 68536 Bytes
 +
Checksumme: 1959aa9c0eaa891989ee17dcf06260d1  e2-showmount_100208.tar.gz
 +
 +
<name>showmount</name>
 +
<description>zum ermitteln der NFS-Freigaben</description>
 +
<creator>Linux</creator>
 +
 
 +
Und habt somit eure benötigten Informationen die man in die <code>dreambox.xml</code> eintragen kann:
 +
 
 +
<name>showmount</name>
 +
<url>http://192.168.0.5/dreambox/plugin/e2-showmount_100208.tar.gz</url>
 +
<file>e2-showmount_100208.tar.gz</file>
 +
<description>zum ermitteln der NFS-Freigaben</description>
 +
<creator>Linux</creator>
 +
<size>68536</size>
 +
<md5>1959aa9c0eaa891989ee17dcf06260d1</md5>
 +
<option></option>
 +
 
 +
Bei Skins usw. kann man auch ruhig jpg-Bilder mit eintragen, damit man wie beim BluePanel dort ein Vorschaubild hat.
 +
 
 +
== Einträge und Optionen ==
 +
Folgende Einträge und Optionen sind zur Zeit möglich:
 +
 
 +
<name> -> Name des Addons                     
 +
 +
<description> -> Beschreibung des Addons bitte in englisch
 +
 
 +
<creator> -> Wer hat das Addon erstellt/prog. 
 +
 
 +
<option> -> was soll nach dem Installieren des Addons passieren
 +
 
 +
            Werte: 0=nischt                   
 +
                    1=Reboot Hard (Reset)       
 +
                    2=Reboot der Box           
 +
                    3=Restart von Enigma       
 +
                    4=Reload-Settings           
 +
                    5=Größe Addons nicht testen 
 +
                                               
 +
 
 +
 
 +
 
 +
 
 +
Selbst habe ich mir nun mal diese <code>dreambox.xml</code> erstellt zu Testzwecken und für diese Wikiseite:
 +
 
 +
<?xml version="1.0" encoding="iso-8859-1" ?>
 +
 +
<list>
 +
<plugin>
 +
<content>
 +
<name>showmount</name>
 +
<url>http://192.168.0.5/dreambox/plugins/e2-showmount.tar.gz</url>
 +
<file>e2-showmount.tar.gz</file>
 +
<description>zum ermitteln der NFS-Freigaben</description>
 +
<creator>Gemini-Team</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>68536</size>
 +
<md5>1959aa9c0eaa891989ee17dcf06260d1</md5>
 +
<option></option>
 +
</content>
 +
</plugin>
 +
<skin>
 +
<content>
 +
<name>2-Nemesis.GlassLine_GP2_v4.70</name>
 +
<url>http://192.168.0.5/dreambox/skin/e2-Nemesis.GlassLine_GP2_v4.70_100201.tar.gz</url>
 +
<file>e2-Nemesis.GlassLine_GP2_v4.70_100201.tar.gz</file>
 +
<description>SD-Skin for Gemini Project2, Imageversion 4.70 (DM7025, DM800, DM8000)</description>
 +
<creator>Nemesis mod by ronaldus</creator>
 +
<pic>http://example/example.jpg</pic>
 +
<size>1396278</size>
 +
<md5>5b2aad7150f3f288cd1a9e7a1c56d28e</md5>
 +
<option></option>
 +
</content>
 +
</skin>
 +
</list>
 +
 
 +
 
 +
Das Ergebnis ist folgendes:
 +
 
 +
{| class="wikitable"
 +
|- class="hintergrundfarbe5"
 +
| [[Bild:Downloadserver-EgLe-Enigma2.png|left|thumb|500px|Egle Privat Server]]
 +
| [[Bild:Downloadserver-EgLe2-Enigma2.png|left|thumb|500px|Egle Privat Server]]
 +
|}
 +
 
 +
{| class="wikitable"
 +
|- class="hintergrundfarbe5"
 +
| [[Bild:Downloadserver-EgLe3-Enigma2.png|left|thumb|500px|Egle Privat Server]]
 +
| [[Bild:Downloadserver-EgLe4-Enigma2.png|left|thumb|500px|Egle Privat Server]]
 +
|}
 +
 
 +
 
 +
So viel Spaß beim Einrichten eures eigenen Downloadservers.
 +
 
 +
[[Kategorie:GP2]]

Aktuelle Version vom 8. September 2013, 14:01 Uhr

Mit den Gemini-Images besteht die Möglichkeit, einen eigenen Downloadserver in das Image zu integrieren.

Hierzu müssen einige Regeln eingehalten werden die auf dieser Seite näher beschrieben sind.

Voraussetzung

Auf der Dreambox im Verzeichnis

/etc
/var/etc

oder

/var/tuxbox/config

liegt eine Datei Namens useraddon.xml. Diese wird zwingend benötigt um euren eigenen Server zu identifizieren. Des Weiteren muss auf euren Servern eine XML-Datei liegen, wie sie in der useraddon.xml angegeben wurde.

Folgendes sollte schon bekannt bzw. Vorhanden sein:

  • ein Webserver auf dem man mittels http:// zugreifen kann.
  • Wie man Gemini-tarballs tar.gz erstellt

Lehrbeispiel an einem Qnap-NAS im eigenen Privaten Netzwerk

In dieser Wikiseite will ich dies mal an einem Beispiel erläutern wo ein Webserver (Apache) auf einem Qnap-NAS läuft.

Auf diesem Webserver (Apache) kann über die Adresse http://192.168.0.5 zugegriffen werden.

Als erstes erstellen wir uns auf dem Webserver ein Download-Verzeichnis für die Dreambox, am besten nennen wir dies auch gleich dreambox. Dort erstellen wir unsere gewünschten Downloadrubriken (plugin, skin ...)

+ dreambox
+
+ + plugin
+ 
+ + picons
+ 
+ + skin


Dann schauen wir uns mal die useradon.xml auf der Dreambox an, im oberen Teil sehen wird dies:

<?xml version="1.0" encoding="iso-8859-1" ?>

<list> 
	<item>
		<name>my Server</name>
		<url>http://www.example.com/test.xml</url>
	</item>
</list>

Somit sollte nun schon klar sein wie die Dreambox versucht Kontakt zum Server aufzunehmen.


Nun ändern wir das ganze ab, damit wir auf unseren Webserver zugreifen, und die XML-Datei auf dem Webserver nenne wir mal dreambox.xml:

<?xml version="1.0" encoding="iso-8859-1" ?>

<list> 
	<item>
		<name>Egle Privat Server</name>
		<url>http://192.168.0.5/dreambox.xml</url>
	</item>
</list>


Im unteren Teil dieser useraddon.xml sehen wir ein Beispiel für den Server:

 <list>
	<Plugin>
		<content>
			<name>example</name>
			<url>http://example/example.tar.gz</url>
			<file>example.tar.gz</file>
			<description>description</description>
			<creator>all</creator>
			<pic>http://example/example.jpg</pic>
			<size>523000</size>
			<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
			<option></option>
		</content>
	</Plugin>
</list>

Hier ist folgendes zu erkennen,

  • Zwischen <list> und </list> müssen die ganzen Addons aufgelistet werden.
  • Zwischen <Plugin> und </Plugin> sollten alles stehen was zur Rubrik Plugins gehört.
  • Zwischen <content> und </content> müssen die Angaben des gewünschten Addons aufgelistet werden.

In unserem Beispiel oben haben wir ja nun drei Rubriken errichten, plugins, cam und skin.

Die xml.auf dem Server muss genauso wie die useraddon.xml mit folgendem beginnen:

 <?xml version="1.0" encoding="iso-8859-1" ?>


Also sollte die xml auf dem Server dreambox.xml bei unseren drei Rubriken und der Annahme das wir zwei skins verwenden so aussehen:

 <?xml version="1.0" encoding="iso-8859-1" ?>
 <list>
	<plugin>
		<content>
			<name>example</name>
			<url>http://example/example.tar.gz</url>
			<file>example.tar.gz</file>
			<description>description</description>
			<creator>all</creator>
			<pic>http://example/example.jpg</pic>
			<size>523000</size>
			<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
			<option></option>
		</content>
	</plugin>
	<cam>
		<content>
			<name>example</name>
			<url>http://example/example.tar.gz</url>
			<file>example.tar.gz</file>
			<description>description</description>
			<creator>all</creator>
			<pic>http://example/example.jpg</pic>
			<size>523000</size>
			<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
			<option></option>
		</content>
	</cam>
	<skin>
		<content>
			<name>example</name>
			<url>http://example/example.tar.gz</url>
			<file>example.tar.gz</file>
			<description>description</description>
			<creator>all</creator>
			<pic>http://example/example.jpg</pic>
			<size>523000</size>
			<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
			<option></option>
		</content>
                <content>
			<name>example</name>
			<url>http://example/example.tar.gz</url>
			<file>example.tar.gz</file>
			<description>description</description>
			<creator>all</creator>
			<pic>http://example/example.jpg</pic>
			<size>523000</size>
			<md5>b9218bc1c7b71b705d7fd7f2f0dd80c6</md5>
			<option></option>
		</content>
	</skin>
</list>

Hier sehen wir nun auch gleich warum man wissen sollte wie man Gemini-tarball erstellt.

Wir benötigen ja nicht nur den Filenamen des Tarballs , sondern auch z.B. die Größe und die MD5-Checksumme.
Wenn Ihr die Gemini-Tarballs auf euere Dreambox erstellt mithilfe der bereitgestellten Skriptes

  • Hier klicken für Enigma
  • Hier klicken für Enigma2

Und erstellt damit eure Tarballs auf der Dreambox erhaltet Ihr eine useraddon.xml-info.txt

In dieser könnt Ihr dann z.B. folgendes finden:

Gesamtgröße: 68536 Bytes
Checksumme: 1959aa9c0eaa891989ee17dcf06260d1  e2-showmount_100208.tar.gz

<name>showmount</name>
<description>zum ermitteln der NFS-Freigaben</description>
<creator>Linux</creator>

Und habt somit eure benötigten Informationen die man in die dreambox.xml eintragen kann:

			<name>showmount</name>
			<url>http://192.168.0.5/dreambox/plugin/e2-showmount_100208.tar.gz</url>
			<file>e2-showmount_100208.tar.gz</file>
			<description>zum ermitteln der NFS-Freigaben</description>
			<creator>Linux</creator>
			<size>68536</size>
			<md5>1959aa9c0eaa891989ee17dcf06260d1</md5>
			<option></option>

Bei Skins usw. kann man auch ruhig jpg-Bilder mit eintragen, damit man wie beim BluePanel dort ein Vorschaubild hat.

Einträge und Optionen

Folgende Einträge und Optionen sind zur Zeit möglich:

<name> -> Name des Addons                      

<description> -> Beschreibung des Addons bitte in englisch 
<creator> -> Wer hat das Addon erstellt/prog.  
<option> -> was soll nach dem Installieren des Addons passieren 
            Werte: 0=nischt                     
                   1=Reboot Hard (Reset)        
                   2=Reboot der Box             
                   3=Restart von Enigma         
                   4=Reload-Settings            
                   5=Größe Addons nicht testen  
                                               



Selbst habe ich mir nun mal diese dreambox.xml erstellt zu Testzwecken und für diese Wikiseite:

<?xml version="1.0" encoding="iso-8859-1" ?>

<list>
	<plugin>
		<content>
			<name>showmount</name>
			<url>http://192.168.0.5/dreambox/plugins/e2-showmount.tar.gz</url>
			<file>e2-showmount.tar.gz</file>
			<description>zum ermitteln der NFS-Freigaben</description>
			<creator>Gemini-Team</creator>
			<pic>http://example/example.jpg</pic>
			<size>68536</size>
			<md5>1959aa9c0eaa891989ee17dcf06260d1</md5>
			<option></option>
		</content>
	</plugin>
	<skin>
		<content>
			<name>2-Nemesis.GlassLine_GP2_v4.70</name>
			<url>http://192.168.0.5/dreambox/skin/e2-Nemesis.GlassLine_GP2_v4.70_100201.tar.gz</url>
			<file>e2-Nemesis.GlassLine_GP2_v4.70_100201.tar.gz</file>
			<description>SD-Skin for Gemini Project2, Imageversion 4.70 (DM7025, DM800, DM8000)</description>
			<creator>Nemesis mod by ronaldus</creator>
			<pic>http://example/example.jpg</pic>
			<size>1396278</size>
			<md5>5b2aad7150f3f288cd1a9e7a1c56d28e</md5>
			<option></option>
		</content>
	</skin>
</list>


Das Ergebnis ist folgendes:

Egle Privat Server
Egle Privat Server
Egle Privat Server
Egle Privat Server


So viel Spaß beim Einrichten eures eigenen Downloadservers.