[Fli4l_dev] iconv für fli4l oder Alternative gesucht

Stefan Puschek stefan.puschek at t-online.de
So Mai 12 20:35:12 CEST 2019


Hallo Mitlesende,

> mein fli4l (4.0er Version) soll meine dahinter hängende Fritzbox 7270v2 
> überwachen - genauer gesagt, er soll prüfen ob alle 4 eingetragenen 
> VOIP-Acounts "laufen".
> 
> Bevor jemand fragt: der Router muss die Aufgabe übernehmen, denn der 
> eisfair läuft nicht 24/7...
> 
> Die gesuchte Info sieht man in der Web-Oberfläche der FB unter 
> Übersicht; auf meinem eisfair läuft mein Skript - am Router fehlt mir 
> dafür iconv...
> 
> das Skript (im Netz gefunden und von mir angepasst):
> #!/bin/bash
> _BOXURL="http://192.168.6.134" # die FB
> _USERNAME=""
> _PASSWORD="geheim"
> _REQUESTPAGE="/home/home.lua" # Seite Übersicht
> _OUTPUTFILE="OUTPUT.TXT"
> _CHALLENGE=$(curl -s ${_BOXURL}/login.lua | grep "^g_challenge" | awk -F 
> '"' '{ print $2 }')
> _MD5=$(echo -n ${_CHALLENGE}"-"${_PASSWORD} | iconv -f ISO8859-1 -t 
> UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}')
> _RESPONSE="${_CHALLENGE}-${_MD5}"
> _SID=$(curl -i -s -k -d 'response='${_RESPONSE} -d 'page=' -d 
> "username=${_USERNAME}" "${_BOXURL}/login.lua" | grep "Location:" | grep 
> -Poi 'sid=[a-f\d]+' | cut -d '=' -f2)
> curl -s "${_BOXURL}${_REQUESTPAGE}" -d "sid=${_SID}" | grep -c 
> "Rufnummern aktiv"
> 
> was macht in diesem Fall iconv? es wandelt einen ascii-String um in 
> utf-16le
> 
> aus $68 $61 $6c $6c $6f
> wird $68 $00 $61 $00 $6C $00 $6C $00 $6F $00
> d.h. an jedes byte wird ein Nullbyte angehängt;

das Problem habe ich gelöst mit myiconv:

#!/bin/bash
while read -n1 BYTE
   do
     printf $BYTE
     printf '\0'
   done

vielleicht braucht es jemand...

Groetjes
Stefan


Mehr Informationen über die Mailingliste Fli4l_dev