[Erledigt] Script - Für FuseByte und Payload "Ausgabe am Fernseher" !

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [Erledigt] Script - Für FuseByte und Payload "Ausgabe am Fernseher" !

    Hallöchen ich bin stolzer besitzter einer VU+ Solo 4K.

    Nun habe ich im "DEB Forum" eine möglichkeit gefunden, bzw. ein anderer User "rolu2" hat ein Script gebaut.
    Was mir das FuseByte und den Payload am Fernseher anzeigt bzw anzeigen soll.

    rolu2 besitzt selber eine Dreambox 800SE , Atemio Nemesis und Atemio 6000 auf allen Boxen läuft Enigma2 und das Script funktioniert !!!

    Hier ein paar Screenshots wie es aussehen sollte, wenn es funktioniert :D

    script

    #!/bin/sh
    ######################################INFO#####################################################
    #Script nur für unser Boardimage. #
    #Script nach /var/media/ftp oder /data oder /var/media/ftp/uStor01 Abhängig welche Box man hat#
    #Rechte mind.755 #
    #croneintrag dann z.B so #
    #Abfrage um 20:00 Uhr--> 0 20 * * * /var/media/ftp/fusebyte-payload-resianzeige.sh #
    #Bei der Abfrage muss der Resi auf einen abonnierten Skysender stehen #
    ###################################INFO-ENDE###################################################
    #############################Einstellungen#####################################################
    #Label des Readers eintragen,Rest wird automatisch eingelesen
    KARTE="skyv14" # Label des Readers

    # Enigma2 Client für die Anzeige
    LOGINC="root" # Beutzername
    PWC="Passwort" # Passwort
    IPC="192.168.178.10" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif
    ################################################################################################

    if [ -e /var/tmp/intern ]; then
    if mount|grep "yaffs2" >/dev/null; then
    OSCAM_PATH=/var/media/ftp
    else
    OSCAM_PATH=/data
    fi
    else
    if [ -z "$OSCAM_PATH" ] || [ -z "$(df|grep "$OSCAM_PATH"|grep "/dev/sd")" ]; then OSCAM_PATH="$(df|grep "/dev/sda"|awk '{print $6}'|tail -1)"; fi
    fi

    WORKING_DIR="$OSCAM_PATH/addon/oscam"


    LOGPFAD=$(grep -i "^logfile" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    LOGIN=$(grep -i "^httpuser" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PW=$(grep -i "^httppwd" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PORT=$(grep -i "^httpport" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    IP="127.0.0.1"


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=65535#" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16"
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=0#" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2)
    printf "$lila$payload$norm\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=FuseByte%20\n$fusebyte%20\n\n$payload&type=1&timeout=30"
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    exit 1


    Nun wollte ich das mit meiner VU+Solo 4K auch benutzten, dabei bin ich und rolu2 aus dem DEB Forum auf schwierigkeiten gestoßen.

    Bei ihm funktioniert es einwandfrei, aber bei mir wird kein "Fusebyte und Payload" angezeigt. Ab und an , bekomme ich via Telnet über Putty auch einen fehler "Returned error: HTTP/1.1 400 Bad Request"

    Dabei stimmen meine Login Daten die im Script stehen einwandfrei. Da ich euer VTI - Image nutzte "Bin Super zufrieden damit" wollte ich mal nachfragen ob ihr mir vielleicht Helfen könnt. Da das Problem nicht mein Server ist , sondern die VU+Solo4K hat Problem mir das richtige am Fernseher anzuzeigen.

    Habe es mit rolu2 "Super" viel getestet und geändert am Script,dabei kam man zu dem Schluss.
    Das die Solo 4K ein Abfrage Problem hat ,wenn ich das Script anlaufen lasse.
    Da rolu2 keine solche Box hat ,ist die frage ob es am VTI Image liegt, und die ausgabe darum nicht angezeigt wird.

    Ich habe im übrigen die erlaubnis von rolu2 aus dem DEB Forum das hier zu Posten und nach Hilfe zu fragen , da er nicht mehr weiter weiß.


    Hier nun meine Anzeige wenn ich das Script Starte.



    script


    #!/bin/sh
    ######################################INFO#####################################################
    #Script nur für unser Boardimage. #
    #Script nach /var/media/ftp oder /data oder /var/media/ftp/uStor01 Abhängig welche Box man hat#
    #Rechte mind.755 #
    #croneintrag dann z.B so #
    #Abfrage um 20:00 Uhr--> 0 20 * * * /var/media/ftp/fusebyte-payload-resianzeige.sh #
    #Bei der Abfrage muss der Resi auf einen abonnierten Skysender stehen #
    ###################################INFO-ENDE###################################################
    #############################Einstellungen#####################################################
    #Label des Readers eintragen,Rest wird automatisch eingelesen
    KARTE="sky_v14" # Label des Readers


    # Enigma2 Client für die Anzeige
    LOGINC="root" # Beutzername
    PWC="oscam" # Passwort
    IPC="192.168.10.91" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif
    ################################################################################################


    if [ -e /var/tmp/intern ]; then
    if mount|grep "yaffs2" >/dev/null; then
    OSCAM_PATH=/var/media/ftp
    else
    OSCAM_PATH=/data
    fi
    else
    if [ -z "$OSCAM_PATH" ] || [ -z "$(df|grep "$OSCAM_PATH"|grep "/dev/sd")" ]; then OSCAM_PATH="$(df|grep "/dev/sda"|awk '{print $6}'|tail -1)"; fi
    fi


    WORKING_DIR="$OSCAM_PATH/addon/oscam"


    LOGPFAD=$(grep -i "^logfile" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    LOGIN=$(grep -i "^httpuser" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PW=$(grep -i "^httppwd" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PORT=$(grep -i "^httpport" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    IP="127.0.0.1"


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=65535#" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16"
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=0#" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2)
    printf "$lila$payload$norm\n";
    wget -q -O /dev/null "http://$IPC:$PORTC/web/message?text=FuseByte%20\n$fusebyte%20\n\n$payload&type=1&timeout=30"
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    exit 1



    Screenshots von mir :


    Nun seit ihr gefragt :D , könnt ihr mir Helfen wieso bekomme ich HTTP Bad Reuqest angezeigt von der VU+ Solo 4K das Passwirt ist oscam per Telnet geändert !!!


    Hoffe ihr könnt mir Helfen

    Gruss
    bigking94

    Dieser Beitrag wurde bereits 14 mal editiert, zuletzt von bigking94 ()

  • Auf meiner Server Box "Fritzbox 7390" ist curl installiert, ob auf der VU+Solo 4K curl installiert ist weiß ich nicht.

    Ist im VTI Image 9.0.3 +Updates , curl schon installiert ?

    Wenn nein wie installiere ich das nach, auf der VU+Solo 4K mit eurem VTI Image ?


    Gruss
    bigking94

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von bigking94 ()

  • So hab ich gemacht per Telnet , hat auch funktioniert.

    Jetzt Teste ich das Script nochmal :D^^


    Gruss
    bigking94


    Edit:
    Nein daran , lag es leider nicht :(

    Bekomme wieder den "HTTP BAD Request" error.

    Wieso das Script immer eine error meldung bekommt von der VU+Solo 4K weiß ich leider nicht.

    root und oscam sind meine Daten wenn ich per Telnet mich ein logge und auch via FTP ? Aber der fehler bleibt wieso ?



    Edit by NaseDC: Posts zusammengeführt! Bei Ergänzungen ohne zwischenzeitlich Antwort bitte den Bearbeiten-Button nutzen.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von NaseDC ()

  • Ja das ist aber auch richtig so.

    Meine Fritzbox ist mein Server dort im /var/media/ftp/addon/oscam/oscam.log ist die oscam.log Datei zu finden .

    rolu2 sagte mir das das Script auf der Server Box laufen muss, darum wird das Script auf der Fritzbox ausgeführt von dort aus soll das Script das Fusebyte und Payload an die VU+Solo 4K weiter geben und mir am Fernseher das ergebniss anzeigen. !!!

    Funktioniert auch halb ,aber bekomme im Script : HTTP Bad Request , wieso auch immer ?

    Wenn ich das Scirpt starte , bekomme ich diese Ausgabe am Fernseher angezeigt. !!!



    Aber das FuseByte und Payload wird nicht angezeigt, oft bekomme ich auch den HTTP BAD Request error dann wird garnix angezeigt.

    Irgendwo liegt anscheinend der Wurm leider drin, darum frage ich ja bei euch nach ob ihr was wisst mir helfen könnt ?

    Gruss
    bigking94
  • Das heißt was genau, kenne mich damit nicht so aus ?


    Wollte eigendlich nur das es funktioniert, dann gab es Probleme.
    Nun sitzt ich schon mit rolu2 aus dem DEB , fast 14 Tage zusammen via PN. Um zu testen was los ist.

    Da er nicht weiter weiß , frag ich lieb, bei euch mal nach.
    Ob ihr vielleicht mehr wisst , es selber testen könnt vielleicht ?

    Hoffe ja stark , das der fehler gefunden wird, jemand das Script mal bei sich testetn kann ?

    Danke jetzt schon einmal , für eure Hilfe !!!


    schwatter - haste noch eine idee , vielleicht woran das liegen könnte ?


    Gruss
    bigking94

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von bigking94 ()

  • Testen kann ich es leider nicht.
    Ich vermute einfach das euer Setup anders ist. Die Nachrichten werden auf deine VU+ geschickt.
    Kann es sein das die Fritzbox von dir andere Pfade hat als sein BananaPi? Es wird nicht ganz klar,
    da du viele Infos zusammengewürfelt hast.

    edit:
    Wenn es denn sein BananaPi ist, keine Ahnung von wo du das Foto hast :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von schwatter ()

  • schwatter - Guck mal hier , das ist das ursprüngliche Script.

    Wo man noch die Pfade und so weiter eingeben kann, für Server Client.


    Script.sh

    script

    #!/bin/sh
    ############################################################################################


    # OSCam-Server
    LOGIN="root" # Beutzer
    PW="su" # Passwort
    IP="192.168.178.189" # ip oder
    #IP="xxxxx.myftp.biz" # dyn-url Adresse
    PORT="80" # port des Webif


    # Enigma2 Client für die Anzeige
    LOGINC="root" # Beutzername
    PWC="vu+" # Passwort
    IPC="192.168.178.254" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif

    KARTE="v14" # Label des Readers
    LOGPFAD="/srv/cardsharing/log/oscam.log" #Pfad zu dem logfile


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    clear
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=65535#" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte den Smartcard-Reader neu!&type=1&timeout=16"
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=0#" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2)
    printf "$lila$payload$norm\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=FuseByte\n$fusebyte\n\n$payload&type=1&timeout=30"
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    exit 1


    Dieses Script ,wurde vom DEB Mitglied rolu2 umgebaut etwas für die ihre Freetz Images. Aber laut rolu2 , funktioniert es einwandfrei bei ihm auf seinen Enigma2 Boxen !

    Vielleicht könntest du das mal testen bei dir, mit dem Script was ich hier gepostet habe gerade.




    Gruss
    bigking94

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von bigking94 ()

  • Irgendwo hast du da Bockmist drin, ansonsten käme nicht der "Bad Request". Ohne wirklich eine 1:1-Kopie von deinem Script in der Hand zu haben, und ohne ein Logfile was genau passiert, kann dir aber niemand wirklich helfen. Was wird benötigt:

    - Lass bitte das Script einmal auf deiner Fritz so laufen: "sh -x ./Script.sh > debug.txt 2>&1"
    Achtung: im Logfile stehen anschließend deine benutzen Passwörter.
    - Kopiere bitte einmal das Script 1:1 von der Box, bitte nicht copy und paste - mir geht es um verwendete Zeilenenden-Zeichen, die sonst möglicherweise verfälscht werden.

    Beides zusammen (also Script.sh und debug.txt) dann als ZIP-File hier anhängen. Dann würde ich da mal reinschauen.
    Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
  • Mein Nick lautet "rdamas" - nicht "rdama" - Ordnung muss sein :D

    Ersetz in deinem Script mal die Zeile 80: payload=$(cat $TEMP | tail -n 2)
    durch: payload=$(cat $TEMP | tail -n 2 | xargs)

    Der Fehler ist, dass das Zeilenende-Zeichen nicht ersetzt wird, und deshalb im HTTP-Request die Argumente nicht in einer Zeile versendet werden. Deswegen gibt es den 400 Bad Request. "xargs" sollte alle \n durch leerzeichen ersetzen.
    Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.
  • rdamas - Danke für deine Antwort, habe deine "Änderung" vorgenommen.

    script

    #!/bin/sh
    ######################################INFO#####################################################
    #Script nur für unser Boardimage. #
    #Script nach /var/media/ftp oder /data oder /var/media/ftp/uStor01 Abhängig welche Box man hat#
    #Rechte mind.755 #
    #croneintrag dann z.B so #
    #Abfrage um 20:00 Uhr--> 0 20 * * * /var/media/ftp/fusebyte-payload-resianzeige.sh #
    #Bei der Abfrage muss der Resi auf einen abonnierten Skysender stehen #
    ###################################INFO-ENDE###################################################
    #############################Einstellungen#####################################################
    #Label des Readers eintragen,Rest wird automatisch eingelesen
    KARTE="sky_v14" # Label des Readers


    # Enigma2 Client für die Anzeige
    LOGINC="root" # Beutzername
    PWC="oscam" # Passwort
    IPC="192.168.10.91" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif
    ################################################################################################


    if [ -e /var/tmp/intern ]; then
    if mount|grep "yaffs2" >/dev/null; then
    OSCAM_PATH=/var/media/ftp
    else
    OSCAM_PATH=/data
    fi
    else
    if [ -z "$OSCAM_PATH" ] || [ -z "$(df|grep "$OSCAM_PATH"|grep "/dev/sd")" ]; then OSCAM_PATH="$(df|grep "/dev/sda"|awk '{print $6}'|tail -1)"; fi
    fi


    WORKING_DIR="$OSCAM_PATH/addon/oscam"


    LOGPFAD=$(grep -i "^logfile" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    LOGIN=$(grep -i "^httpuser" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PW=$(grep -i "^httppwd" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PORT=$(grep -i "^httpport" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    IP="127.0.0.1"


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=65535#" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16"
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=0#" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2 | xargs)
    printf "$lila$payload$norm\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=FuseByte%20\n$fusebyte%20\n\n$payload&type=1&timeout=30"
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    exit 1





    Leider kommt der "Fehler" immer noch . "HTTP Bad Request"
  • Was passiert, wenn du "xargs" durch 'tr "\n" ";"' ersetzt?

    EDIT: Eine andere Idee - ändere mal den Aufruf in Zeile 82 zu
    curl -s -u "$LOGINC:$PWC" -d "text=FuseByte\n$fusebyte\n\n$payload&type=1&timeout=30" "http://$IPC:$PORTC/web/message"

    Zeile 80 kannst du dann zurückbauen (xargs wieder raus, tr-Befehl ebenfalls)
    Diskutiere nie mit einem Idioten. Er zieht dich auf sein Niveau runter und schlägt dich mit seiner Erfahrung.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von rdamas ()

  • Hi,

    hab mir das ganze jetzt nicht bis ins detail angeschaut

    aber versuch doch erstmal ob die Übergabe geht indem du aus
    payload=$(cat $TEMP | tail -n 2 | xargs)

    payload="test 1" machst

    dann sollte in der Message das fusebyte und test 1

    wenn ich es auf die schnelle richtig verstanden habe.
  • rdamas - VIELEN DANK !!!

    Jetzt funktioniert es "Einwandfrei"

    Hier das Script und die Screenshost nochmal :D^^

    Script

    #!/bin/sh
    ######################################INFO#####################################################
    #Script nur für unser Boardimage. #
    #Script nach /var/media/ftp oder /data oder /var/media/ftp/uStor01 Abhängig welche Box man hat#
    #Rechte mind.755 #
    #croneintrag dann z.B so #
    #Abfrage um 20:00 Uhr--> 0 20 * * * /var/media/ftp/fusebyte-payload-resianzeige.sh #
    #Bei der Abfrage muss der Resi auf einen abonnierten Skysender stehen #
    ###################################INFO-ENDE###################################################
    #############################Einstellungen#####################################################
    #Label des Readers eintragen,Rest wird automatisch eingelesen
    KARTE="sky_v14" # Label des Readers


    # Enigma2 Client für die Anzeige
    LOGINC="root" # Beutzername
    PWC="oscam" # Passwort
    IPC="192.168.10.91" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif
    ################################################################################################


    if [ -e /var/tmp/intern ]; then
    if mount|grep "yaffs2" >/dev/null; then
    OSCAM_PATH=/var/media/ftp
    else
    OSCAM_PATH=/data
    fi
    else
    if [ -z "$OSCAM_PATH" ] || [ -z "$(df|grep "$OSCAM_PATH"|grep "/dev/sd")" ]; then OSCAM_PATH="$(df|grep "/dev/sda"|awk '{print $6}'|tail -1)"; fi
    fi


    WORKING_DIR="$OSCAM_PATH/addon/oscam"


    LOGPFAD=$(grep -i "^logfile" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    LOGIN=$(grep -i "^httpuser" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PW=$(grep -i "^httppwd" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PORT=$(grep -i "^httpport" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    IP="127.0.0.1"


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=65535#" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16"
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/logpoll.html?lastid=start&debug=0#" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2)
    printf "$lila$payload$norm\n";
    curl -s -u "$LOGINC:$PWC" -d "text=FuseByte\n$fusebyte\n\n$payload&type=1&timeout=30" "http://$IPC:$PORTC/web/message"
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    exit 1








    Danke schön , jetzt funktioniert das Script "SUPER" :D^^


    DANKE schön , an die Hilfe. Die ich von euch bekommen habe !!!
    Super DANKE schön an "rdamas" :happy3: :happy3: :happy3: :happy3:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von hgdo ()

  • Da das Script , mit den Änderungen von rdamas und rolu2 sporadisch funktioniert.

    Hat rolu2 aus dem DEB Forum das Script noch einmal bearbeitet , und das Script etwas umgeschrieben.

    Wenn man das Script jetzt ausführt wird die Oscam auch neugestartet damit die Reader eingelesen werden.

    Ich wollte einfach nur das Endgültige Script ,hier auch noch einmal anbieten, und mich bedanken für eure Hilfe.

    Fertiges Script

    #!/bin/sh
    ######################################INFO#####################################################
    #erstellt von rolu2
    #Script nur für unser Boardimage. #
    #Script nach /var/media/ftp oder /data oder /var/media/ftp/uStor01 Abhängig welche Box man hat#
    #Rechte mind.755 #
    #croneintrag dann z.B so #
    #Abfrage um 20:00 Uhr--> 0 20 * * * /var/media/ftp/fusebyte-payload-resianzeige.sh #
    #Bei der Abfrage muss der Resi auf einen abonnierten Skysender stehen #
    ###################################INFO-ENDE###################################################
    #############################Einstellungen#####################################################
    #Label des Readers eintragen,Rest wird automatisch eingelesen
    KARTE="sky_v14" # Label des Readers


    # Enigma2 Client für die Anzeige
    LOGINC="oscam" # Beutzername
    PWC="oscam" # Passwort
    IPC="192.168.10.91" # ip Adresse oder
    #IPC="xxxxx.no-ip.biz" # dyn-url Adresse
    PORTC="80" # port des Webif
    ################################################################################################


    if [ -e /var/tmp/intern ]; then
    if mount|grep "yaffs2" >/dev/null; then
    OSCAM_PATH=/var/media/ftp
    else
    OSCAM_PATH=/data
    fi
    else
    if [ -z "$OSCAM_PATH" ] || [ -z "$(df|grep "$OSCAM_PATH"|grep "/dev/sd")" ]; then OSCAM_PATH="$(df|grep "/dev/sda"|awk '{print $6}'|tail -1)"; fi
    fi


    WORKING_DIR="$OSCAM_PATH/addon/oscam"


    LOGPFAD=$(grep -i "^logfile" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    LOGIN=$(grep -i "^httpuser" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PW=$(grep -i "^httppwd" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    PORT=$(grep -i "^httpport" "$WORKING_DIR/oscam.conf" | cut -d "=" -f2 | sed 's/^ //')
    IP="127.0.0.1"


    rot='\033[31;1m';gelb='\033[33;1m';gruen='\033[32;1m';blau='\033[34;1m';lila='\033[35;1m';cyan='\033[36;1m';norm='\033[0m'
    PLATZ="\033[90;1m############################################################################### -> O.K.\033[0m"
    TEMP="/tmp/tempfile"
    ############################################################################################
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/status.html?debug=65535" > $TEMP
    printf "$cyan-> switching debug to 65535 ... \n\033[0m";
    printf "$PLATZ\n";
    rm -f $TEMP
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=disable" > $TEMP
    printf "Reader $cyan$KARTE$norm wird ausgeschaltet ...\n";
    curl -s -u "$LOGINC:$PWC" -d "text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16" "http://$IPC:$PORTC/web/message" > $TEMP
    #wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=Starte%20den%20Smartcard-Reader%20neu!&type=1&timeout=16" > $TEMP
    rm -f $TEMP
    printf "$PLATZ\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/readers.html?label=$KARTE&action=enable" > $TEMP
    c=1
    printf "Reader $cyan$KARTE$norm wird neu gestartet ... warte noch$cyan 15 sek.$norm"
    while [ $c -le 15 ]
    do
    printf "$cyan\033[5;45H `expr 15 - $c` sek. $norm" #curser 5.Zeile, Spalte 45
    c=`expr $c + 1`
    sleep 1
    done
    rm -f $TEMP
    printf "\n$PLATZ \n";
    printf "$cyan-> suche Fusebyte\n$lila";
    grep -A 2 -B 1 "15 48 " $LOGPFAD | grep -A 1 "Answer from cardreader" | grep -A 1 "$KARTE " | tail -n 1 | tail -c 49 > $TEMP
    fusebyte=$(cut -c 7-8 $TEMP | tail -n 2)
    printf "Fusebyte$norm\n15 48$lila $fusebyte $norm\n"
    printf ""
    rm -f $TEMP
    printf "\033[90;1m15 48 ||""$norm\n";
    printf "15 48""$blau 00 = Karte jungfräulich""$norm\n";
    printf "15 48""$gelb 05 = Karte aktivert""$norm\n";
    printf "15 48 25 =""$rot"" Karte verheiratet$norm oder $gruen Karte aktiviert""$norm\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/status.html?debug=0" > $TEMP
    rm -f $TEMP
    printf "$PLATZ \n";
    printf "$cyan-> suche Payload \n";
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | grep Dec | tail -n 1 | tail -c 18 >> $TEMP
    cat $LOGPFAD | grep -A 0 -B 3 "00 0F 06 " | tail -n 1 | tail -c 31 >> $TEMP
    payload=$(cat $TEMP | tail -n 2)
    printf "$lila$payload$norm\n";
    curl -s -u "$LOGINC:$PWC" -d "text=FuseByte\n$fusebyte\n\n$payload&type=1&timeout=30" "http://$IPC:$PORTC/web/message" > $TEMP
    #wget -q -O /dev/null "http://$LOGINC:$PWC@$IPC:$PORTC/web/message?text=FuseByte%20\n$fusebyte%20\n\n$payload&type=1&timeout=30" > $TEMP
    rm -f $TEMP
    printf "\033[90;1m0F 06 || || ||\n";
    printf "$blau""0F 06 02 30 20 = Karte komplett neu und nackt (nicht mit EMMs versorgt)***""$gelb\n";
    printf "0F 06 00 10 20 = Karte aktiviert...\n";
    printf " ...EMM geschrieben aber noch ohne Entitlements...\n";
    printf " ...EMM fehlt /ODER/ Karte war schon hell, Entitlements abgelaufen...\n";
    printf "$gruen""0F 06 00 00 00 = Karte aktiviert und mit Entitlements versorgt\n";
    printf "$rot""0F 06 00 10 00 = Karte verheiratet/gepairt ***""$norm\n";
    printf "$PLATZ \n";
    printf "$cyan-> switching debug to 0 ...""$norm\n";
    printf "$PLATZ \n";
    printf "done...\n";
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/status.html?label=$KARTE&action=restart" > $TEMP
    rm -f $TEMP
    exit 1


    Nachdem das Script fertig war, wollte ich das ganze schön bequem via Fernbedinung am Fernseher noch Starten.

    Hier noch ein Script das von der VU+Solo 4K aus gestartet werden kann und was dann das auf der Fritzbox ausführt.
    Somit läuft nun alles Super

    starterscript

    #!/bin/sh
    ########################################Einstellungen#######################################
    # OSCam-Server
    LOGIN="oscam" # Beutzer vom Server rein
    PW="oscam" # Passwort vom Server rein
    IP="192.168.10.10" # IP vom Server rein
    PORT="5850" # Port des Webif vom Server rein
    SCRIPT="fusebyte-payload-resianzeige.sh" # scriptname vom Server hier rein
    #########################################Ende###############################################
    TEMP="/tmp/tempfile"
    curl -s --digest -o - -u $LOGIN:$PW "http://$IP:$PORT/script.html?scriptname=$SCRIPT" > $TEMP
    rm -f $TEMP
    exit 1


    Vielen Dank noch einmal für eure Hilfe !!!


    Gruss
    bigking94