diff options
| author | Mitchell Riedstra <mitch@riedstra.dev> | 2024-01-20 12:31:58 -0500 |
|---|---|---|
| committer | Mitchell Riedstra <mitch@riedstra.dev> | 2024-01-20 12:31:58 -0500 |
| commit | e2a0cf2a79b43f9f86b74270f3d96fe300687804 (patch) | |
| tree | a87edf55f81e78f4d0968d6f006562090260e068 /linux-bin/wpa | |
| parent | ec83443853116b07f18fbef8c6de31cf157939a0 (diff) | |
| download | dotfiles-e2a0cf2a79b43f9f86b74270f3d96fe300687804.tar.gz dotfiles-e2a0cf2a79b43f9f86b74270f3d96fe300687804.tar.xz | |
Cleanup unused files and code.
Diffstat (limited to 'linux-bin/wpa')
| -rwxr-xr-x | linux-bin/wpa | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/linux-bin/wpa b/linux-bin/wpa new file mode 100755 index 0000000..0ffbc14 --- /dev/null +++ b/linux-bin/wpa @@ -0,0 +1,60 @@ +#!/bin/sh +set -e +# manual configuration of wifi made a little bit easier with wpa_supplicant +session="wpa" +t=3 +interface= +nwid= +wpakey= + +help() { +cat <<EOF +$0 [-i <interface>] [-n <network_name>] [-p <password>] +EOF +exit 1; +} + +while [ $# -gt 0 ] ; do case $1 in + -i|if) interface="$2"; shift ; shift ;; + -n|nwid) nwid="$2"; shift ; shift ;; + -p|wpakey) wpakey="$2"; shift ; shift ;; + *) help ;; +esac ; done + +err=0 +for _v in interface nwid wpakey ; do + eval v="\$$_v"; + if [ -z "$v" ] ; then + echo "$_v cannot be empty" + err=1 + fi +done +if [ $err -eq 1 ] ; then exit 1 ; fi + + +wpakey="$(echo "$wpakey" | sed -e's/"/\\"/g')" + +conf_f="$(mktemp /dev/shm/wpa.XXXX)" +trap 'rm -f $conf_f; exit 1;' EXIT INT +cat > "$conf_f" <<EOF +network={ + ssid="$nwid" + scan_ssid=1 + key_mgmt=WPA-PSK + psk="$wpakey" +} +EOF + + +if tmux ls -F '#{session_name}' | grep -q "^$session\$" ; then + exec tmux att -t "$session" +fi + +tmux new-session -s "$session" \;\ + send-keys -t "${session}:0" "sudo wpa_supplicant -i \"$interface\" -c \"$conf_f\"" \;\ + send-keys -t "${session}:0" Enter \;\ + new-window -n "dhclient" -t 1 \;\ + send-keys -t "${session}:1" "sleep $t ; sudo dhclient -d -i \"$interface\"" \;\ + send-keys -t "${session}:1" Enter \;\ + select-window -t "${session}:0" \;\ + |
