-
Этот код создан для изучения сетевых технологий. Он может быть полезен для улучшения работы интернета, но то, как вы его используете — ваш выбор. Автор ответственности не несет.
-
Конфигурация zapret протестирована и работает стабильно. Со временем настройки могут стать не актуальными, проверяйте актуальные методы в репозитории и обсуждениях zapret.
-
Настройка
--dpi-desync-fooling=badsum
в zapret может работать не корректно если роутер keenetic находится за другим nat. Как пример таким устройством может быть оптический терминал который преобразует сигнал из оптоволокна. В этом случае данное устройство нужно перевести в режим моста (bridge). -
Статическая маршрутизация на основе dnsmasq требует времени для сбора IP-адресов доменов. В начале возможна нестабильность — просто обновите страницу пару раз что бы собрались возможные IP-адреса домена.
- Keenetic OS версии 4.0 или выше.
- Установленный Entware.
-
В компонентах KeeneticOS нужно включить
Kernel modules for Netfilter
илиМодули ядра подсистемы Netfilter
. -
Настройте пользовательский DNS-over-HTTPS (пример:
https://dns.google/dns-query
). -
Создайте записи DNS на адресе
192.168.1.1:5300
для доменов, к которым нужен доступ через туннель. -
Пример списка доменов:
chatgpt.com openai.com oaiusercontent.com github.com githubusercontent.com githubcopilot.com
-
Выполните следующую команду:
opkg update && opkg install curl && sh -c "$(curl -H 'Cache-Control: no-cache' --fail -L https://raw.githubusercontent.com/GuFFy12/keenetic-bypass/refs/heads/main/install.sh)"
3. Конфигурация Zapret (/opt/zapret/config
)
-
Переменная
IFACE_WAN
установлена автоматически на дефолтный интерфейсwan
, который использует внешний IP-адрес. Чтобы вручную получить его, выполните команду:ip route show default 0.0.0.0/0
-
Опционально обновите списки доменов
/opt/zapret/ipset/zapret-hosts-user.txt
и выполните команду:/opt/zapret/ipset/get_config.sh
4. Конфигурация Dnsmasq (/opt/dnsmasq_routing/dnsmasq.conf
)
-
Переменная
server
установлена автоматически на первый найденный127.0.0.1:port
, который используется для получения DNS записей. Чтобы вручную получить список DNS серверов, выполните команду:cat /tmp/ndnproxymain.stat
-
Устройство отправляет DNS-запрос на маршрутизатор, который с помощью dnsmasq возвращает IP-адрес и добавляет его в ipset. Все IP-адреса из ipset перенаправляются через туннель. Для работы системы важно, чтобы все DNS-запросы шли через маршрутизатор.
-
Переменные
INTERFACE
иINTERFACE_SUBNET
установлены в зависимости от вашего выбора во время установки. Чтобы вручную получить список интерфейсов выполните команду:ip -o -4 addr show
-
Опционально настройте следующие переменные:
KILL_SWITCH
- если установлено в1
, при отключении VPN или прокси трафик не будет направляться в сеть.IPSET_TABLE_SAVE
- если установлено в1
, таблица с IP-адресами будет сохранена при перезагрузке.IPSET_TABLE
- имя таблицы ipset.IPSET_TABLE_TIMEOUT
- тайм-аут для записей в таблице (0
для неограниченного времени).INTERFACE
- интерфейс выходного узла туннеля.INTERFACE_SUBNET
- подсеть интерфейса выходного узла туннеля.MARK
- маркер, используемый в iptables.
- Подробности: WireGuard VPN.