Einfügen eines eigenen Downloadservers: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
 
(35 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Anwendungsbereich=
+
Mit den Gemini-Images besteht die Möglichkeit, einen eigenen '''Downloadserver''' in das [[Image]] zu integrieren.
Seit Gemini 3.0.0, besteht die Möglichkeit, einen eigenen Downloadserver in das Image zu integrieren.
 
Hierzu müssen allerdings einige "Regeln" eingehalten werden.
 
Auf der Dreambox 7020, im Verzeichnis /etc liegt eine Datei Namens: useraddon.xml.
 
Bei den "kleinen" Boxen (DM5xxx) liegt diese Datei unter /var/etc.
 
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=
+
Hierzu müssen einige Regeln eingehalten werden die auf dieser Seite näher beschrieben sind.
Das Addon/Plugin muss als gepacktes *.tar.bz2 File vorliegen, andernfalls findet keine Installation statt!
+
__TOC__
Achtet auch darauf, dass vor dem packen die entsprechenden Dateien die entsprechenden Rechte haben. Hierbei
+
== Voraussetzung ==
ist zu beachten, das wenn man ein Paket mit z.B. WinRar schnürt, diese Rechte wieder verloren gehen!
 
Ein verpacken mittels Cygwin unter Windows funktioniert tadellos, unter Linux ist dies selbstverständlich Standard.
 
  
Info zum "verpacken":
+
Auf der Dreambox im Verzeichnis
Vorgehensweise unter Linux, oder Cygwin identisch.
+
/etc
Ihr legt eine Ordnerstruktur entsprechend der späteren Struktur auf der Box an, in den meisten Fällen
+
/var/etc
beginnend mit: /var.
+
oder  
Per Konsole nun in den übergeordneten Ordner wechseln, sodass Ihr /var seht.
+
/var/tuxbox/config
Gebt nun folgendes ein:
+
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.
  
tar -cvf addon.tar var
+
Folgendes sollte schon bekannt bzw. Vorhanden sein:
  
Dies schnürt erstmal alles zusammen, anschliessend:
+
* ein Webserver auf dem man mittels <code>http://</code> zugreifen kann.
 +
* Wie man Gemini-tarballs <code>tar.gz</code> erstellt
  
bzip2 addon.tar
+
== 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.
  
Damit wird dann das *tar File komprimiert -> Fertig.
+
Auf diesem Webserver (Apache) kann über die Adresse <code>http://192.168.0.5</code> zugegriffen werden.
  
=Die useraddon.xml=
+
Als erstes erstellen wir uns auf dem Webserver ein Download-Verzeichnis für die Dreambox, am besten nennen wir dies auch gleich dreambox.
Ist der erste Schritt zum einfügen eines eigenen/anderen Downloadservers und sieht wie folgt aus:
+
Dort erstellen wir unsere gewünschten Downloadrubriken (plugin, skin ...)
_________________________________________________________________________________________________
 
  
 +
+ dreambox
 +
+
 +
+ + plugin
 +
+
 +
+ + picons
 +
+
 +
+ + skin
  
<?xml version="1.0" encoding="iso-8859-1" ?>
 
  
<item>
+
Dann schauen wir uns mal die <code>useradon.xml</code> auf der Dreambox an, im oberen Teil sehen wird dies:
 
<item name="example (useraddon.xml)" url="http://example/example.xml" />
 
<!--item name="example2 (useraddon.xml)" url="http://example/example2.xml" /-->
 
</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.
  
In der Sektion "item", wird mit dem Punkt "name" der Name/Kennung des zuzufügenden Servers angegeben.
 
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
+
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>:
ist einfach eine weitere Zeile " <item name=.... /> " einzufügen.
+
<?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>
  
=Die example.xml=
 
Ist die Datei, welche auf eurem Server Lokal vorhanden sein muss. Hier werde Detailinformationen zu
 
dem entsprechendem Dateidownload eingetragen:
 
  
_____________________________________________________________________________________________________
+
Im unteren Teil dieser <code>useraddon.xml</code> 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>
  
<image>
+
Hier ist folgendes zu erkennen,
  
 +
* Zwischen '''<list>''' und '''</list>''' müssen die ganzen Addons aufgelistet werden.
  
      <image target="0815" name="Plugin1" url="http://beispielserver/plugins/Plugin1" version="001" creator="ME" md5="11111111111111111111111111111111" description="Plugin1 ==> Erstes Plugin" />
+
* 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.
  
Auch hier können beliebig viele Sektionen "image" hinzugefügt werden, um eure downloads zu erweitern.
+
In unserem Beispiel oben haben wir ja nun drei Rubriken errichten, plugins, cam und skin.
 
 
==Einzel Erklärung:==
 
  
  target      = Hier wird die Dateigröße in Bytes angegeben
+
Die xml.auf dem Server muss genauso wie die useraddon.xml mit folgendem beginnen:
  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!
 
  description = Beschreibung des Plugins
 
  
Angaben die hierbei UNBEDINGT richtig sein müssen sind:
+
  <?xml version="1.0" encoding="iso-8859-1" ?>
  
   name, url, md5
+
 
 +
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.<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.