Skip to content

VPN Kill Switch Простая программа на Python с графическим интерфейсом (Tkinter) для мониторинга VPN-интерфейсов и IP-адресов. Если VPN-соединение прерывается, программа автоматически блокирует интернет с помощью iptables. Также поддерживается мониторинг локальных IP-адресов и портов через netstat.

License

Notifications You must be signed in to change notification settings

Pavel-us/Kill_Switch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Kill Switch

Kill Switch — это программа для мониторинга VPN соединений и управления интернет-трафиком на основе статуса VPN интерфейсов. Она блокирует интернет-соединение при отключении выбранного VPN интерфейса, что позволяет защитить конфиденциальность и предотвратить утечку данных.

Основной принцип работы

Программа мониторит состояние выбранного VPN-интерфейса. Если VPN-соединение разрывается или отключается, Kill Switch автоматически блокирует интернет-соединение через правила iptables, обеспечивая защиту конфиденциальности и сохранение анонимности в сети. Программа предлагает интерфейс для управления активными процессами и программами, которые должны зависеть от активного VPN-соединения. Также поддерживается ручное или автоматическое обновление списка VPN-интерфейсов.

Основные функции

  • Мониторинг состояния VPN интерфейса.
  • Автоматическая блокировка интернет-соединения при отключении VPN.
  • Удобный графический интерфейс для управления процессами и VPN.
  • Поддержка ручного и автоматического обновления списка VPN-интерфейсов.
  • Возможность запуска с правами sudo для корректного применения правил iptables.

Зачем это нужно?

Когда VPN разрывается, ваша настоящая IP-адресация может быть раскрыта, что приведет к потере анонимности. Kill Switch предотвращает это, обеспечивая полную блокировку доступа к интернету при отсутствии VPN-соединения. Это важная функция для пользователей, которые ценят конфиденциальность и безопасность своих данных, особенно при использовании публичных или ненадежных сетей.

Зависимости

Для работы программы требуются следующие зависимости:

  • Python 3.7 или выше
  • tkinter (графический интерфейс)
  • iptables (для блокировки трафика)

Установка зависимостей для различных дистрибутивов Linux

Ubuntu/Debian (Linux Mint)

sudo apt update
sudo apt install python3 python3-tk iptables

Fedora

sudo dnf install python3 python3-tkinter iptables

Arch Linux

sudo pacman -S python tk iptables

Установка и запуск программы

  1. Клонирование репозитория:

    git clone https://github.com/Pavel-us/Kill_Switch.git
    cd Kill_Switch
  2. Создание и редактирование файла .desktop для удобного запуска программы:

    Создайте файл .desktop в директории ~/.local/share/applications/:

    nano ~/.local/share/applications/Kill_Switch.desktop

    Добавьте в файл следующие строки:

    [Desktop Entry]
    Version=1.0
    Name=Kill Switch
    Comment=Программа для управления VPN
    Exec=/path/to/run_kill_switch_with_env.sh
    Icon=/path/to/Kill_Switch.png
    Terminal=false
    Type=Application
    Categories=Utility;

    Обратите внимание: Замените /path/to/ на полный путь до вашего скрипта и иконки.

    Сделайте файлы .desktop и .sh исполняемым

    chmod +x  /.local/share/applications/Kill_Switch.desktop
    chmod +x  /path/to/run_kill_switch_with_env.sh
  3. Запуск программы:

    Для запуска программы используйте:

    ./run_kill_switch.sh

    Либо используйте созданный ярлык.

  4. Конфигурация прав доступа:

    Внесите следующие изменения в sudo для корректной работы без запроса пароля:

    Откройте файл для редактирования:

    sudo visudo

    Добавьте строку:

    user ALL=(ALL) NOPASSWD: /usr/bin/python3 /path/to/Kill_Switch.py

    Также добавьте:

    Defaults env_keep += "DISPLAY XAUTHORITY"

    Это позволит программе запускаться без запроса пароля с правами суперпользователя для изменения сетевых правил.

Как пользоваться

  1. Выбор VPN интерфейса: При запуске программы в главном окне можно выбрать VPN интерфейс, который будет мониториться на предмет активности. Выберете нужный интерфейс и запустите программу.

  2. Блокировка интернета: Если выбранный VPN интерфейс отключается, программа автоматически применяет правила iptables, блокируя доступ к интернету до восстановления VPN-соединения или нажатия кнопки "Остановить", а так же закрытия программы.

  3. Ручное обновление: Если программа не отображает список сетевых интерфейсрв и активных ip адресов то кнопка "Обновить" позволит вручную обновить список интерфейсов и ip.

Лицензия

Программа предоставляется под лицензией MIT. См. LICENSE для получения подробной информации.


About

VPN Kill Switch Простая программа на Python с графическим интерфейсом (Tkinter) для мониторинга VPN-интерфейсов и IP-адресов. Если VPN-соединение прерывается, программа автоматически блокирует интернет с помощью iptables. Также поддерживается мониторинг локальных IP-адресов и портов через netstat.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published