#!/bin/bash
# automatický konfigurátor kolejnetu pro ubutnu a mozna vsechny debian-like systemy

echo "Kolejnet Ubuntu Autoconfig by Libcha

Tento nastroj slouzi k rychlemu nastaveni pocitace s Ubuntu (nebo i jinym Debian-like systemem) pro připojení do Kolejnetu na koleji 17. listopadu.
Neni doporuceno ho pouzivat, pokud uz byly provedeny zasahy do sitovych konfiguracnich souboru (zejmena pokusy o nakonfigurovani pripojeni).
Skript automaticky odinstaluje NetworkManager. Da se mu v tom (je-li duvod) zabranit, ale pak bude potreba NM zkrotit vlastnimi silami.
Skript upravi konfiguracni soubory /etc/network/interfaces , /etc/wpa_supplicant/wpa_supplicant.conf , /etc/sysctl.conf ; prvni dva jmenovane budou zazalohovany.

Chces pokracovat? a=ano, n=ne, k=ano&zachovejNetworkManager"
read choice
if [ "$choice" != "a" ] && [ "$choice" != "k" ]; then
  exit
fi


if [ `id -u` != "0" ]; then
    echo "Musis byt root!"
    exit
fi

echo -n "Zadej uzivatele pro pripojeni: "
read user
echo -n "Zadej heslo pro pripojeni: "
read pass
echo -n "Zadej rozhrani pripojeni (pravdepodobne eth0): "
read eth

echo "Zalohovani konfiguraku.."
if [ ! -f /etc/wpa_supplicant/wpa_supplicant.conf.kua_backup ]; then
  mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant.conf.kua_backup
fi
if [ ! -f /etc/network/interfaces.kua_backup ]; then
  cp /etc/network/interfaces /etc/network/interfaces.kua_backup
fi

echo "ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=0
fast_reauth=1

network={
    key_mgmt=IEEE8021X
    eap=TTLS
    anonymous_identity=\"whatever\"
    ca_cert=\"/etc/wpa_supplicant/cacert.pem\"
    identity=\"$user\"
    password=\"$pass\"
    phase2=\"auth=PAP\"
}" > /etc/wpa_supplicant/wpa_supplicant.conf

echo "-----BEGIN CERTIFICATE-----
MIIC+jCCAmOgAwIBAgIBADANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJDWjEX
MBUGA1UECBMOQ3plY2ggUmVwdWJsaWMxDzANBgNVBAcTBlByYWd1ZTEVMBMGA1UE
ChMMU2lzYWwgTUZGIFVLMRIwEAYDVQQDEwlWUE4gU0lTQUwwHhcNMDQxMTEyMTMz
MjIzWhcNMTQxMTEwMTMzMjIzWjBiMQswCQYDVQQGEwJDWjEXMBUGA1UECBMOQ3pl
Y2ggUmVwdWJsaWMxDzANBgNVBAcTBlByYWd1ZTEVMBMGA1UEChMMU2lzYWwgTUZG
IFVLMRIwEAYDVQQDEwlWUE4gU0lTQUwwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBANI0iNF+bgdJKtwz6/jOLYcSxphYjP9A2lejfegvdmZrwOGa96BdcWGxS+UN
c1b1wm7njTz2O+PaKyHRkk9ExxjcchLkT2XERjTQxmjVub9ww5I1Zbk1UBVHXjw2
gDJAvnnolJ0/TZr/Ild3zVAA5ZrSaWEvt8XwdCs5fF3AbcVDAgMBAAGjgb8wgbww
HQYDVR0OBBYEFCLqMn5HLsTRPUIkTtsh0DhY3TBFMIGMBgNVHSMEgYQwgYGAFCLq
Mn5HLsTRPUIkTtsh0DhY3TBFoWakZDBiMQswCQYDVQQGEwJDWjEXMBUGA1UECBMO
Q3plY2ggUmVwdWJsaWMxDzANBgNVBAcTBlByYWd1ZTEVMBMGA1UEChMMU2lzYWwg
TUZGIFVLMRIwEAYDVQQDEwlWUE4gU0lTQUyCAQAwDAYDVR0TBAUwAwEB/zANBgkq
hkiG9w0BAQQFAAOBgQDDh/ya3EgKZbhv1cmBE71lLzJNcUfAYz0Rc/eS9WCmjpVN
W+MUXHQgyWVmASLx/jGysw78J/LDlhNM0nViYAKr1C5Q+PRskdvlnvzOZSFw4vod
vbh34ccPnQk+faNtpkdaWYFcNt7k0xJpo7PxPkByl107qCDK39nGnY2zALRUVg==
-----END CERTIFICATE-----" > /etc/wpa_supplicant/cacert.pem

sed -n ":a
/^auto $eth/bx
/^mapping $eth/bx
/^allow-hotplug $eth/bx
p
n
ba
:x
n
/^auto /ba
/^mapping /ba
/^allow-hotplug /ba
bx
" < /etc/network/interfaces > /etc/network/interfaces2


echo "

auto $eth
iface $eth inet dhcp
wpa-driver wired
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf" >> /etc/network/interfaces2
rm -f /etc/network/interfaces
mv /etc/network/interfaces2 /etc/network/interfaces

echo "Soucasne nastaveni rozhrani:"
ifconfig $eth
echo " "


echo "Odpojovani..."
ifdown $eth

#echo "Cekam 3 sekundy"
#sleep 3

if [ `echo "$choice"` != "k" ]; then
  echo "Odinstalovavam NetworkManager..."
  apt-get remove network-manager -y
 # yum remove NetworkManager -y   # bacha jeste to chce navic znicit Anacondu ! # navic tenhle konfigurator ve Fedore nefunguje :-P
#  zypper remove network-manager -y
#  urpme remove network-manager
fi

echo "Vypinani pripadnych wpa_supplicantu"
wpa_cli logoff
wpa_cli terminate
killall wpa_supplicant
killall wpa_supplicant

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
echo "
# kolejnet
net.ipv6.conf.all.disable_ipv6 = 1
" >> /etc/sysctl.conf

echo "Pripojovani.."
ifup $eth

if [ `ifconfig $eth | grep -c "78.128."` == "0" ]; then
  echo "Nekde nastala chyba, pripojeni neni spravne nakonfigurovano. Jestli jsi dal spatne jmeno nebo heslo, zmen ho v /etc/wpa_supplicant/wpa_suuplicant.conf , jinak zkontroluj kabel a tak... Nebo se porad s nekym chytrejsim :-P"
else
  echo "Jsi pripojen ! :)"
fi

