mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
36 lines
976 B
Bash
36 lines
976 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
checkmd5(){
|
||
|
local nowmd5=$(md5sum /etc/hosts)
|
||
|
nowmd5=${nowmd5%% *}
|
||
|
local lastmd5=$(uci get AdGuardHome.AdGuardHome.hostsmd5 2>/dev/null)
|
||
|
if [ "$nowmd5" != "$lastmd5" ]; then
|
||
|
uci set AdGuardHome.AdGuardHome.hostsmd5="$nowmd5"
|
||
|
uci commit AdGuardHome
|
||
|
[ "$1" == "noreload" ] || /etc/init.d/AdGuardHome reload
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
[ "$1" == "del" ] && sed -i '/programaddstart/,/programaddend/d' /etc/hosts && checkmd5 "$2" && exit 0
|
||
|
/usr/bin/awk 'BEGIN{
|
||
|
while ((getline < "/tmp/dhcp.leases") > 0)
|
||
|
{
|
||
|
a[$2]=$4;
|
||
|
}
|
||
|
while (("ip -6 neighbor show | grep -v fe80" | getline) > 0)
|
||
|
{
|
||
|
if (a[$5]) {print $1" "a[$5] >"/tmp/tmphost"; }
|
||
|
}
|
||
|
print "#programaddend" >"/tmp/tmphost";
|
||
|
}'
|
||
|
grep programaddstart /etc/hosts >/dev/null 2>&1
|
||
|
if [ "$?" == "0" ]; then
|
||
|
sed -i '/programaddstart/,/programaddend/c\#programaddstart' /etc/hosts
|
||
|
sed -i '/programaddstart/'r/tmp/tmphost /etc/hosts
|
||
|
else
|
||
|
echo "#programaddstart" >>/etc/hosts
|
||
|
cat /tmp/tmphost >> /etc/hosts
|
||
|
fi
|
||
|
rm /tmp/tmphost
|
||
|
checkmd5 "$2"
|