Advertisement
Guest User

Untitled

a guest
Dec 18th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.06 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. CREDENTIALS="admin:password"
  4. IP="192.168.1.1"
  5.  
  6. attempts=5
  7. iter=1
  8. SESSION_ID=""
  9.  
  10. while [ $iter -le 5 ]; do
  11.     response=$(curl -s -u $CREDENTIALS http://{$IP}/LED_settings.htm)
  12.     SESSION_ID=$(echo "$response" | grep -oP "(?<=led_settings.cgi\?id=)[0-9]+")
  13.     if [ -n "$SESSION_ID" ]; then
  14.         break
  15.     else
  16.         test_multiuser=$(echo "$response" | grep -o 'top.location.href = "MNU_access_multiLogin2.htm"')
  17.         if [ -n "$test_multiuser" ]; then
  18.             multi_session_id=$(curl -s -u $CREDENTIALS "http://${IP}/MNU_access_multiLogin2.htm" | grep -Po "(?<=multi_login.cgi\?id=)[0-9]+")
  19.             curl -X POST --data "act=yes" -s -u $CREDENTIALS "http://${IP}/multi_login.cgi?id=$multi_session_id" >/dev/null
  20.         fi
  21.     fi
  22.     sleep 1
  23.     iter=$(( $iter + 1 ))
  24. done
  25.  
  26. if [ -z "$SESSION_ID" ]; then
  27.     echo "Failed to get session ID!" 1>&2
  28.     exit 1
  29. fi
  30.  
  31. mode="$1"
  32.  
  33. if [ "$mode" = "off" ]; then
  34.     response=$(curl -s -X POST -u $CREDENTIALS --data "led_settings=turn_off" "http://${IP}/led_settings.cgi?id=${SESSION_ID}")
  35.     success=$(echo "$response" | egrep -o '<INPUT name=led_now type=hidden value="turn_off" >')
  36.     if [ -z "$success" ]; then
  37.         echo "LED status change unsuccessful" 1>&2
  38.         exit 1
  39.     fi
  40. elif [ "$mode" = "blink" ]; then
  41.     response=$(curl -s -X POST -u $CREDENTIALS --data "led_settings=en_blink" "http://${IP}/led_settings.cgi?id=${SESSION_ID}")
  42.     success=$(echo "$response" | egrep -o '<INPUT name=led_now type=hidden value="en_blink" >')
  43.     if [ -z "$success" ]; then
  44.         echo "LED status change unsuccessful" 1>&2
  45.         exit 1
  46.     fi
  47. elif [ "$mode" = "noblink" ]; then
  48.     response=$(curl -s -X POST -u $CREDENTIALS --data "led_settings=dis_blink" "http://${IP}/led_settings.cgi?id=${SESSION_ID}")
  49.     success=$(echo "$response" | egrep -o '<INPUT name=led_now type=hidden value="dis_blink" >')
  50.     if [ -z "$success" ]; then
  51.         echo "LED status change unsuccessful" 1>&2
  52.         exit 1
  53.     fi
  54. else
  55.     echo "USAGE: $0 <off|blink|noblink>"
  56.     exit 1
  57. fi
  58.  
  59. exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement