Einfügen eines eigenen Downloadservers: Unterschied zwischen den Versionen

Aus Gemini-Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
__NOTOC__
 
[[Kategorie:Index]]
 
[[Kategorie:Index]]
 
[[Kategorie:FAQ und Anleitungen]]
 
[[Kategorie:FAQ und Anleitungen]]
 
[[Kategorie:Grundlagen]]
 
[[Kategorie:Grundlagen]]
 +
[[Kategorie:Plugins_(Enigma1)]]
 
[[Kategorie:Plugins_(Enigma2)]]  
 
[[Kategorie:Plugins_(Enigma2)]]  
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 & DM7000) liegt diese Datei unter /var/tuxbox/config/
 
Diese wird zwingend benötigt um euren eigenen Server zu identifizieren. Des Weiteren muss auf euren Servern
 
eine XML liegen, wie sie in der useraddon.xml angegeben wurde.
 
  
==Das Addon==
+
<div style="background-color: #FFFAFA; border: 1px padding: .4em; solid #cccccc;">
Das Addon/Plugin muss als gepacktes *.tar.bz2 File vorliegen, andernfalls findet keine Installation statt!
 
Achtet auch darauf, dass vor dem Packen die entsprechenden Dateien die entsprechenden Rechte haben. Hierbei
 
ist zu beachten, dass 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"===
 
Die Vorgehensweise ist 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
+
= Einfügen eines eigenen Downloadservers =
  
Dies schnürt erstmal alles zusammen. Anschließend:
+
Mit den Gemini-Images besteht die Möglichkeit,<br>
 +
einen eigenen '''Downloadserver in das Image zu integrieren'''.<br/>
  
bzip2 addon.tar
+
Hierzu müssen allerdings einige "Regeln" eingehalten werden.<br/>
 +
Auf der Dreambox im Verzeichnis /etc liegt eine Datei Namens: '''useraddon.xml'''. <br/>
 +
Diese wird zwingend benötigt um euren eigenen Server zu identifizieren.<br/>
 +
Des Weiteren muss auf euren Servern eine XML liegen, wie sie in der useraddon.xml angegeben wurde.
  
Damit wird dann das *tar File komprimiert -> fertig.
 
  
==Die ''useraddon.xml''==
+
== Voraussetzung ==
Ist der erste Schritt zum einfügen eines eigenen/anderen Downloadservers und sieht wie folgt aus:
 
________________________________________________________________________________________
 
  
 +
Folgendes sollte schon bekannt bzw. Vorhanden sein:
  
<?xml version="1.0" encoding="iso-8859-1" ?>
+
* ein Webserver auf dem man mittels '''http://''' zugreifen kann.  
  
<item>
+
* Wie man Gemini-tarballs '''"tar.gz"''' erstellt
  
<item name="example (useraddon.xml)" url="http://example/example.xml" />
 
  
</item>
+
== 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.
  
In der Sektion "item", wird mit dem Punkt "name" der Name/Kennung des zuzufügenden Servers angegeben.
+
Auf diesem Webserver (Apache) kann über die Adresse http://192.168.0.5 zugegriffen werden.
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
 
ist einfach eine weitere Zeile " <item name=.... /> " einzufügen.
 
  
==Die ''example.xml''==
+
Als erstes erstellen wir uns auf dem Webserver ein Download-Verzeichnis für die Dreambox,<br/>
Ist die Datei, welche auf eurem Server Lokal vorhanden sein muss. Hier werde Detailinformationen zu
+
am besten nennen wir dies auch gleich dreambox.
dem entsprechendem Dateidownload eingetragen:
+
Dort erstellen wir unsere gewünschten Downloadrubriken (plugin, scam, skin ...)
  
_____________________________________________________________________________________________________
+
+ dreambox
 +
+
 +
+ + plugin
 +
+
 +
+ + cam
 +
+
 +
+ + skin
  
<?xml version="1.0" encoding="iso-8859-1" ?>
 
  
<image>
+
Dann schauen wir uns mal die useradon.xml auf der Dreambox an,<br/>
 +
im oberen Teil sehen wird dies:
  
<image
+
<?xml version="1.0" encoding="iso-8859-1" ?>
target="0815"
+
name="Plugin1"
+
<list>
url="http://beispielserver/plugins/Plugin1"
+
<item>
version="001"
+
<name>my Server</name>
creator="ME"
+
<url>http://www.example.com/test.xml</url>
md5="11111111111111111111111111111111"
+
</item>
description="Plugin1 ==> Erstes Plugin" />
+
</list>
 +
 +
Somit sollte nun schon klar sein wie die Dreambox versucht Kontakt zum Server aufzunehmen.
  
</image>"
 
  
________________________________________________________________________________________________________
+
Nun ändern wir das ganze ab, damit wir auf unseren Webserver zugreifen,<br/>
 +
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>
  
Auch hier können beliebig viele Sektionen "image" hinzugefügt werden, um eure downloads zu erweitern.
 
 
 
==Einzelerklärung==
 
  
  target      = Hier wird die Dateigröße in Bytes angegeben
+
Im unteren Teil dieser '''useraddon.xml''' sehen wir ein Beispiel für den Server:
  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:
+
  <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>
  
  name, url, md5
+
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 des bereitgestellten scriptes
 +
 +
* [http://www.i-have-a-dreambox.com/wbb2/thread.php?threadid=75829 Hier klicken für Enigma1]
 +
 +
* [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 '''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>e2-showmount_100208.tar.gz</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.
 +
 +
 +
 +
== 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:
 +
 +
{| 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 Spass beim einrichten eures eigenen Downloadservers...'''
  
  
  
 
'''Zurück zur Übersicht:[[Gemini-Wiki:Portal]] oder [[Hauptseite]]'''
 
'''Zurück zur Übersicht:[[Gemini-Wiki:Portal]] oder [[Hauptseite]]'''

Version vom 8. Februar 2010, 22:35 Uhr



Einfügen eines eigenen Downloadservers

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

Hierzu müssen allerdings einige "Regeln" eingehalten werden.
Auf der Dreambox im Verzeichnis /etc 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 liegen, wie sie in der useraddon.xml angegeben wurde.


Voraussetzung

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, scam, skin ...)

+ dreambox
+
+ + plugin
+ 
+ + cam
+ 
+ + 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 des bereitgestellten scriptes

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>e2-showmount_100208.tar.gz</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.


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 Spass beim einrichten eures eigenen Downloadservers...


Zurück zur Übersicht:Gemini-Wiki:Portal oder Hauptseite