Advertisement
Alie

nova_network

Sep 11th, 2011
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.68 KB | None | 0 0
  1. #!/bin/bash
  2. . /etc/rc.conf
  3. . /etc/rc.d/functions
  4. _PRIVATENETWORK=Whitenoise
  5.  
  6. case $1 in
  7. start)
  8. # system
  9. ifconfig wlan0 up
  10.  
  11. # log
  12. iwlist wlan0 scan | grep -v wlan0 > /tmp/new
  13. _POOL=""
  14. _HEAD=10
  15. _LIST=$(cat /tmp/new | grep -c Cell)
  16. for (( _CELL=1 ; $_CELL<$_LIST ; _CELL++))
  17. do
  18.         cat /tmp/new | head -n $_HEAD | tail -n10 > /tmp/temp$_CELL
  19.         _HEAD=$(($_HEAD+10))
  20.         _KEY=$(cat /tmp/temp$_CELL | grep Encryption | gawk '{print $2}')
  21.         if [[ $_KEY == "key:on" && ! `cat /tmp/temp$_CELL | grep ESSID | cut -b28- | sed -e 's/"//g'` == "$_PRIVATENETWORK" ]];
  22.         then
  23.                 rm /tmp/temp$_CELL
  24.         else
  25.                 _POOL="$_POOL `cat /tmp/temp$_CELL | grep ESSID | cut -b28- | sed -e 's/"//g'`"
  26.         fi
  27. done
  28.  
  29. if [ "$_POOL" == "" ];
  30. then
  31.         rm /tmp/new
  32.         echo "No aviable networks found"
  33.         stat_failed
  34. exit
  35. fi
  36.  
  37. # connect
  38. for _NAME in $_POOL
  39. do
  40.         if [ $_NAME == "$_PRIVATENETWORK" ];
  41.         then
  42.                 iwconfig wlan0 essid $_PRIVATENETWORK
  43.                 wpa_supplicant -B -Dwext -i wlan0 -c/etc/wpa_supplicant.conf
  44.                 dhcpcd wlan0 > /dev/null 2>$1
  45.                 stat_done
  46.                 rm /tmp/temp*
  47.                 rm /tmp/new
  48.                 exit
  49.         fi
  50. done
  51. for _NAME in $_POOL
  52. do
  53.         iwconfig wlan0 essid $_NAME
  54.         dhcpcd wlan0 > /dev/null 2>$1
  55.         stat_done
  56.         rm /tmp/temp*
  57.         rm /tmp/new
  58.         exit
  59. done
  60. rm /tmp/temp*
  61. rm /tmp/new
  62. stat_done
  63. ;;
  64.  
  65. stop)
  66. killall dhcpcd
  67. killall wpa_supplicant
  68. ifconfig wlan0 down
  69. stat_done
  70. ;;
  71.  
  72. restart)
  73. $0 stop
  74. sleep 1
  75. $0 start
  76. ;;
  77.  
  78. *)
  79.         echo "usage: $0 {start|stop|restart}"
  80. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement