summaryrefslogtreecommitdiffstats
path: root/gold/mining/bin/ensure-wlan0
diff options
context:
space:
mode:
authorroot <root@krebs>2011-08-25 18:29:59 +0200
committerroot <root@krebs>2011-08-25 18:29:59 +0200
commite8cb14522e1364ce9e871c3f06b63daa58479ca6 (patch)
tree46bf3de7ebd8e315dac34803819e68f454799459 /gold/mining/bin/ensure-wlan0
parent62418a76181e8ea22332c34501b7a061c30e4a3b (diff)
parent561f37e4a24061bd70113ebc7951175e0d3e116f (diff)
Merge branch 'master' of github.com:/krebscode/painload
Conflicts: evan/satz-liste
Diffstat (limited to 'gold/mining/bin/ensure-wlan0')
-rwxr-xr-xgold/mining/bin/ensure-wlan041
1 files changed, 41 insertions, 0 deletions
diff --git a/gold/mining/bin/ensure-wlan0 b/gold/mining/bin/ensure-wlan0
new file mode 100755
index 00000000..fa92c4f5
--- /dev/null
+++ b/gold/mining/bin/ensure-wlan0
@@ -0,0 +1,41 @@
+#! /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
+
+has_internet() {
+ curl -sS google.com >/dev/null
+}
+
+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 &
+ 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