From 54b4b5925d70ef9cc5c8f128b3d47526f23526df Mon Sep 17 00:00:00 2001 From: Dmitriy Lyalyuev Date: Thu, 1 Aug 2024 12:29:28 +0300 Subject: [PATCH] readme --- Readme.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 Readme.md diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..c34fe2b --- /dev/null +++ b/Readme.md @@ -0,0 +1,63 @@ +Этот скрипт предназначен для добавления статических маршрутов на роутер Keenetic с использованием нотации CIDR. Он загружает список CIDR-блоков из указанного URL, объединяет их с заранее определенным списком пользовательских CIDR-блоков и добавляет их в таблицу маршрутизации роутера. Скрипт использует базовую аутентификацию для безопасного доступа к роутеру. + +## Требования + +* Python 3.x +* Библиотеки urllib и base64 (входят в стандартную библиотеку) +* Переменные окружения для настройки + +## Переменные окружения + +Перед запуском скрипта убедитесь, что установлены следующие переменные окружения: + +* KEENETIC_USERNAME: Имя пользователя для роутера Keenetic (по умолчанию: admin) +* KEENETIC_PASSWORD: Пароль для роутера Keenetic (обязательно) +* KEENETIC_HOST: IP-адрес роутера Keenetic (по умолчанию: 192.168.0.1) +* KEENETIC_INTERFACE: Сетевая интерфейс для использования (по умолчанию: Proxy0) + +## Пользовательский список CIDR + +Скрипт включает заранее определенный список CIDR-блоков для YouTube. Вы можете изменить этот список в переменной CUSTOM_CIDR_LIST. + +```python +CUSTOM_CIDR_LIST = [ + "64.18.0.0/20", + "64.233.160.0/19", + "66.102.0.0/20", + "66.249.80.0/20", + "72.14.192.0/18", + "74.125.0.0/16", + "173.194.0.0/16", + "207.126.144.0/20", + "209.85.128.0/17", + "216.58.208.0/20", + "216.239.32.0/19", + "213.0.0.0/8", +] +``` + +## Функции + +* cidr_to_netmask(cidr): Преобразует нотацию CIDR в маску подсети. +* fetch_cidr_list(url): Загружает список CIDR-блоков из указанного URL. +* add_route_to_keenetic(ip, netmask, gateway, username, password): Добавляет маршрут на роутер Keenetic. +* add_routes_to_keenetic(routes, gateway, username, password, max_retries=3): Добавляет несколько маршрутов с логикой повторных попыток. +* main(): Основная функция, которая управляет загрузкой и добавлением маршрутов. + +## Использование + +Чтобы запустить скрипт, выполните следующую команду в терминале: + +```bash +python3 update_routes.py +``` + +## Пример + +Чтобы использовать скрипт, установите необходимые переменные окружения и запустите его. Скрипт выведет статус добавления каждого маршрута: + +```text +Маршрут 64.18.0.0 с маской 255.255.240.0 успешно добавлен. +Маршрут 64.233.160.0 с маской 255.255.224.0 успешно добавлен. +... +```