2.5 KiB
2.5 KiB
Redirector
Скрипт для:
- резолва доменов (с разных DNS)
- объединения IP / CIDR
- генерации routing-скрипта для policy routing
- дополнительно можно использовать секцию
[Blackhole]для блокировки нежелательных IP
Установка
git clone https://git.pikusone.ru/pikus/Redirector.git && cd Redirector
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
Конфиг
cp config.ini.example config.ini
[Redirector]
exclude_cloudflare = # Исключить адреса CloudFlare (yes, no)
filename = # Имя файла в котором списки ip, cidr и доменов
script = # Имя готового скрипта для применения политик
rollback_script = # Имя скрипта для отката изменений
threads = # Количество потоков для dns-резолва (50)
table = # Номер таблицы маршрутизации (1010)
priority = # Приоритет таблицы (ниже цифра - выше приоритет)
gateway = # IP шлюза на который направлять адреса (10.10.0.1)
interface = # Интерфейс на который направлять адреса (awg0)
run = # Команда которая выполнится после отработки скрипта, например путь до скрипта активации
- Можно добавить несколько секций конфигураций, например для реализации раздельного туннелирования.
Пример секции [Blackhole]
[Blackhole]
exclude_cloudflare = yes
filename = blackhole_list.txt
script = blackhole_ON.sh
rollback_script = blackhole_OFF.sh
threads = 50
table = 1001
priority = 10
run = /root/Redirector/blackhole_ON.sh
- Все домены и IP из файла
blackhole_list.txtбудут недоступны.
Входной файл
Поддерживает:
# комментарий
google.com
1.1.1.1
8.8.8.0/24
example.org
Запуск
- Обработать все секции в конфиге:
python redirector.py
- Или определённую секцию:
python redirector.py --env custom