lano
Aktives Mitglied
Moin.
Hin und wieder will man ja mal die Support Daten der Fritzbox laden. Für den Support oder für sich selbst.
Mir war das immer zu viel rum klickerei. Darum für die Freunde der gelebten Automation. Ein kleines Bash Script.
Es sollte eigentlich alles Selbsterklärend sein.
Hin und wieder will man ja mal die Support Daten der Fritzbox laden. Für den Support oder für sich selbst.
Mir war das immer zu viel rum klickerei. Darum für die Freunde der gelebten Automation. Ein kleines Bash Script.
fb_getSupportdata.sh:
#!/bin/bash
FBOX=${1:-fritz.box}
FBUID=${2:-boxuser}
SECRET=${3:-boxpasswd}
FOLDER=/home/lano/.fb_supportdata
echo "Supportdata loading..."
CHALLENGE=`wget --no-check-certificate -O - "https://${FBOX}/login_sid.lua" 2>/dev/null | sed 's/.*<Challenge>\(.*\)<\/Challenge>.*/\1/'`
CPSTR="${CHALLENGE}-${SECRET}"
MD5=`echo -n ${CPSTR} | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}'`
RESPONSE="${CHALLENGE}-${MD5}"
URL_PARAMS="username=${FBUID}&response=${RESPONSE}"
SID=`wget --no-check-certificate -O - "https://${FBOX}/login_sid.lua?${URL_PARAMS}" 2>/dev/null | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/'`
TMPFILE=$(mktemp /tmp/supportdata.XXXXXX)
TIME=$(date +"%Y-%m-%d_%H%M%S")
mkdir -p ${FOLDER}
FILE=${FOLDER}/support_${TIME}.txt
RND=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo "--${RND}" >${TMPFILE}
echo "Content-Disposition: form-data; name=\"sid\"" >>${TMPFILE}
echo "" >>${TMPFILE}
echo "${SID}" >>${TMPFILE}
echo "--${RND}" >>${TMPFILE}
echo "Content-Disposition: form-data; name=\"SupportDataEnhanced\"" >>${TMPFILE}
echo `wget --no-check-certificate -O ${FILE} -H "Content-Type: multipart/form-data; boundary=--${RND}" --post-file ${TMPFILE} "http://${FBOX}/cgi-bin/firmwarecfg" 2>/dev/null`
rm -f $TMPFILE
echo $TIME>${FOLDER}/last.info
Es sollte eigentlich alles Selbsterklärend sein.