diff options
Diffstat (limited to 'bin/hornet/wifi')
-rwxr-xr-x | bin/hornet/wifi | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/bin/hornet/wifi b/bin/hornet/wifi new file mode 100755 index 0000000..38c70ee --- /dev/null +++ b/bin/hornet/wifi @@ -0,0 +1,38 @@ +#!/bin/sh +set -eu +set -o pipefail + +DEV=wlp3s0 +OPEN=open + +if [ -z "${1:-}" ]; then + if sudo netctl status $OPEN > /dev/null 2>&1; then + sudo netctl restart $OPEN + else + sudo systemctl restart netctl-auto@$DEV + fi +else + case "$1" in + open) + if [ -n "${2:-}" ]; then + sudo sed -i "s/^ESSID=.*/ESSID='${2}'/" "/etc/netctl/${OPEN}" + fi + + if sudo netctl status $OPEN > /dev/null 2>&1; then + sudo netctl restart $OPEN + else + sudo systemctl stop netctl-auto@$DEV + sudo netctl start $OPEN + fi + ;; + wpa) + if ! sudo systemctl status netctl-auto@$DEV > /dev/null 2>&1; then + sudo netctl stop $OPEN + sudo systemctl start netctl-auto@$DEV + fi + ;; + scan) + sudo iw dev $DEV scan | grep SSID | perl -nle 's/^.*SSID: //; print unless $seen{$_}++' + ;; + esac +fi |