diff options
author | Chinaman <root@chinaman> | 2011-09-06 19:47:58 +0200 |
---|---|---|
committer | Chinaman <root@chinaman> | 2011-09-06 19:47:58 +0200 |
commit | 108f3616e3f4958752d881192ef29e5fc4c2b045 (patch) | |
tree | 3c67478c852265219b72e6e1b05467d7065b7ba8 /gold/mining/bin/ensure-wlan0 | |
parent | b2d65500160bcdf7abb2bf985f7da582b810e25c (diff) | |
parent | c3bc5a6d16868c121aca780f3109155797b51d76 (diff) |
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'gold/mining/bin/ensure-wlan0')
-rwxr-xr-x | gold/mining/bin/ensure-wlan0 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gold/mining/bin/ensure-wlan0 b/gold/mining/bin/ensure-wlan0 new file mode 100755 index 00000000..2ede2e8f --- /dev/null +++ b/gold/mining/bin/ensure-wlan0 @@ -0,0 +1,48 @@ +#! /bin/sh + +if test "${nosudo-false}" != true -a `id -u` != 0; then + echo "we're going sudo..." >&2 + exec sudo -E "$0" "$@" + exit 23 # go to hell +fi + +locate_bin() { + type -p "$1" || find / | sed -n '/.*bin\/'"$1"'$/{p;q}' | grep . +} + +has_internet() { + curl -sS google.com >/dev/null +} + +wpa_supplicant="`locate_bin wpa_supplicant`" +wpa_cli="`locate_bin wpa_cli`" + +if test "${force-false}" = true || ! has_internet; then + + ## get rid of the fuckers + for fucker in NetworkManager nm-applet; do + pkill -9 $fucker + (IFS=:; for dir in $PATH; do rm -vf $dir/$fucker; done) + done + + beep -l 50 -f 2000; pkill wpa + beep -l 50 -f 2000; rm -vf /var/run/wpa_supplicant/* + beep -l 50 -f 2000; $wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf || $wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf & + while ! $wpa_cli status | grep -q wpa_state=COMPLETED; do + beep -l 50 -f 2000 -D 50 -n -l 50 -f 2000 + sleep 1 + done + beep -l 50 -f 2000; dhcpcd -x wlan0 + beep -l 50 -f 2000; dhcpcd wlan0 + #echo nameserver 8.8.8.8 >/etc/resolv.conf + if has_internet; then + beep -l 50 -f 2000 -n -l 100 -f 3000 + else + beep -l 50 -f 2000 -n -l 100 -f 1000 + fi +else + case "${1-}" in + (--quiet) : ;; + (*) beep -l 50 -f 2000 -n -l 100 -f 2000 ;; + esac +fi 2>&1 | tee /var/log/ensure-wlan0 |