Så jag har bytt till ny brandvägg. Har länge tillhört ASUS sidan med RMerlin, men kände för att testa pfSense - och med den så försvinner AccessPunkten som är inbyggd i ASUS. Således komplexiteten har kraftigt stigit, och möjligheterna är extremt mycket större.... Och därmed felkällorna....
Code: Select all
#!/bin/sh
#
# MacAdresser...
Mac1=54:c6:e3:3e:81:fe
Mac2=21:5b:3a:6f:eb:f4
#
# Mac1 = User1
# Mac2 = User2
#
########################### Don't touch #################################
# Kolla om mappen finns i /tmp
if [ ! -d /tmp/CheckUser ];
then
mkdir /tmp/CheckUser
fi
#
if [ `pgrep CheckIfHome.sh | wc -l` -gt 1 ];
then
exit
fi
#
unifi_login() {
# authenticate against unifi controller
curl 'https://10.1.1.1:8443/api/login' --data-binary '{"username":"unifi","password":"unifi","strict":true}' --silent --compressed --insecure -c /tmp/CIH_cookies.txt
}
# stat/sta
unifi_list_sta() {
curl --insecure --silent -b /tmp/CIH_cookies.txt -c /tmp/CIH_cookies.txt 'https://10.1.1.1:8443/api/s/default/stat/sta'
}
unifi_login > /dev/null 2>&1
#
# Oandlig loop
while [ 1 ]
do
#
#put unifi_list_sta output in variabele
var=$(unifi_list_sta)
# User 1
if echo "$var" | grep -q "$Mac1" ; then
if [ ! -f /tmp/CheckUser/User1 ] ;
then
touch /tmp/CheckUser/User1
curl "10.1.1.5/JSON?request=controldevicebylabel&ref=465&label=Hemma" >/dev/null 2>&1
fi
else
if [ -f /tmp/CheckUser/User1 ] ;
then
rm -f /tmp/CheckUser/User1
curl "10.1.1.5/JSON?request=controldevicebylabel&ref=465&label=Borta" >/dev/null 2>&1
fi
fi
#
# User 2
if echo "$var" | grep -q "$Mac2" ; then
User2="Hemma"
if [ ! -f /tmp/CheckUser/User2 ] ;
then
touch /tmp/CheckUser/User2
curl "10.1.1.5/JSON?request=controldevicebylabel&ref=466&label=Hemma" >/dev/null 2>&1
fi
else
if [ -f /tmp/CheckUser/User2 ] ;
then
rm -f /tmp/CheckUser/User2
curl "10.1.1.5/JSON?request=controldevicebylabel&ref=466&label=Borta" >/dev/null 2>&1
fi
fi
#
# Avvakta
sleep 15
#
done
Frågor på detta?