Changeset 37629 for ipk/source.mipsel
- Timestamp:
- 05/13/16 12:59:10 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ipk/source.mipsel/tools_callmonitor/_path_/usr/local/share/titan/plugins/callmonitor1/fritzbox_msg_new.sh
r37181 r37629 2 2 3 3 CONFIG=`echo "$0callmon.conf" | sed s/fritzbox_msg_new.sh//` 4 #NC=`echo "$0nc" | sed s/fritzbox_msg_new.sh//` 5 NC="nc" 4 NC=`echo "$0nc" | sed s/fritzbox_msg_new.sh//` 5 if [ ! -x $NC ] ; then 6 NC="nc" 7 fi 8 6 9 ICONV=`echo "$0iconv" | sed s/fritzbox_msg_new.sh//` 7 10 CURL=`echo "$0curl" | sed s/fritzbox_msg_new.sh//` … … 31 34 #Options---start---------------------------------------------------------------- 32 35 # 33 Version=v2.60 34 debug=0 35 ##Ziel=4711 36 Version=v2.60 #Zur Versionsanzeige im telnet 37 debug=0 #wenn debug auf 1 steht wird am TV nichts angezeigt 38 ##Ziel=4711 #bitte Rufnummer eintragen die Überwacht werden soll 36 39 if [ ! $Ziel ]; then 37 40 Ziel=4711 38 41 fi 39 ##Ziel_2=4711 42 ##Ziel_2=4711 #2te Rufnummer die Überwacht werden soll 40 43 if [ ! $Ziel_2 ]; then 41 44 Ziel_2=4711 42 45 fi 43 44 ##Alle=1 45 46 ##monRing=1 47 ##muteRing=0 48 ##monCall=0 49 monDisconnect=0 50 51 52 53 ip=127.0.0.1 54 ##anzeigetimeout=10 55 ##anzeigewennaus=0 56 57 58 59 60 61 uebersichtsseite=0 62 63 64 65 66 loginname=root 67 passwort=kathrein 68 vorwahl=030 46 #wenn keine zweite dann gleiche nochmal eintragen! 47 ##Alle=1 #wenn hier eine 1 steht werden alle Rufnummern überwacht 48 #unabhängig von Ziel und Ziel_2 49 ##monRing=1 #eingehende Anrufe anzeigen 50 ##muteRing=0 #Ton aus bei Anruf 51 ##monCall=0 #ausgehende Anrufe anzeigen 52 monDisconnect=0 #Beenden eines Anrufes anzeigen. Hier ist noch ein Bug drin! 53 #Es werden immer alle Gespräche überwacht (alle Rufnummern 54 #werden überwacht- Ziel und Ziel_2 funktionieren hier nicht 55 #). Ich habe das deshalb immer auf 0. 56 ip=127.0.0.1 #ip Adresse der Dreambox 57 ##anzeigetimeout=10 #Wie lange soll die Meldung angezeigt werden? 58 ##anzeigewennaus=0 #Wenn 1 dann werden alle Meldungen gespeichert und angezeigt 59 #wenn die Dreambox eingeschaltet wird (kann ganz schön viel 60 #werden!). Wenn 0 werden die Meldungen nicht angezeigt wenn 61 #die Box aus war als z.B. ein Anruf eingegangen ist. 62 #Empfehlen tue ich eine 0. Wer weis was passiert wenn man im 63 #Urlaub ist und etliche Meldungen gespeichert werden. 64 uebersichtsseite=0 #Wenn anzeige wenn aus und uebersichtsseite 1 ist, dann werden 65 #nach dem einschalten der Dream aus dem Standy alle verpassten 66 #Anrufe in einer Übersichtseite angezeigt mit Datum und Uhrzeit 67 #Hierzu muss OpenPanel installiert sein. 68 #Hier muss aber noch ein Start Script erstellt werden! 69 loginname=root #Loginname für Dreambox (Beispiel:root) 70 passwort=kathrein #passwort für Dreambox (Beispiel:dreambox) 71 vorwahl=030 #Eigene Vorwahl eintragen 69 72 # 70 73 #Options---end------------------------------------------------------------------ … … 75 78 #additional paths to files we use (will be created automatically if not present) 76 79 #detecting Dreambox-Type (DM7020 or DM7000 or DM500 or DM600PVR) 77 FRITZCACHE=/tmp/fritzbox.cache 80 FRITZCACHE=/tmp/fritzbox.cache #stores successfull reverse searches 78 81 FRITZBUCH=/var/fritzbuch.tele 79 TMPFILE=/tmp/fritzbox.tmp 80 TMPSTATUS=/tmp/fritzdream.status 81 TMPRING=/tmp/tmpring.xml 82 TMPINCOMING=/tmp/ringin.tmp 82 TMPFILE=/tmp/fritzbox.tmp #stores page from wget command 83 TMPSTATUS=/tmp/fritzdream.status #status der Dreambox (standby usw) 84 TMPRING=/tmp/tmpring.xml #stores missed calls 85 TMPINCOMING=/tmp/ringin.tmp #for checking ring overview 83 86 84 87 NULL=/dev/null #'NULL' … … 122 125 echo "SORTNUMBER -r sort cache file by number (reverse)" 123 126 echo "TEST [phonenumber] For testing connectivity and trying the search" 127 echo "loadPhoneBook" 124 128 echo 125 129 fi … … 195 199 }; 196 200 201 loadFritzBook49 () { 202 echo "Version 49" 203 # Challenge abholen 204 echo "Challenge abholen start" 205 ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge` 206 Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'` 207 echo "Challenge abholen ende" 208 209 Passwd="$FritzPass" 210 211 # login aufbauen und hashen 212 echo "login aufbauen und hashen start" 213 CPSTR="$Challenge-$Passwd" 214 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'` 215 RESPONSE="$Challenge-$MD5" 216 POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html" 217 # login senden und SID herausfischen 218 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/cgi-bin/webcm" 2>/dev/null| grep "name=\"sid\"" | head -n 1 | awk '{match($0,/value="[^"]+"/); print substr($0,RSTART+7,RLENGTH-8)}'` 219 echo "login aufbauen und hashen ende" 220 221 $CURL --data "telcfg:settings/Phonebook/Books/Select=0&getpage=../html/de/menus/menu2.html&var:pagename=fonbuch&sid=$SID&var:menu=fon&var:lang=de" http://$FRITZBOXIP/cgi-bin/webcm | grep ">TrFon" | sed s/'<script type="text\/javascript">'// | sed s/';<\/script>'// | sed s/'('/'"'/ | sed s/')'/'"'/ > /tmp/curlhelp.tmp 222 while read line 223 do 224 art=`echo $line | cut -d'"' -f1` 225 if [ $art = "TrFonName" ]; then 226 name=`echo $line | cut -d'"' -f5` 227 elif [ $art = "TrFonNr" ]; then 228 nummer=`echo $line | cut -d'"' -f5` 229 echo "$nummer#$name->" >> $FRITZBUCH 230 fi 231 done < /tmp/curlhelp.tmp 232 rm /tmp/curlhelp.tmp 233 234 if [ ! -f $FRITZBUCH ]; then 235 #testen ob neues Telefonbuch 236 #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl 237 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\">" | sed s/"<td class=\"tname\">"/"\nfritztele<"/ | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g > /tmp/curlhelp.tmp 238 while read line 239 do 240 nummer1="0" 241 nummer2="0" 242 nummer3="0" 243 pos1=14 244 pos2=0 245 pos3=0 246 art=`echo $line | cut -d'<' -f1` 247 if [ $art = "fritztele" ]; then 248 name=`echo $line | cut -d'<' -f2` 249 nummer1=`echo $line | cut -d'<' -f8` 250 help=`echo $line | cut -d'<' -f11` 251 if [ $help == "br" ]; then 252 nummer2=`echo $line | cut -d'<' -f14` 253 pos1=20 254 pos2=22 255 help=`echo $line | cut -d'<' -f17` 256 if [ $help == "br" ]; then 257 nummer3=`echo $line | cut -d'<' -f20` 258 pos1=26 259 pos2=28 260 pos3=30 261 fi 262 fi 263 if [ $nummer1 != "0" ]; then 264 typ=`echo $line | cut -d'<' -f$pos1` 265 echo "$nummer1#$name->$typ" >> $FRITZBUCH 266 fi 267 if [ $nummer2 != "0" ]; then 268 typ=`echo $line | cut -d'<' -f$pos2` 269 echo "$nummer2#$name->$typ" >> $FRITZBUCH 270 fi 271 if [ $nummer3 != "0" ]; then 272 typ=`echo $line | cut -d'<' -f$pos3` 273 echo "$nummer3#$name->$typ" >> $FRITZBUCH 274 fi 275 fi 276 done < /tmp/curlhelp.tmp 277 rm /tmp/curlhelp.tmp 278 fi 279 }; 280 loadFritzBook50 () { 281 echo "Version 50" 282 283 Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2` 284 Passwd="$FritzPass" 285 # login aufbauen und hashen 286 echo "login aufbauen und hashen start" 287 CPSTR="$Challenge-$Passwd" 288 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'` 289 RESPONSE="$Challenge-$MD5" 290 291 POSTDATA="username=$FritzUser&response=$RESPONSE" 292 293 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep SID | cut -d"<" -f4 | cut -d">" -f2` 294 295 echo "login aufbauen und hashen ende" 296 297 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua > /tmp/curlhelp3.tmp 298 299 BOOKID=`cat /tmp/curlhelp3.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1` 300 if [ -z "$BOOKID" ]; then 301 BOOKID=0 302 fi 303 304 $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<<a href="//g | sed s/"<\/a<"//g | sed s/"+49"/"0"/g > /tmp/curlhelp3.tmp 305 306 while read line 307 do 308 nummer1="0" 309 nummer2="0" 310 nummer3="0" 311 nummer4="0" 312 pos1=11 313 pos2=0 314 pos3=0 315 art=`echo $line | cut -d'<' -f1` 316 if [ ! -z $art ] && [ $art = "fritztele" ]; then 317 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g` 318 nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g` 319 help=`echo $line | cut -d'<' -f8 | cut -c 1-2` 320 if [ $help = "br" ]; then 321 nummer2=`echo $line | cut -d'<' -f9 | sed s/" "//g` 322 pos1=13 323 pos2=15 324 help=`echo $line | cut -d'<' -f10 | cut -c 1-2` 325 if [ $help = "br" ]; then 326 nummer3=`echo $line | cut -d'<' -f11 | sed s/" "//g` 327 pos1=15 328 pos2=17 329 pos3=19 330 help=`echo $line | cut -d'<' -f12 | cut -c 1-2` 331 if [ $help = "br" ]; then 332 nummer4=`echo $line | cut -d'<' -f13 | sed s/" "//g` 333 pos1=17 334 pos2=19 335 pos3=21 336 pos4=23 337 fi 338 fi 339 fi 340 if [ $nummer1 != "0" ]; then 341 typ=`echo $line | cut -d'<' -f$pos1` 342 echo "$nummer1#$name->$typ" >> $FRITZBUCH 343 fi 344 if [ $nummer2 != "0" ]; then 345 typ=`echo $line | cut -d'<' -f$pos2` 346 echo "$nummer2#$name->$typ" >> $FRITZBUCH 347 fi 348 if [ $nummer3 != "0" ]; then 349 typ=`echo $line | cut -d'<' -f$pos3` 350 echo "$nummer3#$name->$typ" >> $FRITZBUCH 351 fi 352 if [ $nummer4 != "0" ]; then 353 typ=`echo $line | cut -d'<' -f$pos4` 354 echo "$nummer4#$name->$typ" >> $FRITZBUCH 355 fi 356 fi 357 done < /tmp/curlhelp3.tmp 358 rm /tmp/curlhelp3.tmp 359 }; 360 loadFritzBook60 () { 361 echo "Version 60" 362 363 Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2` 364 Passwd="$FritzPass" 365 # login aufbauen und hashen 366 echo "login aufbauen und hashen start" 367 CPSTR="$Challenge-$Passwd" 368 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'` 369 RESPONSE="$Challenge-$MD5" 370 371 POSTDATA="username=$FritzUser&response=$RESPONSE" 372 373 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep SID | cut -d"<" -f4 | cut -d">" -f2` 374 375 echo "login aufbauen und hashen ende" 376 377 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua > /tmp/curlhelp6.tmp 378 379 BOOKID=`cat /tmp/curlhelp6.tmp | grep ' checked id="uiBookid' | cut -d: -f2 | cut -d'"' -f1` 380 if [ -z "$BOOKID" ]; then 381 BOOKID=0 382 else 383 echo "BookID: $BOOKID" 384 fi 385 386 #$CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<<a href="//g | sed s/"<\/a<"//g > /tmp/curlhelp3.tmp 387 $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"<<"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<a href="//g | sed s/"<\/a"//g | sed s/"+49"/"0"/g > /tmp/curlhelp6.tmp 388 389 while read line 390 do 391 nummer1="0" 392 nummer2="0" 393 nummer3="0" 394 nummer4="0" 395 nummer5="0" 396 nummer6="0" 397 pos1=10 398 pos2=0 399 pos3=0 400 art=`echo $line | cut -d'<' -f1` 401 if [ ! -z $art ] && [ $art = "fritztele" ]; then 402 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g` 403 nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g` 404 help=`echo $line | cut -d'<' -f8` 405 if [ $help = "br" ]; then 406 nummer2=`echo $line | cut -d'<' -f10 | sed s/" "//g` 407 pos1=13 408 pos2=15 409 help=`echo $line | cut -d'<' -f11` 410 if [ $help = "br" ]; then 411 nummer3=`echo $line | cut -d'<' -f13 | sed s/" "//g` 412 pos1=16 413 pos2=18 414 pos3=20 415 help=`echo $line | cut -d'<' -f14` 416 if [ $help = "br" ]; then 417 nummer4=`echo $line | cut -d'<' -f16 | sed s/" "//g` 418 pos1=19 419 pos2=21 420 pos3=23 421 pos4=25 422 help=`echo $line | cut -d'<' -f17` 423 if [ $help = "br" ]; then 424 nummer5=`echo $line | cut -d'<' -f19 | sed s/" "//g` 425 pos1=22 426 pos2=24 427 pos3=26 428 pos4=28 429 pos5=30 430 help=`echo $line | cut -d'<' -f20` 431 if [ $help = "br" ]; then 432 nummer6=`echo $line | cut -d'<' -f22 | sed s/" "//g` 433 pos1=25 434 pos2=27 435 pos3=29 436 pos4=31 437 pos5=33 438 pos6=35 439 fi 440 fi 441 fi 442 fi 443 fi 444 if [ $nummer1 != "0" ]; then 445 typ=`echo $line | cut -d'<' -f$pos1` 446 echo "$nummer1#$name->$typ" >> $FRITZBUCH 447 fi 448 if [ $nummer2 != "0" ]; then 449 typ=`echo $line | cut -d'<' -f$pos2` 450 echo "$nummer2#$name->$typ" >> $FRITZBUCH 451 fi 452 if [ $nummer3 != "0" ]; then 453 typ=`echo $line | cut -d'<' -f$pos3` 454 echo "$nummer3#$name->$typ" >> $FRITZBUCH 455 fi 456 if [ $nummer4 != "0" ]; then 457 typ=`echo $line | cut -d'<' -f$pos4` 458 echo "$nummer4#$name->$typ" >> $FRITZBUCH 459 fi 460 if [ $nummer5 != "0" ]; then 461 typ=`echo $line | cut -d'<' -f$pos3` 462 echo "$nummer5#$name->$typ" >> $FRITZBUCH 463 fi 464 if [ $nummer6 != "0" ]; then 465 typ=`echo $line | cut -d'<' -f$pos4` 466 echo "$nummer6#$name->$typ" >> $FRITZBUCH 467 fi 468 fi 469 done < /tmp/curlhelp6.tmp 470 rm /tmp/curlhelp6.tmp 471 }; 472 197 473 loadFritzBook () { 198 474 if [ $usePhoneBook = "1" ]; then 199 #rm $FRITZBUCH 200 if [ ! -f $FRITZBUCH ]; then 201 echo "FritzBook new" 202 203 if [ -z $FritzVersion ] || [ $FritzVersion -lt 50 ]; then 204 # Challenge abholen 205 echo "Challenge abholen start" 206 ChallengeXML=`wget -O - "http://$FRITZBOXIP/cgi-bin/webcm?getpage=../html/login_sid.xml" 2>/dev/null| grep Challenge` 207 Challenge=`echo $ChallengeXML | awk '{match($0,/>[^<>]+</); print substr($0,RSTART+1,RLENGTH-2)}'` 208 echo "Challenge abholen ende" 209 210 Passwd="$FritzPass" 211 212 # login aufbauen und hashen 213 echo "login aufbauen und hashen start" 214 CPSTR="$Challenge-$Passwd" 215 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/help; md5sum /tmp/help | awk '{print substr($0,1,32)}'` 216 RESPONSE="$Challenge-$MD5" 217 POSTDATA="login:command/response=$RESPONSE&getpage=../html/de/menus/menu2.html" 218 # login senden und SID herausfischen 219 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/cgi-bin/webcm" 2>/dev/null| grep "name=\"sid\"" | head -n 1 | awk '{match($0,/value="[^"]+"/); print substr($0,RSTART+7,RLENGTH-8)}'` 220 echo "login aufbauen und hashen ende" 221 222 $CURL --data "telcfg:settings/Phonebook/Books/Select=0&getpage=../html/de/menus/menu2.html&var:pagename=fonbuch&sid=$SID&var:menu=fon&var:lang=de" http://$FRITZBOXIP/cgi-bin/webcm | grep ">TrFon" | sed s/'<script type="text\/javascript">'// | sed s/';<\/script>'// | sed s/'('/'"'/ | sed s/')'/'"'/ > /tmp/curlhelp.tmp 223 while read line 224 do 225 art=`echo $line | cut -d'"' -f1` 226 if [ $art = "TrFonName" ]; then 227 name=`echo $line | cut -d'"' -f5` 228 elif [ $art = "TrFonNr" ]; then 229 nummer=`echo $line | cut -d'"' -f5` 230 echo "$nummer#$name->" >> $FRITZBUCH 231 fi 232 done < /tmp/curlhelp.tmp 233 rm /tmp/curlhelp.tmp 234 235 if [ ! -f $FRITZBUCH ]; then 236 #testen ob neues Telefonbuch 237 #$CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua > /tmp/test.curl 238 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\">" | sed s/"<td class=\"tname\">"/"\nfritztele<"/ | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g > /tmp/curlhelp.tmp 239 while read line 240 do 241 nummer1="0" 242 nummer2="0" 243 nummer3="0" 244 pos1=14 245 pos2=0 246 pos3=0 247 art=`echo $line | cut -d'<' -f1` 248 if [ $art = "fritztele" ]; then 249 name=`echo $line | cut -d'<' -f2` 250 nummer1=`echo $line | cut -d'<' -f8` 251 help=`echo $line | cut -d'<' -f11` 252 if [ $help == "br" ]; then 253 nummer2=`echo $line | cut -d'<' -f14` 254 pos1=20 255 pos2=22 256 help=`echo $line | cut -d'<' -f17` 257 if [ $help == "br" ]; then 258 nummer3=`echo $line | cut -d'<' -f20` 259 pos1=26 260 pos2=28 261 pos3=30 262 fi 263 fi 264 if [ $nummer1 != "0" ]; then 265 typ=`echo $line | cut -d'<' -f$pos1` 266 echo "$nummer1#$name->$typ" >> $FRITZBUCH 267 fi 268 if [ $nummer2 != "0" ]; then 269 typ=`echo $line | cut -d'<' -f$pos2` 270 echo "$nummer2#$name->$typ" >> $FRITZBUCH 271 fi 272 if [ $nummer3 != "0" ]; then 273 typ=`echo $line | cut -d'<' -f$pos3` 274 echo "$nummer3#$name->$typ" >> $FRITZBUCH 275 fi 276 fi 277 done < /tmp/curlhelp.tmp 278 rm /tmp/curlhelp.tmp 279 fi 280 281 elif [ -z $FritzVersion ] || [ $FritzVersion -lt 60 ]; then 282 echo "Version 50" 283 #Fritzbox Version > 50 und < 60 284 285 Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2` 286 Passwd="$FritzPass" 287 # login aufbauen und hashen 288 echo "login aufbauen und hashen start" 289 CPSTR="$Challenge-$Passwd" 290 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'` 291 RESPONSE="$Challenge-$MD5" 292 293 POSTDATA="username=$FritzUser&response=$RESPONSE" 294 295 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep SID | cut -d"<" -f4 | cut -d">" -f2` 296 297 echo "login aufbauen und hashen ende" 298 299 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua > /tmp/curlhelp.tmp 300 301 BOOKID=`cat /tmp/curlhelp.tmp | grep '<label for="uiBookid' | grep ritzcall | cut -d: -f2 | cut -d'"' -f1` 302 if [ -z "$BOOKID" ]; then 303 BOOKID=0 304 fi 305 306 $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<<a href="//g | sed s/"<\/a<"//g | sed s/"+49"/"0"/g > /tmp/curlhelp3.tmp 307 308 while read line 309 do 310 nummer1="0" 311 nummer2="0" 312 nummer3="0" 313 nummer4="0" 314 pos1=11 315 pos2=0 316 pos3=0 317 art=`echo $line | cut -d'<' -f1` 318 if [ ! -z $art ] && [ $art = "fritztele" ]; then 319 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g` 320 nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g` 321 help=`echo $line | cut -d'<' -f8 | cut -c 1-2` 322 if [ $help = "br" ]; then 323 nummer2=`echo $line | cut -d'<' -f9 | sed s/" "//g` 324 pos1=13 325 pos2=15 326 help=`echo $line | cut -d'<' -f10 | cut -c 1-2` 327 if [ $help = "br" ]; then 328 nummer3=`echo $line | cut -d'<' -f11 | sed s/" "//g` 329 pos1=15 330 pos2=17 331 pos3=19 332 help=`echo $line | cut -d'<' -f12 | cut -c 1-2` 333 if [ $help = "br" ]; then 334 nummer4=`echo $line | cut -d'<' -f13 | sed s/" "//g` 335 pos1=17 336 pos2=19 337 pos3=21 338 pos4=23 339 fi 340 fi 341 fi 342 if [ $nummer1 != "0" ]; then 343 typ=`echo $line | cut -d'<' -f$pos1` 344 echo "$nummer1#$name->$typ" >> $FRITZBUCH 345 fi 346 if [ $nummer2 != "0" ]; then 347 typ=`echo $line | cut -d'<' -f$pos2` 348 echo "$nummer2#$name->$typ" >> $FRITZBUCH 349 fi 350 if [ $nummer3 != "0" ]; then 351 typ=`echo $line | cut -d'<' -f$pos3` 352 echo "$nummer3#$name->$typ" >> $FRITZBUCH 353 fi 354 if [ $nummer4 != "0" ]; then 355 typ=`echo $line | cut -d'<' -f$pos4` 356 echo "$nummer4#$name->$typ" >> $FRITZBUCH 357 fi 358 fi 359 done < /tmp/curlhelp3.tmp 360 rm /tmp/curlhelp3.tmp 361 362 else 363 #Fritzbox Version > 60 364 echo "Version 60" 365 366 Challenge=`wget -O - "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep Challenge | cut -d"<" -f6 | cut -d">" -f2` 367 Passwd="$FritzPass" 368 # login aufbauen und hashen 369 echo "login aufbauen und hashen start" 370 CPSTR="$Challenge-$Passwd" 371 MD5=`echo -n $CPSTR | $ICONV -f ISO8859-1 -t UTF-16LE > /tmp/helpx; md5sum /tmp/helpx | awk '{print substr($0,1,32)}'` 372 RESPONSE="$Challenge-$MD5" 373 374 POSTDATA="username=$FritzUser&response=$RESPONSE" 375 376 SID=`wget -O - --post-data="$POSTDATA" "http://$FRITZBOXIP/login_sid.lua" 2>/dev/null | grep SID | cut -d"<" -f4 | cut -d">" -f2` 377 378 echo "login aufbauen und hashen ende" 379 380 $CURL --data "sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_select.lua > /tmp/curlhelp.tmp 381 382 BOOKID=`cat /tmp/curlhelp.tmp | grep ' checked id="uiBookid' | cut -d: -f2 | cut -d'"' -f1` 383 if [ -z "$BOOKID" ]; then 384 BOOKID=0 385 else 386 echo "BookID: $BOOKID" 387 fi 388 389 #$CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<<a href="//g | sed s/"<\/a<"//g > /tmp/curlhelp3.tmp 390 $CURL --data "bookid=$BOOKID&sid=$SID" http://$FRITZBOXIP/fon_num/fonbook_list.lua | grep "<td class=\"tname\" title=" | sed s/'class="tname" '/"\nfritztele<"/g | sed s/">"/"<"/g | sed s/"<<"/"<"/g | sed s/"'"//g | sed s/'"'//g | sed s/"&"/"+"/g | sed s/"<a href="//g | sed s/"<\/a"//g | sed s/"+49"/"0"/g > /tmp/curlhelp6.tmp 391 392 while read line 393 do 394 nummer1="0" 395 nummer2="0" 396 nummer3="0" 397 nummer4="0" 398 nummer5="0" 399 nummer6="0" 400 pos1=10 401 pos2=0 402 pos3=0 403 art=`echo $line | cut -d'<' -f1` 404 if [ ! -z $art ] && [ $art = "fritztele" ]; then 405 name=`echo $line | cut -d'<' -f2 | sed s/"title="//g` 406 nummer1=`echo $line | cut -d'<' -f7 | sed s/" "//g` 407 help=`echo $line | cut -d'<' -f8` 408 if [ $help = "br" ]; then 409 nummer2=`echo $line | cut -d'<' -f10 | sed s/" "//g` 410 pos1=13 411 pos2=15 412 help=`echo $line | cut -d'<' -f11` 413 if [ $help = "br" ]; then 414 nummer3=`echo $line | cut -d'<' -f13 | sed s/" "//g` 415 pos1=16 416 pos2=18 417 pos3=20 418 help=`echo $line | cut -d'<' -f14` 419 if [ $help = "br" ]; then 420 nummer4=`echo $line | cut -d'<' -f16 | sed s/" "//g` 421 pos1=19 422 pos2=21 423 pos3=23 424 pos4=25 425 help=`echo $line | cut -d'<' -f17` 426 if [ $help = "br" ]; then 427 nummer5=`echo $line | cut -d'<' -f19 | sed s/" "//g` 428 pos1=22 429 pos2=24 430 pos3=26 431 pos4=28 432 pos5=30 433 help=`echo $line | cut -d'<' -f20` 434 if [ $help = "br" ]; then 435 nummer6=`echo $line | cut -d'<' -f22 | sed s/" "//g` 436 pos1=25 437 pos2=27 438 pos3=29 439 pos4=31 440 pos5=33 441 pos6=35 442 fi 443 fi 444 fi 445 fi 446 fi 447 if [ $nummer1 != "0" ]; then 448 typ=`echo $line | cut -d'<' -f$pos1` 449 echo "$nummer1#$name->$typ" >> $FRITZBUCH 450 fi 451 if [ $nummer2 != "0" ]; then 452 typ=`echo $line | cut -d'<' -f$pos2` 453 echo "$nummer2#$name->$typ" >> $FRITZBUCH 454 fi 455 if [ $nummer3 != "0" ]; then 456 typ=`echo $line | cut -d'<' -f$pos3` 457 echo "$nummer3#$name->$typ" >> $FRITZBUCH 458 fi 459 if [ $nummer4 != "0" ]; then 460 typ=`echo $line | cut -d'<' -f$pos4` 461 echo "$nummer4#$name->$typ" >> $FRITZBUCH 462 fi 463 if [ $nummer5 != "0" ]; then 464 typ=`echo $line | cut -d'<' -f$pos3` 465 echo "$nummer5#$name->$typ" >> $FRITZBUCH 466 fi 467 if [ $nummer6 != "0" ]; then 468 typ=`echo $line | cut -d'<' -f$pos4` 469 echo "$nummer6#$name->$typ" >> $FRITZBUCH 470 fi 471 fi 472 done < /tmp/curlhelp6.tmp 473 rm /tmp/curlhelp6.tmp 474 fi 475 #cp $FRITZBUCH $FRITZCACHE 476 fi 477 fi 475 #rm $FRITZBUCH 476 if [ ! -f $FRITZBUCH ]; then 477 echo "FritzBook new" 478 479 loadFritzBook60 480 if [ ! -f $FRITZBUCH ]; then 481 loadFritzBook50 482 fi 483 if [ ! -f $FRITZBUCH ]; then 484 loadFritzBook49 485 fi 486 if [ ! -f $FRITZBUCH ]; then 487 echo "Error loadFritzBook" 488 fi 489 fi 490 fi 478 491 479 492 }; … … 484 497 timeout=14 485 498 while [ -e /tmp/callrun ]; do 486 487 488 489 490 491 499 if [ $timeout != "0" ]; then 500 timeout=$(($timeout-1)) 501 sleep 1 502 else 503 break 504 fi 492 505 done 493 506 … … 496 509 timeout=14 497 510 while [ -e /tmp/xmessage ]; do 498 499 500 501 502 503 511 if [ $timeout != "0" ]; then 512 timeout=$(($timeout-1)) 513 sleep 1 514 else 515 break 516 fi 504 517 done 505 518 … … 546 559 #prepare text 547 560 #UH20100110 548 561 fuer=$6 549 562 if [ "$6" = "4711" ] 550 563 then fuer="Name1" … … 581 594 #if [ $mute = 0 ]; then 582 595 #wget -q -O /dev/null "http://@$ip/query?sendrc&rcmute" >> $NULL #Befehl für Tonsperre 583 584 585 586 587 596 $CURL http://$ip/query?mutestatus > $TMPSTATUS 597 mute=`grep "muteon" $TMPSTATUS| wc -l` 598 if [ $mute = 0 ]; then 599 $CURL "http://@$ip/query?sendrc&rcmute" >> $NULL #Befehl für Tonsperre 600 fi 588 601 #fi 589 602 fi 590 603 #wget -q -O /dev/null "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout" >> $NULL 591 592 604 $CURL "http://$ip/cgi-bin/xmessage?caption=$c1&body=$b1&timeout=$anzeigetimeout" >> $NULL 605 (touch /tmp/xmessage; sleep $anzeigetimeout; rm /tmp/xmessage) & 593 606 fi 594 607 else … … 612 625 <line name=\"für $6\" /> 613 626 <separator />" >$TMPRING 614 627 fi 615 628 echo "nach der Abfrage ob es TMPring schon gibt" 616 629 echo "1" > $TMPINCOMING … … 699 712 if [ $STANDBY = 0 ]; then 700 713 if [ $muteRing = 1 ]; then #wenn Option gesetzt ist dann wird der Ton abgeschaltet 701 702 703 704 705 714 $CURL http://$ip/query?mutestatus > $TMPSTATUS 715 mute=`grep "muteon" $TMPSTATUS| wc -l` 716 if [ $mute = 1 ]; then 717 $CURL "http://@$ip/query?sendrc&rcmute" >> $NULL 718 fi 706 719 #wget -O- http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben 707 720 #$CURL http://$loginname:$passwort@127.0.0.1/cgi-bin/audio >> $TMPSTATUS #tonstatus wird ermittelt und in eine Datei geschrieben … … 777 790 echo "deleting $FRITZCACHE (if exists)" 778 791 if [ -f $FRITZCACHE ]; then rm $FRITZCACHE; fi 779 792 echo "deleting $FRITZBUCH (if exists)" 780 793 if [ -f $FRITZBUCH ]; then rm $FRITZBUCH; fi 781 794 ;; … … 807 820 kill -9 ${pid} 808 821 fi 809 822 #fals noch ein 2. läuft :-) 810 823 pid=`ps | grep "tail*"| grep -v grep | awk '{print $1}'` 811 824 if [ "X${pid}" != "X" ] ; then 812 825 kill -9 ${pid} 813 fi 826 fi 814 827 ;; 815 828 SHOW|show) … … 833 846 834 847 TEST|test) 835 848 loadFritzBook 836 849 echo "Testing the script: "$0 837 850 mysearch "$2" … … 877 890 ;; 878 891 loadPhoneBook|loadphonebook) 879 rm $FRITZBUCH 880 loadFritzBook 892 if [ -f $FRITZBUCH ]; then 893 rm $FRITZBUCH 894 fi 895 loadFritzBook 896 if [ -f $FRITZBUCH ]; then 897 cat $FRITZBUCH 898 $CURL "http://$ip/cgi-bin/xmessage?caption=FritzBook%20geladen&body=FritzBox!%20Telefonbuch%20geladen&timeout=5" -o /dev/null 899 (touch /tmp/xmessage; sleep 5; rm /tmp/xmessage) & 900 else 901 $CURL "http://$ip/cgi-bin/xmessage?caption=Fehler%20beim%20laden&body=FritzBox!%20Telefonbuch%20konnte%20nicht%20geladen%20werden&timeout=5" -o /dev/null 902 (touch /tmp/xmessage; sleep 5; rm /tmp/xmessage) & 903 fi 881 904 ;; 882 905 esac
Note: See TracChangeset
for help on using the changeset viewer.