38 lines
1,015 B
Bash
Executable file
38 lines
1,015 B
Bash
Executable file
#!/usr/bin/bash
|
|
|
|
# protect existing connection
|
|
if [ -f /tmp/wpa.conf ]; then
|
|
read -p "delete existing temp config? (y/N) " choice
|
|
case "$choice" in
|
|
y|Y ) rm /tmp/wpa.conf;;
|
|
* ) exit 1;;
|
|
esac
|
|
fi
|
|
|
|
# get passphrase if not provided by $2
|
|
if [[ "$2" -eq "NONE" ]]; then
|
|
PSK=""
|
|
elif [[ "$2" -ne "" ]]; then
|
|
PSK="$2"
|
|
else
|
|
read -p "enter passphrase: " PSK
|
|
fi
|
|
|
|
# make tmp config
|
|
echo -e "# temp configuration file for wpa_supplicant\nctrl_interface=/run/wpa_supplicant\nctrl_interface_group=wheel\neapol_version=1\nap_scan=1\nfast_reauth=1\nupdate_config=1\n" > /tmp/wpa.conf
|
|
if [[ "$PSK" -ne "" ]]; then
|
|
wpa_passphrase "$1" "$PSK" >> /tmp/wpa.conf
|
|
else
|
|
echo -e "network={\n\tssid=\"$1\"\n\tkey_mgmt=NONE\n}" >> /tmp/wpa.conf
|
|
fi
|
|
|
|
# protect existing wpa_supplicant
|
|
if [ -f /run/wpa_supplicant/wlp3s0 ]; then
|
|
read -p "stop existing wpa_supplicant? (y/N) " choice
|
|
case "$choice" in
|
|
y|Y ) sudo sv stop wpa_supplicant;;
|
|
* ) rm /tmp/wpa.conf; exit 1;;
|
|
esac
|
|
fi
|
|
sudo wpa_supplicant -B -i wlp3s0 -c /tmp/wpa.conf
|
|
|