42 lines
2.3 KiB
Bash
42 lines
2.3 KiB
Bash
#!/bin/bash
|
|
# Скрипт для скачивания IPv4 адресов и добавления их в bird
|
|
# Основан на https://habr.com/ru/articles/359268/
|
|
# Доработал AlexandrLinux (собака) bafista.ru
|
|
# Основной список адресов взят тут: https://github.com/lord-alfred/ipranges/tree/main?tab=readme-ov-file
|
|
workdir=/opt/get-ip
|
|
cd $workdir/list
|
|
wget -N -O RU.lst https://github.com/ipverse/rir-ip/raw/refs/heads/master/country/ru/ipv4-aggregated.txt
|
|
#wget -N https://antifilter.download/list/ipsum.lst
|
|
#wget -N https://antifilter.download/list/subnet.lst
|
|
wget -N -O ip.lst https://antifilter.network/download/ip.lst
|
|
wget -N -O Meta.lst https://raw.githubusercontent.com/SecOps-Institute/FacebookIPLists/master/facebook_ip_list.lst
|
|
wget -N -O Google.lst https://raw.githubusercontent.com/lord-alfred/ipranges/main/google/ipv4.txt
|
|
wget -N -O Microsoft.lst https://raw.githubusercontent.com/lord-alfred/ipranges/main/microsoft/ipv4.txt
|
|
wget -N -O Telegram.lst https://github.com/lord-alfred/ipranges/raw/refs/heads/main/telegram/ipv4.txt
|
|
wget -N -O Facebook.lst https://github.com/lord-alfred/ipranges/raw/refs/heads/main/facebook/ipv4.txt
|
|
old=$(cat $workdir/md5.txt);
|
|
new=$(cat $workdir/list/*.lst | md5sum | head -c 32);
|
|
if [ "$old" != "$new" ]
|
|
then
|
|
echo "md5 chandge"
|
|
#cat $workdir/list/ipsum.lst | sed 's_.*_route & reject;_' > /etc/bird/ipsum.txt
|
|
#cat $workdir/list/subnet.lst | sed 's_.*_route & reject;_' > /etc/bird/subnet.txt
|
|
echo "Configure bird start"
|
|
sed -i '/^#/d' $workdir/list/RU.lst && cat $workdir/list/RU.lst | sed 's_.*_route & reject;_' > /etc/bird/RU.txt
|
|
cat $workdir/list/ip.lst | sed 's_.*_route & reject;_' > /etc/bird/ip.txt
|
|
cat $workdir/list/Meta.lst | sed 's_.*_route & reject;_' > /etc/bird/Meta.txt
|
|
cat $workdir/list/Google.lst | sed 's_.*_route & reject;_' > /etc/bird/Google.txt
|
|
cat $workdir/list/Microsoft.lst | sed 's_.*_route & reject;_' > /etc/bird/Microsoft.txt
|
|
cat $workdir/list/Telegram.lst | sed 's_.*_route & reject;_' > /etc/bird/Telegram.txt
|
|
cat $workdir/list/Facebook.lst | sed 's_.*_route & reject;_' > /etc/bird/Facebook.txt
|
|
/usr/sbin/birdc configure;
|
|
logger "BGP list reconfigured";
|
|
echo "Configure bird done"
|
|
echo $new > $workdir/md5.txt;
|
|
echo "New md5 write"
|
|
exit 0
|
|
fi
|
|
echo "MD5 not change"
|
|
echo "Bird not reconfigure"
|
|
exit 0
|