воскресенье, 3 апреля 2016 г.

hosts > squid ban

  Править файл hosts, тем более на каждой машине очень трудоемки процесс. Даже если копировать\вставить. Почему бы не автоматизировать?
  Мой скрипт скачивает с нескольких сайтов текст вида:
127.0.0.1 ad.mail.ru
...
В таком виде squid его не поймет - ip ему без надобности. Избавляемся от лишнего.
Потом уже есть готовые шаблоны блокировки - используем и их.
С смартфона так же взят файл hosts - AdAway в этом изначально помогал.
Сортируем, чистим от повторов и отправляем обратно, squid
...
ad.mail.ru
mob.beeline.ru
cdp.beeline.ru
mbsrv.ru
...



#!/bin/bash
wget -qO- http://www.mvps.org/winhelp2002/hosts.txt| sed 's/0.0.0.0/127.0.0.1/g' |grep "^127.0.0.1" > /tmp/hosts.txt
wget -qO- http://www.malwaredomainlist.com/hostslist/hosts.txt|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://hosts-file.net/.\ad_servers.txt"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://adaway.org/hosts.txt"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://sysctl.org/cameleon/hosts.win"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://jazz.tvtom.pl/download/hosts"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://www.malekal.com/HOSTS_filtre/HOSTS.txt"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://blog.ksx4system.net/wp-content/uploads/blocklista.txt"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://someonewhocares.org/hosts/hosts"|grep "^127.0.0.1" >> /tmp/hosts.txt
wget -qO- "http://www.malwaredomainlist.com/hostslist/hosts.txt"|grep "^127.0.0.1" >> /tmp/hosts.txt

#
rm /tmp/hosts0.txt
rm /tmp/hosts1.txt
rm /tmp/hosts11.txt
rm /tmp/hosts2.txt
# скопировать с xbmc файл с доменными именами
# который правили руками:
scp xbmc@192.168.0.157:/opt/squid/etc/blacklist_domain /tmp/hosts0.txt
# объеденить 2 файла в один:
cat /tmp/hosts.txt >> /tmp/hosts1.txt
cat /tmp/hostsroot.txt >> /tmp/hosts1.txt
# удалить в начале каждой строки, если имеется "127.0.0.1":
#sed 's/^..........//' /tmp/hosts1.txt >> /tmp/hosts2.txt
cat /tmp/hosts1.txt | sed 's/^[127.0.0.1\t]*//' >> /tmp/hosts2.txt
# удалить пробел в начале каждой строки, если имеется:
cat /tmp/hosts2.txt | sed 's/^[ \t]*//' >> /tmp/hosts11.txt
# sort 11.txt | uniq - ТОЛЬКО в таком порядке
# сперва сортируем, потом убираем дубли, и осталяем уникальные строки:
sort /tmp/hosts11.txt | uniq -i > /tmp/hosts3.txt
#
#uniq -d /tmp/hosts3.txt > /tmp/hosts4.txt
#uniq -u /tmp/hosts3.txt >> /hosts4.txt
#sort /tmp/hosts4.txt > /tmp/hosts5.txt
sleep 1
# скопировать обратно, для squid:
scp /tmp/hosts3.txt xbmc@192.168.0.157:/opt/squid/etc/blacklist_domain

Комментариев нет:

Отправить комментарий

h265.sh

#!/bin/bash file="../mp4" if [ -d $file ]; then         echo "  Директория существует :-) "         for i in *.mp4; do f...