/antizapret-openwrt

Порт генератора сервиса АнтиЗапрет для OpenWrt

Primary LanguageAwk

Порт генератора сервиса АнтиЗапрет для OpenWrt

Генератор dnsmasq.conf файла для указания на использование ipset

Данный набор скриптов создает файл dnsmasq.conf со списком сайтов, заблокированных на территории Российской Федерации Роскомнадзором и другими государственными органами, который можно использовать внутри роутера для автоматического тунеллирования заблокированных ресурсов.

Помимо основного назначения скрипта (генерации dnsmasq.conf), он также умеет создавать:

  • Файл клиентской конфигурации (client-config, CCD) с заблокированными диапазонами IP-адресов для OpenVPN;
  • Файл с заблокированными доменными зонами для Squid;
  • Файл с заблокированными доменными зонами в LUA-переменной, для использования с DNS-резолвером knot-resolver.

Зависимости

  • dnsmasq-full
  • Bash
  • cURL
  • GNU iconv
  • GNU coreutils-stat
  • GNU grep
  • GNU gawk (gawk)
  • sipcalc
  • idn
  • Python 3.6+
  • dnspython 2.0.0+
opkg install bash curl iconv coreutils-stat grep gawk sipcalc idn python3 python3-pip
pip install dnspython

Конфигурационные файлы

  • {in,ex}clude-{hosts,ips}-dist — конфигурация дистрибутива, предназначена для изменения автором репозитория;
  • {in,ex}clude-{hosts,ips}-custom — пользовательская конфигурация, предназначена для изменения конечным пользователем скрипта;
  • exclude-regexp-dist.awk — файл с различным заблокированным «мусором», раздувающим PAC-файл: зеркалами сайтов, неработающими сайтами, и т.д.
  • config.sh — файл с адресами прокси и прочей конфигурацией.

Установка и запуск

  1. Используйте инструкции схожего проекта на https://habr.com/ru/post/440030/ Данный репозиторий лишь дополняет его для использования альтернативного сервиса и метода маршрутизации. Не устанавливайте /etc/init.d/hirkn или запускайте его.

    В секции про "Ну и последнее — это формирование списков в iptables с помощью ipset:" Замените конфигурацию на:

config ipset
        option name 'vpn_ipsum'
        option storage 'hash'
        option match 'dst_ip'
        option hashsize '5000000'
        option maxelem '5000000'
  1. Замените текущую установку dnsmasq на dnsmasq-full. Изначальная версия не включает поддержку ipset в себя. Если ваш провайдер использует DHCP, вам придется предварительно скачать пакет dnsmasq-full перед его удалением. Вам необходимо указать параметр "conf-dir=/etc/dnsmasq.d" в файле /etc/dnsmasq.conf
  2. Склонируйте git-репозиторий
  3. Отредактируйте config/config.sh
  4. Запустите doall.sh.