Initial commit

This commit is contained in:
2022-07-12 09:21:47 +05:00
commit 26631eab29
34 changed files with 812 additions and 0 deletions

62
README.md Normal file
View File

@@ -0,0 +1,62 @@
Порт генератора сервиса [АнтиЗапрет](https://antizapret.prostovpn.org/) для 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+
```sh
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'
```
2. Замените текущую установку dnsmasq на dnsmasq-full.
Изначальная версия не включает поддержку ipset в себя.
Если ваш провайдер использует DHCP, вам придется предварительно скачать пакет dnsmasq-full перед его удалением.
Вам необходимо указать параметр "conf-dir=/etc/dnsmasq.d" в файле /etc/dnsmasq.conf
3. Склонируйте git-репозиторий
4. Отредактируйте **config/config.sh**
5. Запустите **doall.sh**.