Jednoduchá aktivace IP adresy na fi.muni.cz
Dosti mne nabavila aktivace IP adresy u nás na fakultě. Myslím, že pro spolustudující může být užitečný tento skript. Asi stojí za to se ujistit, že k souboru máte následně přístup pouze Vy, aby nemohl dojít k přečtení hesla.
#!/usr/bin/perl
# tohle by nikdo neměl vidět :-)
my $username = "xuzivatel";
my $userpass = "jehokvalitniheslo;
$res = `wget https://fadmin.fi.muni.cz/auth/sit/wireless/login.mpl --user=$username --password=$userpass --no-check-certificate -O - 2>/dev/null | enca -c`;
$res =~ s/\n//g;
$res =~ /id="text">(.*?)<\/div/g;
$res = $1;
$res =~ s/<.*?>//g;
$res =~ /(.*?)\.\s/g;
$res = $1;
while( $res =~ s/^\s//g ) {}
print "$res.\n";
Také je nutné mít nainstalovaný balík enca pro korekci diakritiky. Tedy pokud máte stránku v jazyce českém, tak jako tomu je u mě.
Já jsem to trochu vylepšil o dvě věci:
ověřování certifikátu:
wget http://fadmin.fi.muni.cz/noauth/getFI_CA.CRT
openssl x509 -in getFI_CA.CRT -inform DER >getFI_CA.pem
cp getFI_CA.pem /etc/ssl/certs/fadmin.pem
update-ca-certificates (tohle je asi jen na debianích systémech)
ukládání hesla:
[tomi@notes ~]$ cat bin/fiwifi.sh
#!/bin/bash
HANDLE=”`dcop kded kwalletd open kdewallet 0`”
if [ "$HANDLE" == "-1" ]; then
exit
fi
PASS=`dcop kded kwalletd readPassword “$HANDLE” muni fadmin`
wget https://fadmin.fi.muni.cz/auth/sit/wireless/login.mpl –user=xjanous3 –password=”$PASS” -O – 2>/dev/null | grep “Adresa ”
(a ty hesla tam vložím přes kwalletmanager)
Snad jen poznámka, že to pak potřebuje běžící Xka s tím kde udělátkem, takže v /etc/network/interfaces mám
post-up su – tomi -c “DISPLAY=:0 fiwifi.sh”
[...] stojí zmínit komentář Tomáše Janouška, kde uvádí, jak užívat certifikátu (odpadá volba –insecure) a kde také poukazuje na [...]