diff options
author | ache <ache@ache.one> | 2019-02-04 15:56:15 +0100 |
---|---|---|
committer | ache <ache@ache.one> | 2019-02-04 15:56:15 +0100 |
commit | fa994d1c81c890b9768e6a3f12267f44c574af3c (patch) | |
tree | 95c4fb4b91cfea3aeac88aecdf4dd89496ebd0c4 /coWifi | |
parent | Add euclide ¯\_(ツ)_/¯ (diff) |
Various script
Diffstat (limited to 'coWifi')
-rwxr-xr-x | coWifi | 65 |
1 files changed, 65 insertions, 0 deletions
@@ -0,0 +1,65 @@ +#!/bin/env bash + +interface=""; + + +function guess_wifi { + toAll="$1" + _interface="" + for i in `ls /sys/class/net/`; do + if [ -d "/sys/class/net/$i/wireless" ] ; then + _interface="$i" + fi + done + if [ -z $interface ] ; then +# echo 'No Wireless interface found\nExit' + if [ "$toAll" == "all" ] ; then +# echo 'flushing all' + _interface=all + else + echo "${_interface}" + exit 1 + fi + fi + echo "${_interface}" +} + + + +if [ "$1" == 'off' ] ; then + if [ -z "$2" ] ; then + interface=$(guess_wifi '') + else + interface=$(guess_wifi 'all') + fi + echo 'OFF' + sudo pkill -f dhcpcd + sudo pkill -f wpa_supplicant + if [ "${interface}" = 'all' ] ; then + sudo ip route flush all + else + sudo ip route flush dev "${interface}" + fi + sudo pkill -f ssh + exit 0 +elif [ -z "$1" ] ; then + interface=$(guess_wifi '') +else + interface="$1" +fi + + + +if [ -z "$2" ] +then + sudo wpa_supplicant -B "-i${interface}" -D wext -c/etc/wpa_supplicant/wpa_supplicant.conf +else + if [ -z "$3" ] + then + sudo iwconfig "${interface}" essid "$2" + else + sudo iwconfig "${interface}" ap "$3" + sudo iwconfig "${interface}" essid "$2" + fi +fi +sudo dhcpcd "${interface}" |