3.3 KiB
Этот скрипт предназначен для добавления статических маршрутов на роутер 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.
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(): Основная функция, которая управляет загрузкой и добавлением маршрутов.
Использование
Чтобы запустить скрипт, выполните следующую команду в терминале:
python3 update_routes.py
Пример
Чтобы использовать скрипт, установите необходимые переменные окружения и запустите его. Скрипт выведет статус добавления каждого маршрута:
Маршрут 64.18.0.0 с маской 255.255.240.0 успешно добавлен.
Маршрут 64.233.160.0 с маской 255.255.224.0 успешно добавлен.
...