X-Git-Url: https://www.fleuret.org/cgi-bin/gitweb/gitweb.cgi?p=scripts.git;a=blobdiff_plain;f=hotspot.sh;h=a8a27ae5e550cfa4835c80b875fccc64d63a5069;hp=1cd5a22aff3b9e17a077c040f86d9221b2743e64;hb=22ad92b9f8cf9f726ff9b9caa530ecf13d35fc87;hpb=2b983c5c7336826b764036e3e1478a5a8159248a diff --git a/hotspot.sh b/hotspot.sh index 1cd5a22..a8a27ae 100755 --- a/hotspot.sh +++ b/hotspot.sh @@ -17,7 +17,10 @@ # Contact for comments & bug reports # ######################################################################### -INTERFACE=wlan0 +INTERFACE=${WIFI_INTERFACE} + +[[ ${INTERFACE} ]] || INTERFACE=wlan0 + MTU=512 SCAN_OUTPUT=$(mktemp /tmp/scanresult.XXXXXX) @@ -70,6 +73,8 @@ function sigint-handler () { } function scan () { + echo + echo " Scanning ..." iwconfig ${INTERFACE} ap off essid "" iwlist ${INTERFACE} scan | \ sed -e "s/^[\t ]*//" | grep ^"Cell\|ESSID\|Quality\|Encryption" | \ @@ -79,8 +84,8 @@ function scan () { -e "s/Quality=\([0-9]*\).*$/QUALITY,\1/" \ -e "s/Encryption key:/ENCRYPTION,/" | \ awk 'BEGIN { FS="," } - { - if($1 == "ESSID") { essid=$2 } + { + if($1 == "ESSID") { essid=$2 } else if($1 == "AP") { ap=$2 } else if($1 == "QUALITY") { quality=$2; } else if($1 == "ENCRYPTION") { @@ -172,7 +177,7 @@ function process-key () { e) # Selects essid + dhcp SELECTED=$(get-selected-essid-ap) ESSID=$(echo ${SELECTED} | cut -f 1 -d,) - echo "Running DHCP on ${INTERFACE} for ESSID ${ESSID}." + echo "Running DHCP on ${INTERFACE} for ESSID \"${ESSID}\"." iwconfig ${INTERFACE} ap auto essid "${ESSID}" kill-dhcp echo @@ -189,7 +194,7 @@ function process-key () { SELECTED=$(get-selected-essid-ap) ESSID=$(echo ${SELECTED} | cut -f 1 -d,) AP=$(echo ${SELECTED} | cut -f 2 -d,) - echo "Running DHCP on ${INTERFACE} for ESSID ${ESSID} and AP ${AP}." + echo "Running DHCP on ${INTERFACE} for ESSID \"${ESSID}\" and AP ${AP}." iwconfig ${INTERFACE} ap ${AP} essid "${ESSID}" kill-dhcp echo @@ -210,14 +215,12 @@ function process-key () { ;; r|s) # re-scanning the access points - echo "Scanning ..." scan redisplay ;; m) # Switching the mode to show the protected spots SHOW_CLOSED=$((1-SHOW_CLOSED)) - echo "Scanning ..." scan redisplay ;; @@ -239,7 +242,7 @@ function process-key () { ;; "esc-esc"|q) - echo "quit" + echo " Quit." cont=0 ;; @@ -258,6 +261,8 @@ if [[ $1 == "-k" ]]; then exit 1 fi +trap cleanup-before-quit EXIT + stty_state=$(stty -g) trap sigint-handler SIGHUP SIGINT SIGQUIT SIGABRT SIGTERM @@ -295,58 +300,56 @@ while [[ ${cont} == 1 ]]; do ;; "") - process-key "down" - ;; + process-key "down" + ;; "") - process-key "up" - ;; + process-key "up" + ;; "") #$'\033'") - current_keymap=escape - ;; + current_keymap=escape + ;; *) - ;; - esac - ;; + ;; + esac + ;; - escape) ################################################## - case ${CHAR} in - "$'\033'") + escape) ################################################## + case ${CHAR} in + "$'\033'") process-key "esc-esc" ;; - "[") + "[") current_keymap=cursor ;; - *) + *) current_keymap=default ;; - esac - ;; + esac + ;; - cursor) ################################################## + cursor) ################################################## - current_keymap=default + current_keymap=default - case ${CHAR} in - A) + case ${CHAR} in + A) process-key "up" ;; - B) + B) process-key "down" ;; - *) - ;; - esac - ;; - *) - echo "Unknown keymap. This is an internal and weird bug." - cont=0 - ;; - esac + ;; + esac + ;; - done + *) + echo "Unknown keymap. This is an internal and weird bug." + cont=0 + ;; + esac - cleanup-before-quit +done