суббота, 31 августа 2013 г.

Парсер списка запрещеных сайтов Роскомнадзора


Надоела  уже порядком эта заглушка =).

Нет, я не собираюсь покупать курительные смеси или смотреть детское порно xD. Но все прекрасно знают какие люди работают в этой организации. Блокировать они горазды. А вот вернуть доступ к сайту, к которому больше нет претензий, для них непосильная задача.

Играться с прокси серверами, расширениями для браузера или ходить по анонимайзерам мне было лень. Поэтому хотел инструмент, который раз настроишь и забыл.

Последовательность действий такая:
1. Настраиваем OpenVpn подключение к какому нибудь буржуйскуму серверу.
2. Получаем список заблокированных ресурсов.
3. Парсим его, извлекая  нужные нам IP.
4. Прописываем маршруты.

Первый пункт описывать тут не стану. С этим нет проблем. Остальное решается с помощью вот такого скрипта
#!/bin/sh
file=/etc/openvpn/black_ip.list
dmp=/tmp/dump.csv 
tmp=/tmp/black_ip.tmp
gw=tun1
dadr="rutor.org nnm-club.me nnm-club.info"

wget -q https://www.assembla.com/code/z-i/git/nodes/master/dump.csv?_format=raw -O $dmp

grep -oE '\b[0-9]{1,3}(\.[0-9]{1,3}){3}\b' $dmp |sort -u   > $tmp
for i in $dadr 
 do
 nslookup $i | grep Addr | grep -v 127.0.0.1 | awk {'print$2'} >> $tmp
done

grep -Fvf $file $tmp >> $file

if [ -n "`ip rule | grep "lookup 10"`" ]; 
then 
 echo "Table 10 exists" 
else 
 echo "Table 10 missing. Create..."
 ip rule add pref 10   from all lookup 10
fi

ip route flush cache
ip route flush table 10

awk {'print$1'}  $file | while read i;  
 do  
ip route add to $i/32 dev tun1 table 10 > /dev/null 2>&1
done  
  
Итак. Список получаем с https://www.assembla.com/code/z-i/git/nodes/master/dump.csv?_format=raw. Парсим его, вытаскивая IP. И прописываем маршруты. Готово. Можем заходить и выбирать дурь на заблокированные ресурсы.

Список достаточно быстро обновляется. Можно кинуть скрипт в крон.

UPD. В конфиг OpenVpn добавим

 script-security 2  
 up /путь/к_скрипту  

и предыдущий скрипт будет запускаться сам, как только появится подключение к OpenVpn.

2 комментария:

  1. А почему не весь трафик завернул?

    ОтветитьУдалить
  2. А зачем?? Впн во первых не дает 25-30мбит, как по тарифу, во вторых торренты. Ну и видео тяжело смотреть.

    ОтветитьУдалить