Skip to content

dntsk/antifilter_keenetic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Этот скрипт предназначен для автоматического добавления статических маршрутов на роутер 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

Скрипт включает предопределенный список 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 существует на вашем роутере.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages