Этот скрипт предназначен для автоматического добавления статических маршрутов на роутер Keenetic. Он загружает список CIDR-блоков с сайта antifilter.download, объединяет их с предопределенным списком пользовательских CIDR-блоков и добавляет их в таблицу маршрутизации роутера через SSH-соединение.
- Python 3.x
Убедитесь, что у вас установлен Python 3.x. Если нет, скачайте и установите его с официального сайта Python.
Установите необходимые библиотеки с помощью pip:
pip install -r requirements.txt
Скачайте скрипт и сохраните его в файл, например update_routes.py.
Перед запуском скрипта убедитесь, что установлены следующие переменные окружения:
- KEENETIC_USERNAME: Имя пользователя для роутера Keenetic (по умолчанию: admin)
- KEENETIC_PASSWORD: Пароль для роутера Keenetic (обязательно)
- KEENETIC_HOST: IP-адрес роутера Keenetic (по умолчанию: 192.168.0.1)
- KEENETIC_PORT: SSH-порт роутера Keenetic (по умолчанию: 22)
- KEENETIC_INTERFACE: Интерфейс, через который отправлять трафик (по умолчанию: Wireguard0)
Скрипт включает предопределенный список CIDR-блоков для YouTube. Вы можете изменить этот список в переменной CUSTOM_CIDR_LIST.
Чтобы запустить скрипт, выполните следующую команду в терминале:
python3 update_routes.py
- Скрипт загружает список CIDR-блоков из указанного URL.
- Объединяет загруженный список с пользовательским списком CIDR-блоков.
- Преобразует CIDR-нотацию в IP-адреса и маски подсети.
- Устанавливает SSH-соединение с роутером Keenetic.
- Для каждого маршрута:
- Удаляет существующий маршрут (если есть).
- Добавляет новый маршрут.
- В случае ошибки "Channel closed" повторяет попытку выполнения команды до 3 раз.
Скрипт включает обработку ошибок для следующих ситуаций:
- Ошибки при загрузке CIDR-списка
- Ошибки при подключении к роутеру
- Ошибки при выполнении SSH-команд
- Повторные попытки при ошибке "Channel closed"
Убедитесь, что у вас есть необходимые права доступа к роутеру Keenetic для выполнения команд по SSH. Также проверьте, что указанный интерфейс KEENTIC_INTERFACE существует на вашем роутере.