Last active
August 29, 2015 14:18
-
-
Save brownman/2eb88e063b7c33820b39 to your computer and use it in GitHub Desktop.
linux: auto connect wifi (for wpa2 encryption)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ssid=${1:-$SSID} | |
key=${2:-$PASSWORD} | |
test -n "$ssid" || { echo '[required args] : ssid password'; exit 0; } | |
pkgs='wpa_passphrase' #dhcp-gtk | |
type $pkgs || ( sudo apt-get install $pkgs) | |
connect_passwordless_wifi(){ | |
commander sudo ifconfig $device up | |
commander sudo iw dev $device connect $ssid | |
commander sudo dhcpcd $device | |
} | |
connect_using_wpa2(){ | |
commander "sudo wpa_supplicant -D$driver -i$device -c$file" | |
commander sudo dhclient $device #get ip address | |
commander cat /etc/resolv.conf | |
commander ping1 | |
} | |
troubles(){ | |
ifconfig_up | grep SIOCSIFFLAGS --color=always | |
sudo rfkill list | grep yes --color=auto | |
commander 'sudo rfkill unblock all' | |
sudo killall dhcpcd | |
sudo killall dhclient | |
sudo ifconfig $device down | |
} | |
ping_limit(){ | |
[ $# -eq 0 ] && { print error 'supply a target address';return 1; } | |
local target="$1" | |
local num=${2:-1} | |
local cmd="ping -c $num $target" | |
( eval "$cmd" &>/dev/null ) | |
local res=$? | |
indicator "$res" | |
return $res | |
} | |
ping1(){ | |
local url=${1:-google.com} | |
commander "ping_limit 8.8.8.8" && { commander "ping_limit $url"; } | |
local res=$? | |
if [ $res -ne 0 ];then | |
# | |
print error "type: fix1" | |
#figlet1 ping loop | |
#ping1 | |
fi | |
return $res | |
} | |
use_ssid(){ | |
local str="$1" | |
case $str in | |
4C64) | |
export ssid=NAAN-4C64 | |
export key=517118249 | |
;; | |
mariana) | |
export ssid='mariana'; | |
export key=123456789; | |
;; | |
229F) | |
export ssid='NAAN-229F'; | |
export key=00304f859; | |
;; | |
Linnovate) | |
export ssid='Linnovate'; | |
export key=linnoxxx; | |
;; | |
**) | |
print error unknown ssid | |
;; | |
esac | |
} | |
commander() { | |
local args=($@); | |
local cmd="${args[@]}"; | |
echo 1>&2 [cmd] $cmd; | |
eval "$cmd"; | |
} | |
set_env(){ | |
export file_wpa=/tmp/wpa0 | |
export cmd_wpa="sudo wpa_passphrase $ssid $key" | |
export driver=wext | |
export device=wlan0 | |
} | |
commander $cmd_wpa | |
cat $file_wpa | grep 'psk' | grep -v '\#' | cut -d'=' -f2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment