[HowTo] Kanalliste / Senderliste per Update-Skript bereitstellen (blaue Taste / Skripte)

Gesperrt
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1285
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Been thanked: 2 times

[HowTo] Kanalliste / Senderliste per Update-Skript bereitstellen (blaue Taste / Skripte)

Beitrag von fred_feuerstein »

Update 16.10.2014: Änderung bei dropbox-Links! (siehe unten im Text)


Wie der Titel schon sagt, geht es um die Möglichkeit, die Senderlisten für andere Coolstream-Boxen (bspw. im Familien- oder Bekanntenkreis) zur Verfügung zu stellen.

Dazu wird entweder ein Webspace (der per ftp erreichbar ist) benötigt, oder bspw. ein dropbox Account (evtl. auch andere Cloud-Services). Ausserdem wird MSGBOX (MessageBox) auf der Coolstream benötigt. In den Team-Images ist dies standardmäßig vorhanden. Beim Originalimage muss es manuell installiert werden.
Sind diese Voraussetzungen vorhanden, kann es losgehen.

Die Senderlisten-Dateien (bouquets.xml, services.xml und ubouquet.xml), sowie eine Info.txt und eine updates-Datei mit den Befehlen kommen in ein Zip-Archiv. Dieses kommt entweder auf den Webspace oder in die Dropbox.

Am Bespiel der Dropbox geht das dann so:
- Datei in einen Dropbox Ordner kopieren.
- mit Rechter Maus-Taste drauf und "Dropbox-Link freigeben" anklicken. Die Adresse ist dann in der Zwischenablage.
- Dann im Skript die Adresse entsprechend anpassen. Es geht um diese Zeile:

Code: Alles auswählen

cd /tmp && wget -q http://webspace/$archive
Hier dann ändern in:

Code: Alles auswählen

cd /tmp && curl -k -L -o $archive https://www.dropbox.com/s/435fsfdgsfgosdf5/settings.zip?dl=1
Wobei hier dann natürlich der passende Link aus der Zwischenablage rein muss. Das ?dl=1 am Ende ist wichtig!

So, nun also zum Skript: settings.sh

Code: Alles auswählen

#!/bin/sh

BNAME=${0##*/}

archive="settings.zip"
workdir=${archive%%.*}

cleanup() {
	rm -rf /tmp/$workdir /tmp/$archive
}

cleanup

cd /tmp && wget -q http://WEBSPACE-ADRESSE-ODER-DROPBOX/$archive

if [ -e $archive ]; then
	mkdir $workdir
	cd $workdir
	unzip /tmp/$archive >/dev/null

	if [ -e info.txt ]; then
		msgbox msg=/tmp/$workdir/info.txt title="Info zum Sender-Update" >/dev/null
		fi

		if [ -e updates ]; then
		test -e updates && chmod 755 updates && ./updates
		
		else
		 	cp -f bouquets.xml /var/tuxbox/config/zapit
    	cp -f services.xml /var/tuxbox/config/zapit
    	cp -f ubouquets.xml /var/tuxbox/config/zapit
   	sleep 2
  		/bin/pzapit -c >/dev/null
  	fi
  	echo "$BNAME: Settings-Update erfolgreich installiert"
	else
  	echo "$BNAME: Fehler beim Download von $archive"
fi

cleanup
Das Skript bzgl. Archiv-Name (settings.zip) und Webadresse anpassen.
Danach kommt es zusammen mit der settings.cfg nach /lib/tuxbox/plugins.
Die settings.sh benötigt die Rechte 755.

Danach über das Neutrino-Menü (Services) die Plugins neu laden.

Nun kann das Skript über blaue Taste / Skripte gestartet werden.

Diese Meldung erscheint:
Bild

Mit OK geht es los. Dann dauert es ein paar Sekunden! Wenn das Update durch ist, kommt diese Meldung:
Bild

Nun mit Exit verlassen. Fertig.

INFO: Es werden automatisch die Senderlisten neu geladen!! Es ist also nicht manuell nochmal per Menü neu zu laden.

Im Anhang ist einmal das Skript mit Speicherort und ein Zip-Archiv als Beispiel enthalten.
Wichtig: im Zip-Archiv muss die info.txt und die updates-Datei enthalten sein.

Bei künftigen Updates und neuen Sendern, einfach die bouquets.xml, services.xml und ubouquets.xml im Zip-Archiv ersetzen und das Archiv entweder hochladen auf den Webspace oder in den Public-Ordner der Dropbox legen. Je nach Einstellung im Skript.

Ausserdem kann man über diesen Weg auch beliebige andere Dateien verteilen. Bspw. eine neue Satellites.xml oder auch oscam.services, tuxwetter.conf, etc.! Dazu einfach die entsprechenden Dateien mit ins Archiv packen und die updates-Datei im Archiv entsprechend anpassen. Ein paar Beispiele sind bereits enthalten.

Optional:
Man kann das Skript bei neueren Images (ab NG 2.7) in ein anderes Menü verschieben. Es eignet sich hierbei ganz gut das Service-Menü !

Dazu in der settigs.cfg den Wert integration=x eintragen:

Code: Alles auswählen

type=3
name=Senderlisten-Update
desc=Online-Senderlisten-Update
needfb=1
needrc=1
needoffs=1
integration=4
hide=0
Viel Spaß!
Dateianhänge
settings-update.zip
(17.44 KiB) 173-mal heruntergeladen
Gesperrt

Zurück zu „HowTo's“