Skip to content

prony5/antizapret

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

antizapret

Инструкция по настройки роутера с OpenWrt для обхода блокировок.
Все DNS запросы идут через HTTPS (DOH).
Роутер перенаправляет запросы (на адреса из списка) через VPN.


1. Установка DNS HTTPS Proxy

Можно через ssh: https://openwrt.org/docs/guide-user/services/dns/doh_dnsmasq_https-dns-proxy
Для LiCI можно через интерфейс (System->Software) https-dns-proxy

2. Установка OpenVPN

Можно через ssh: https://openwrt.org/docs/guide-user/services/vpn/openvpn/client
Для LiCI можно через интерфейс (System->Software) luci-app-openvpn

Файлы конфигурации .OVPN можно найти на (https://www.vpngate.net/en/)

Файл конфигурации .OVPN должен содержать строку route-noexec, для того чтобы не создавать маршрутизацию по умолчанию через vpn при подключении

3. Настройка OpenVPN через интерфейс

Применяем настройки фаервола:

uci commit firewall && /etc/init.d/firewall restart

4. Настраиваем перенаправление заблокированных адресов

Создаем файл /etc/pro-route/hosts для хранения хостов, которые нужно перенаправлять на vpn

185.167.98.127  # rutracker.org
45.132.105.85   # rutracker.org

104.20.42.23    # 4pda.ru
104.20.41.23    # 4pda.ru

kinobase.org
kinokrad.co
kinokrad.net
kinokong.ws
kinokong.cc
hdrezka.ag
hdrezka.cm
rezka.ag

Создаем скрипт /etc/pro-route/apply.sh (добавлет статический маршрут для адресов из файла hosts)

#!/bin/bash

iface="$1"
[ -z "$iface" ] && exit

logger -t pro-route "Add custom routes for '$iface'"

input="/etc/pro-route/hosts"

while IFS= read -r line
do
  host=$(echo $line | awk -F# '{print $1}')
  [ -z "$host" ] && continue

  route add $host $iface
  logger -t pro-route "Make route for '$host'"
done < "$input"

Даем права на запуск скрипта /etc/pro-route/apply.sh

chmod +x /etc/pro-route/apply.sh

Добавляем код в /etc/openvpn.user. Скрипт будет выполнятся каждый раз при запуске интерфейса (т.к. при разрыве vpn соединения маршруты сбрасываются).

[ "$ACTION" = "up" ] && /bin/sh /etc/pro-route/apply.sh tun0

5. Настраиваем автопереподключение к vpn

Соединение с vpn может быть установлено, но маршруты не пробрасываться, по этому проверяем через доступ к тестовому ресурсу. Так же проверяем шлюз, через который идет соединение, т.к. провайдер может подменять заблокированный ресурс на заглушку.

Создаем скрипт /etc/pro-route/check.sh

#!/bin/bash
log(){
        echo $1
        logger -t pro-route $1
}

host="$1"
gate="$2"
if [ -z "$host" ] || [ -z "$gate" ]
then
        log "Bad params."
        exit
fi

success=False
i=1
while [ $i -le 3 ]
do
        log "Checking vpn connecton by host '$host' ($i)."
        res=$(/bin/traceroute $host -m 3 -w 3)

        if [[ "$res" = *"$gate"* ]]
        then
                success=True
                log "Success"
                break
        else
                log "Fail"
        fi

        sleep 3
        i=$((i+1))
done

if [ $success = False ]
then
        log "Restart vpn"
        /etc/init.d/openvpn restart
fi

Даем права на запуск скрипта /etc/pro-route/check.sh

chmod +x /etc/pro-route/check.sh

Добавляем срипт в планировщик

*/10 * * * * /bin/sh /etc/pro-route/check.sh rutracker.org vpngate

About

Инструкция по настройкироутера с OpenWrt для обхода блокировок

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages