2014-12-19 14:13:30 -05:00
|
|
|
#/bin/sh -
|
|
|
|
|
|
|
|
#chmod 4755 /opt/google/chrome-beta/chrome-sandbox
|
|
|
|
chmod 4755 /usr/bin/sudo
|
2015-03-21 04:55:07 -04:00
|
|
|
|
|
|
|
function fuck_you_gimme_net() {
|
|
|
|
IFACE=$(ifconfig -a -s | egrep -E '^((en|wl)p?|em)' | awk '{print $1}' | tr '\n' ' ' | sed -e 's/\ $//g')
|
|
|
|
for i in ${IFACE};
|
|
|
|
do
|
|
|
|
|
|
|
|
LINK_STATE=$(ethtool ${i} | egrep '^[[:space:]]*Link' | sed -re 's/^[[:space:]]*Link detected:(.*)/\1/g')
|
|
|
|
DEV=$(echo ${i} | sed -re 's/^([A-Za-z]{1}).*/\1/g' | tr '[[:upper:]]' '[[:lower:]]' )
|
|
|
|
if [ "${DEV}" == "e" ];
|
|
|
|
then
|
|
|
|
if [ "${LINK_STATE}" != "no" ];
|
|
|
|
then
|
|
|
|
DEV='ethernet-dhcp'
|
|
|
|
else
|
|
|
|
# skip disconnected ethernet
|
|
|
|
continue
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
DEV='wireless-open'
|
|
|
|
fi
|
|
|
|
|
|
|
|
ifconfig ${i} down
|
|
|
|
cp -a /etc/netctl/examples/${DEV} /etc/netctl/${i}
|
|
|
|
sed -i -re "s/^([[:space:]]*Interface[[:space:]]*=).*/\1${i}/g" /etc/netctl/${i}
|
|
|
|
if [ "${DEV}" == "wireless-open" ];
|
|
|
|
then
|
|
|
|
ifconfig ${i} up && \
|
|
|
|
ESSID=$(iwlist ${i} scanning | egrep -A5 -B5 '^[[:space:]]*Encryption key:off' | egrep '^[[:space:]]*ESSID:' | sed -re 's/^[[:space:]]*ESSID:(.*)/\1/g')
|
|
|
|
sed -i -re "s/^([[:space:]]*ESSID[[:space:]]*=).*/\1${ESSID}/g" /etc/netctl/${i}
|
|
|
|
ifconfig ${i} down
|
|
|
|
fi
|
2015-03-25 04:41:47 -04:00
|
|
|
netctl restart ${i} > /dev/null 2>&1
|
2015-07-03 22:48:37 -04:00
|
|
|
#cat /etc/resolvconf.conf.failover > /etc/resolvconf.conf
|
|
|
|
#resolvconf -u
|
2015-03-21 04:55:07 -04:00
|
|
|
done
|
|
|
|
}
|
|
|
|
|
|
|
|
ping -c1 google.com | grep -q '1 received'
|
|
|
|
if [[ "${?}" != "0" ]];
|
|
|
|
then
|
|
|
|
fuck_you_gimme_net
|
|
|
|
systemctl restart openvpn@*
|
|
|
|
fi
|
2015-07-03 22:48:37 -04:00
|
|
|
|
|
|
|
# And lastly, do we need to set custom DNS servers?
|
|
|
|
host -s -W1 bdisk.square-r00t.net | egrep -q '^bdisk\.square-r00t\.net\ has\ address'
|
|
|
|
if [[ "${?}" != "0" ]];
|
|
|
|
then
|
|
|
|
resolvconf -u
|
|
|
|
fi
|