Skip to content

🌐 Улучшение работы интернета в России сайтах с помощью zapret и dnsmasq based static routing на роутерах Keenetic!

License

Notifications You must be signed in to change notification settings

GuFFy12/keenetic-bypass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keenetic Bypass

logo

Замечания

  • Этот код создан для изучения сетевых технологий. Он может быть полезен для улучшения работы интернета, но то, как вы его используете — ваш выбор. Автор ответственности не несет.

  • Конфигурация zapret протестирована и работает стабильно. Со временем настройки могут стать не актуальными, проверяйте актуальные методы в репозитории и обсуждениях zapret.

  • Настройка --dpi-desync-fooling=badsum в zapret может работать не корректно если роутер keenetic находится за другим nat. Как пример таким устройством может быть оптический терминал который преобразует сигнал из оптоволокна. В этом случае данное устройство нужно перевести в режим моста (bridge).

  • Статическая маршрутизация на основе dnsmasq требует времени для сбора IP-адресов доменов. В начале возможна нестабильность — просто обновите страницу пару раз что бы собрались возможные IP-адреса домена.

Требования

Шаги установки

1. Настройки в веб-панели Keenetic

  • В компонентах KeeneticOS нужно включить Kernel modules for Netfilter или Модули ядра подсистемы Netfilter.

  • Купите, настройте и включите туннель VPN или Proxy.

  • Настройте пользовательский 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
    

2. Установка необходимых компонентов

  • Выполните следующую команду:

    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

5. Конфигурация Dnsmasq Routing (/opt/dnsmasq_routing/dnsmasq_routing.conf)

  • Устройство отправляет 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 на роутере в качестве сервера для улучшения интернета

About

🌐 Улучшение работы интернета в России сайтах с помощью zapret и dnsmasq based static routing на роутерах Keenetic!

Resources

License

Stars

Watchers

Forks

Languages