Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

    Nobody is reading this thread right now.
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Mein damit ne Verknüpfung in den Einstellungen des Receivers "Kanal liste aktualisieren" zB wenn ich meinen Eltern heute erkläre wo sie im Dateibrowser hin navigieren müssen, haben sie das morgen wieder vergessen :)
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hab über google (Suche nach: Dreambox Script per Menüeintrag) folgendes gefunden. Kann aber nicht sagen ob das funktioniert..

im Ordner /usr/lib/enigma2/python/Plugins/Extensions einen Ordner für das neue Plugin anlegen

z.B. MeinScript über Telnet

Code:
mkdir /usr/lib/enigma2/python/Plugins/Extensions/MeinScript
Rechte 755
Code:
chmod 755 /usr/lib/enigma2/python/Plugins/Extensions/MeinScript
die Datei __init__.py muss immer vorhanden sein, kann aber auch "leer" sein
also mal eine leere __init__.py erstellen
Code:
touch /usr/lib/enigma2/python/Plugins/Extensions/MeinScript/__init__.py
dann brauchen wir dann eine plugin.py in der man in Python coded
Code:
touch /usr/lib/enigma2/python/Plugins/Extensions/MeinScript/plugin.py
Dann mit einem Linux Editor (DCC, PS-Pad Editor etc.) die plugin.py bearbeiten

sieht dann etwa so aus:

Code:
from Plugins.Plugin import PluginDescriptor
from Screens.Console import Console

cmd = "/usr/script/meinscript.sh"

def main(session, **kwargs):
    session.open(Console,_("Mein Script"),[cmd])
    
def Plugins(**kwargs):
    return [PluginDescriptor(name="Mein Script", description=_("Mein Script Beschreibung"), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
            PluginDescriptor(name="Mein Script", description=_("Mein Script Beschreibung"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]

cmd =

hier den Pfad für das auszuführende Srcript eingeben

return [PluginDescriptor(name="Pluginname"
frei wählbarer Plugin Name

description=_("Pluginbeschreibung")
Alternativ Text (Beschreibung im Erweiterungs Menü)

PluginDescriptor.WHERE_PLUGINMENU
Verantwortilich für die Anzeige im Erweiterungs Menü (Menü - Erweiterungen)

PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main
taucht dann im BluePanel auf - zumindest im Newnigma2

session.open(Console,_("mein Script"),[cmd])
hier wird der Titel definiert, der am Screen angezeigt wird, wenn du das Plugin ausführst


wenn man fertig ist, Enigma2 neustarten, dann wird automatisch aus der plugin.py bzw. __init__.py eine plugin.pyo und __init__.pyo kompiliert, damit das Plugin ausführbar ist (im OE 1.5 mit der älteren Python Version war es glaube ich die alte Endung .pyc)

Wenn alles richtig ist, sollte das script so ausführbar sein. Wenn die Box crasht, im Craschlog nachsehen, was schief ging. Die plugin.py kontrollieren/korrigieren und Enigma2 neu starten, dann wird eine neue .pyo erstellt


der Rest (Name, Beschreibung, Fenstertitelname) ist Spielerei
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Genau so habe ich es gemacht :)

Und dann noch als IPK gepackt

Hier mal die plugin.py aus dem IPK:
Code:
from Plugins.Plugin import PluginDescriptor
from Screens.Console import Console

cmd = "/usr/script/Senderliste.sh"

def main(session, **kwargs):
        session.open(Console,_("Senderliste.sh"),[cmd])

def Plugins(**kwargs):
        return [PluginDescriptor(name="Senderlisten Update", description=_("execute /usr/script/Senderliste.sh"), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
                 PluginDescriptor(name="Senderlisten Update", description=_("execute /usr/script/Senderliste.sh"), where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)]

Gruß
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Mein damit ne Verknüpfung in den Einstellungen des Receivers "Kanal liste aktualisieren" zB wenn ich meinen Eltern heute erkläre wo sie im Dateibrowser hin navigieren müssen, haben sie das morgen wieder vergessen :)
Warum machst du nicht einen Cronjob, der z.B. einmal Wöchentlich Nachts überprüft, ob ein Update vorhanden ist? Das wäre doch am einfachsten.
Hab's selber noch nicht getestet, aber ich denke das sollte funktionieren. Wird ja einfach dann nur die time geladen und verglichen.


@Youtube18: Danke für die ipk. Mit der vu+ Solo (VTI Image) getestet und läuft Sahne.
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

@Jonny Klar ist das mit dem Cron ne tolle sache, aber seh das Problem dadrin das dieses Script dan einfach ausgeführt wird, man kann nicht entscheiden ob man Updaten will oder nicht, wenn jetzt zB mein Freund noch n zusätzliches BQ anlegt zB mit seinen Fav Sender, der Cron führt das Script aus und schon is sein Fav BQ weg :D

Mit der Anleitung von 080055333 hat es bestens geklappt :) Noch n Quickbutton angelegt und fertig :)

Youtube18 du solltest vll noch eine Beschreibung zu deiner ipk hinzufügen mit dem wo die plugin.py liegt, damit man den Pfad anpassen kann, denn der weicht ja ein wenig ab wenn man der Anleitung hier 1 zu 1 gefolgt ist :)

Jetzt funktioniert alles so wie ich will, sogar mit meiner xtrend4000 kann ich mit OpenPli über PPanles das Script mit der Fernbedienung ausführen :)
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Ich hab mal ne Frage die nicht dirket damit zu tun hat aber vielleicht trotzdem interessant:
Wenn ich die Settings aktualisiere und hab vorher Timeraufnahmen programmiert, werden die mit den neuen Settings auch ausgeführt?

LG
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Erhalte diese Meldung.
Rechte habe ich vergeben.

Code:
-sh: /usr/script/pack_bq.sh: /bin/sh^M: bad interpreter: No such file or directory

habe es direkt vom Post 1 unter unter /usr/script/pack_bq.sh kopiert
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Wenn Fehlermeldungen " ^M " enthalten, zeigt es dass das File im falschen Format gespeichert wurde, nämlich im DOS Format mit Zeilenumbrüchen von Windows - die versteht Linux aber nicht..

nur zur Info: Linux nutzt als Zeilenumbruch " \n " aber Windows nutzt " \r " (das sieht man aber so nicht)

Bearbeite die Datei also unter Windows mit einem Linux kompatiblen Editor wie zB Proton oder notepad++ oder UltraEdit, (oder mach "Speichern als.." und wähl das UNIX Format aus)

oder copy&paste die Zeilen direkt in einen Linux Editor wie zB nano / pico / vi / joe
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Habe jetzt direkt bei notepad++ erstellt. Hat geklappt.

Wie mach ich das am besten das mein Dad am Receiver das auch aktualisieren kann. Da muss ich wahrscheinlich den Port 80 freigeben oder? Oder kann man das ggf mit Goggle-Drive lösen?

Edit: kann es sein das es bei https nicht funktioniert?
 
Zuletzt bearbeitet:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hab mal 2 Fragen:
1: Muss ich den Settings-Ordner auf dem Server im Skript angeben mit "/var/www/MeinOrdner" oder mit "/var/www/MeinOrdner/"?
2: Ich bekomme das Skript nicht verlinkt, damit ich es via Fernbedienung ausführen kann (habe VU+ DUO mit VTI 5.1).
Ich habe mich bereits totgegooglet. Da wäre zwar der ExeManager, aber der hilft anscheind nur wenn ein USB-Stick eingesteckt ist oder ne HDD drin ist? Im VTI-Wiki steht nichts und im VUPlus-Forum finde ich auch keine passenden Einträge, da wird zwar auf den Exemanager verwiesen, aber nirgends finde ich eine genaue Erklärung dazu. Dann hab ich was über BarryAllen gelesen, mir das RTFM runtergeladen und gesehen, dass das für Multiboot zuständig ist.
Und Multiquickbutton bringt ja erstmal auch nichts, da ich ja noch keine Verknüpfung habe...

LG

Edit: Sorry, habe noch nicht neugestartet. Hab die IPK von Youtube18 runtergeladen, das kümmert sich ja um den Menüeintrag... Ist jetzt echt spät, neustarten kann ich wohl erst morgen, dann probier ich's nochmal.

Edit2:
Also, das Pack-Skript läuft nun und ist auch verlinkt.
Allerdings bekomme ich beim Ausführen folgenden Fehler:
"Es ist ein Fehler aufgetreten (download time.txt)
wget: server retured error: HTTP/1.1 404 Not Found"
Da es im Skript beim Downloaden der time.txt ja folgendermaßen aussieht:
"wget $WGETsettings $URL/$SERVERdir/$ST"
habe ich die Variable SERVERdir="var/www/meinordner" ohne / vor oder nach dem Pfad...
Ich hab aber trotzdem die Vermutung, dass die URL trotzdem nicht stimmt. Ich bekomme auch über den Browser bei "http://xxx.xxx.xxx.xxx/var/www/meinordner/time.txt" den 404.
Ach so: .htaccess und .htpasswd hab ich wieder geläscht und die entsprechenden Variabeln im Skript auch leer gelassen, nachdem es beim 1. mal nicht geklappt hat...
Hat jemand ne Idee?

LG
 
Zuletzt bearbeitet:
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hab mal ne Debug-Ausgabe gemacht:

Code:
root@blubb:~# sh -x /usr/script/get_bq.sh
+ ENIGMA=enigma2
+ SERVERurl=http://xxx.xxx.xxx.xxx
+ SERVERport=xxxxx
+ SERVERdir=var/www/meinordner
+ USERNAME=
+ PASSWORD=
+ ST=time.txt
+ COLORED=0
+ echo+ cut -d http://xxx.xxx.xxx.xxx
 : -f 1
+ URLprot=http://
+ echo http://xxx.xxx.xxx.xxx
+ cut -d : -f 2
+ tr -d //
+ URL=xxx.xxx.xxx.xxx
+ [ ! -z  ]
+ [ ! -z 80 ]
+ URL=xxx.xxx.xxx.xxx:xxxxx
+ [ ! -z http:// ]
+ URL=http://xxx.xxx.xxx.xxx:xxxxx
+ TEMPdir=/tmp
+ WGETsettings=-q
+ FILES2=satellites.xml terrestrial.xml cables.xml timezone.xml
+ [ -z 0 ]
+ [ -z enigma2 ]
+ [ enigma2 != enigma1 ]
+ [ enigma2 != enigma2 ]
+ BQ=enigma2.tar.gz
+ echo Pruefe ob ein Update der Bouquets noetig ist..
Pruefe ob ein Update der Bouquets noetig ist..
+ cd /tmp
+ [ -f /etc/timelu.txt ]
+ _cleanup
+ rm -rf /tmp/enigma2
+ rm -f /tmp/time.txt
+ rm -f /tmp/enigma2.tar.gz
+ downtimetxt
+ wget -q http://xxx.xxx.xxx.xxx:xxxxx/var/www/meinordner/time.txt
wget: server returned error: HTTP/1.1 404 Not Found
+ _error 1 Es ist ein Fehler aufgetreten (download time.txt)
+ [ 1 -gt 0 ]
+ [ -z Es ist ein Fehler aufgetreten (download time.txt) ]
+ message=Es ist ein Fehler aufgetreten (download time.txt)
+ [ 0 = 1 ]
+ echo Es ist ein Fehler aufgetreten (download time.txt)
Es ist ein Fehler aufgetreten (download time.txt)
+ echo Abbruch
Abbruch
+ exit 1

Ich hab das Gefühl, dass ich aus irgend einem Grund keinen Zugriff auf den Ordner bekomme.
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

Hi,
:
Als Serverdir kannst Du das /var/www/ weglassen. Also so: SERVERdir="meinOrdner"
gehst Du noch über Port 80? Wenn ja, dann teste mal im Browser "http://ip.vom.server". Da sollte dann eine Ausgabe mit "It Works!" bla bla bla kommen. Dann siehst Du schonmal das der apache richtig läuft.
Ach so, gerade erst nochmal Deinen Post nach gelesen. Wenn du über Web an die Dateien willst, gibst du auch "http://xxx.xxx.xxx.xxx/meinOrdner/time.txt" ein. So solltest Du an die Time dran kommen.

Falls das noch aktuell mit dem Script per Fernbedienung ausführen ist: Gültig für packen und Laden.
Blaue Taste -> VTI Systemwerkzeuge -> Befehl ausführen -> mit Grün Hinzufügen -> Script auswählen, Befehlsausgabe ja -> Speichern.
Kannst du dann immer dort einfach mit der blauen Taste ausführen.

Gruß
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

THX @ jonny474. Der Pfad darf nur "meinordner" sein und nicht "var/www/meinordner". Das hat mich fast zum verzweifeln gebracht.

Es läuft jetzt auch alles fast so wie ich es will: Passwort wird auch akzeptiert. Allerdings würde ich gerne den Port für diesen einen Ordner ändern, wie 0800555333 es vorgeschlagen hat. Hab mir den entsprechenden Abschnitt "Running different sites on different ports." von "http://httpd.apache.org/docs/current/vhosts/examples.html" durchgelesen.
Zuerst hab ich lange danach gesucht in welche Datei diese Ergänzungen überhaupt hingehören, dann hab ich irgendwo gelesen, die gehörten in dei httpd.conf und ich bin mir - jetzt wo ich mir den Link so anschaue - ziemlich sicher, dass das auch richtig ist.

Meine httpd.conf sieht nun folgendermaßen aus:
Code:
ServerName 127.0.0.1

Listen 80
Listen yyyyy

<VirtualHost 192.168.xxx.xxx:80>
    ServerName 192.168.xxx.xxx:80
    DocumentRoot /var/www
</VirtualHost>

<VirtualHost 192.168.xxx.xxx:yyyyy>
    ServerName 192.168.xxx.xxx:yyyyy
    DocumentRoot /var/www/meinordner
</VirtualHost>

Starte ich nun aber mit "/etc/init.d/apache2 restart" apache2 neu, kommt folgende Fehlermeldung:
Code:
[....] Restarting web server: apache2 ... waiting (98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:yyyyy
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
 failed!

Gehe ich nun hin und lasse die httpd.conf so wie sie war und ergänze, die port.conf wie im Thread vonamassidda (in dem 0800555333 ja auf die apache-Dokumentation verweist), also:
Code:
Listen 80
NameVirtualHost 192.168.xxx.xxx:80
Listen yyyyy
NameVirtualHost 192.168.xxx.xxx:yyyyy

<VirtualHost 192.168.xxx.xxx:80>
    ServerName 192.168.xxx.xxx:80
    DocumentRoot /var/www
</VirtualHost>

<VirtualHost 192.168.xxx.xxx:yyyyy>
    ServerName 192.xxx.xxx:yyyyy
    DocumentRoot /var/www/meinordner
</VirtualHost>
dann startet apache wieder normal, allerdings kann ich nur über den Port 80 auf "meinenordner" zugreifen, nicht aber über Port yyyyy...
 
AW: Enigma1 / Enigma2 Receiver Bouquets über eigenen Server verteilen

LAN IPs musst du nicht unkenntlich machen - auf die kann man übers Internet eh nicht zugreifen.. Und solange du den Port nicht exakt so auch weiterleitest brauchst du den ebenfals nicht aus x'en

ServerName ist eigentlich nur die IP, keine Angabe des Ports - wie du aber ja auch in der ersten Zeile vom httpd.conf sehen kannst...


Um dir bei der fehlemeldung helfen zu können wärs gut zu wissen welchen Port du genutzt hast, also bitte nichts unkenntlich machen damit man dir auch entsprechend helfen kann


Desweiteren regelt man sowas eigentlich über "sites", nicht über die httpd.conf

/etc/apache2/sites-available/

dort kopierst du am besten die default und nennst die datei irgendwie anders, passt es an und aktivierst das dann über den befehl a2ensite
und dann musst du natürlich auch noch die ports.conf anpassen und NameVirtualHost sowie Listen entsprechend ergänzen

cd /etc/apache2/sites-available/
cp default test
nano test
Code:
<VirtualHost *:[COLOR=#ff0000]88[/COLOR]>

       [COLOR=#ff0000] ServerName localhost[/COLOR]

        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/[COLOR=#ff0000]test[/COLOR]
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/[COLOR=#ff0000]test[/COLOR]>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
nano /etc/apache2/ports.conf
Code:
NameVirtualHost *:80
[COLOR=#ff0000]NameVirtualHost *:88[/COLOR]
Listen 80
[COLOR=#ff0000]Listen 88[/COLOR]
a2ensite test
/etc/init.d/apache2 restart
 
Zuletzt bearbeitet:
Zurück
Oben