Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
vopono — Запускайте приложения через VPN-туннели с временными сетевыми пространствами имён | Kitploit
Инструменты/GitHubGitHub/jamesmcm/vopono
Сетевая безопасностьКонфиденциальностьУтилиты и фреймворки
GitHubjamesmcm/vopono

vopono

Запускайте приложения через VPN-туннели с временными сетевыми пространствами имён

Репозиторий
1.2k7318 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Логотип vopono

vopono — это инструмент для запуска приложений через VPN-туннели с помощью временных сетевых пространств имён (network namespaces). Это позволяет запускать лишь несколько приложений через разные VPN одновременно, оставляя основное соединение без изменений.

vopono включает встроенные аварийные выключатели (killswitches) для Wireguard и OpenVPN.

В настоящее время напрямую поддерживаются Mullvad, AzireVPN, MozillaVPN, ProtonVPN, iVPN, NordVPN, AirVPN и PrivateInternetAccess, а также поддерживаются пользовательские конфигурационные файлы с аргументом --custom. Также поддерживается Cloudflare Warp.

Для пользовательских соединений также поддерживаются протоколы OpenConnect и OpenFortiVPN (например, для корпоративных VPN). Подробнее см. в Руководстве пользователя vopono.

Скриншот

Скриншот, показывающий пример с firefox, google-chrome-stable и lynx, работающими через разные VPN-соединения:

Скриншот

Поддерживаемые провайдеры

ПровайдерПоддержка OpenVPNПоддержка Wireguard
Mullvad❌✅
AzireVPN❌✅
iVPN✅✅
PrivateInternetAccess✅✅*
ProtonVPN✅**✅***
MozillaVPN❌✅
NordVPN✅❌
AirVPN✅❌
Cloudflare Warp****❌❌
Свой сервер (--custom)✅✅

* Переадресация портов поддерживается с опцией --port-forwarding и --port-forwarding-callback для выполнения команды при обновлении порта.

** См. Руководство пользователя для инструкций по аутентификации при генерации конфигурационных файлов OpenVPN через vopono sync. Вам необходимо скопировать заголовок аутентификации вида AUTH-xxx=yyy, где yyy — значение заголовка x-pm-uid в том же запросе при входе в систему в веб-браузере.

*** Для ProtonVPN вы можете сгенерировать и загрузить определённые конфигурационные файлы Wireguard и использовать их как пользовательский конфиг провайдера. Подробности см. в Руководстве пользователя. Переадресация портов поддерживается с аргументом --port-forwarding как для OpenVPN, так и для Wireguard. Обратите внимание: при использовании пользовательского конфига с Wireguard необходимо указать реализацию переадресации портов с помощью --custom-port-forwarding (например, --provider custom --custom xxx.conf --protocol wireguard --custom-port-forwarding protonvpn). Должен быть установлен natpmpc. Для OpenVPN необходимо сгенерировать конфигурационные файлы OpenVPN, добавив +pmp к вашему имени пользователя OpenVPN, и выбрать серверы, поддерживающие эту функцию (например, на момент написания это серверы в Румынии). Назначенный порт выводится в терминал, где был запущен vopono — затем его следует указать в приложениях, которым это требуется. Порт также можно передать пользовательскому скрипту, который будет выполнен внутри сетевого пространства имён, через аргумент --port-forwarding-callback.

**** Cloudflare Warp использует собственный протокол. Установите и провайдера, и протокол как warp. Обратите внимание: сначала необходимо зарегистрироваться с помощью sudo warp-cli registration new, затем запустить один раз sudo warp-svc и sudo warp-cli connect и sudo warp-cli debug connectivity-check disable вне vopono — затем завершите sudo warp-svc без выполнения sudo warp-cli disconnect, чтобы он автоматически подключался при запуске. Пожалуйста, сначала убедитесь, что это работает, прежде чем пробовать с vopono.

Использование

Настройка конфигурационных файлов VPN-провайдера:

root@kitploit:~
$ vopono sync

Обратите внимание: при создании и загрузке новых пар ключей Wireguard может быть небольшая задержка до их активации (около 30-60 секунд, например, на Mullvad).

Запуск Firefox через Wireguard-соединение AzireVPN к серверу в Норвегии:

root@kitploit:~
$ vopono exec --provider azirevpn --server norway firefox

Запускайте vopono от имени своего пользователя (не через sudo), так как он сам обработает повышение привилегий при необходимости. Подробнее о запуске в качестве systemd-сервиса и т.д. см. в Руководстве пользователя.

Режим демона

Для более плавной работы запустите привилегированный корневой демон и продолжайте использовать vopono как обычный пользователь. CLI автоматически перенаправляет запросы exec демону, если он запущен.

  • Запуск один раз при загрузке через systemd: sudo systemctl enable --now vopono
  • Или запустите вручную от root: sudo vopono daemon
  • Затем используйте vopono как обычно от пользователя: vopono exec --provider mullvad --server se firefox

См. USERGUIDE.md для готового к копированию модуля systemd.

vopono может обрабатывать до 255 отдельных сетевых пространств имён (т.е. разных VPN-соединений с серверами, если ваш провайдер это позволяет). Команды, запущенные с одинаковым префиксом сервера и провайдером VPN, будут использовать одно и то же сетевое пространство имён.

Параметры конфигурации по умолчанию можно сохранить в файле ~/.config/vopono/config.toml, например:

root@kitploit:~
firewall = "NfTables"
provider = "Mullvad"
protocol = "Wireguard"
server = "usa-us22"

Обратите внимание: значения чувствительны к регистру.

Подробные инструкции по использованию (включая работу с демонами и серверами) см. в Руководстве пользователя vopono.

Установка

AUR (Arch Linux)

Установите пакет vopono-git с помощью вашего любимого AUR-помощника.

root@kitploit:~
$ paru -S vopono-git
$ vopono sync

В качестве альтернативы используйте пакет vopono-bin, если не хотите компилировать из исходников.

Raspberry Pi (Raspbian)

Загрузите и установите пакет vopono_x.y.z_armhf.deb со страницы релизов:

root@kitploit:~
$ sudo dpkg -i vopono_0.2.1_armhf.deb

Вам потребуется установить OpenVPN (доступен в репозиториях Raspbian):

root@kitploit:~
$ sudo apt install openvpn

Затем вы можете использовать vopono, как описано выше (обратите внимание, что бинарник Chromium называется chromium-browser):

root@kitploit:~
$ vopono sync --protocol openvpn protonvpn
$ vopono exec --provider protonvpn --server sweden chromium-browser

Скриншот vopono с OpenVPN на Raspbian:

Скриншот Raspbian

Обратите внимание: Wireguard отсутствует в репозиториях Raspbian, поэтому его установка нетривиальна. Вы можете следовать этому руководству, но учтите, что необходимо установить не только Wireguard и wireguard-tools для наличия wg, но и linux-headers, чтобы всё работало корректно (т.е. чтобы при попытке установить соединение не возникали ошибки Protocol not supported).

Ознакомьтесь с Руководством пользователя для получения информации о переадресации портов и использовании vopono с демонами и серверами, если вы хотите использовать Raspberry Pi для запуска privoxy или transmission-daemon и т.п.

Debian + Ubuntu

Установите deb-пакет, предоставленный на странице релизов.

Fedora + OpenSUSE

Установите rpm-пакет, предоставленный на странице релизов (выберите правильную версию).

Gentoo Linux

Установите vopono из основного репозитория.

root@kitploit:~
$ emerge -av net-vpn/vopono

Другие дистрибутивы Linux

Используйте скомпилированные бинарники со страницы релизов или установите из исходников с помощью Cargo, как описано ниже.

Из этого репозитория (с помощью Cargo)

Запустите предоставленный скрипт установки: install.sh — он выполнит cargo install репозитория и скопирует конфигурационные файлы в ~/.config/vopono/

Обратите внимание: минимальная поддерживаемая версия Rust — 1.85 (требуется для edition 2024). Вы можете проверить свою версию командой:

root@kitploit:~
$ rustc --version

Известные проблемы

  • При запуске нового приложения в существующем пространстве имён vopono любые изменения правил брандмауэра (т.е. перенаправление и открытие портов) не будут применены (они используются только при создании пространства имён). То же самое касается переадресации портов.
  • Учётные данные OpenVPN всегда хранятся в открытом виде в конфигурации — возможно, будет добавлена опция для их несохранения, но похоже, OpenVPN требует их в открытом виде.
  • Нет простого способа удалить устройства MozillaVPN (пары ключей Wireguard) — в отличие от Mullvad, это нельзя сделать на веб-странице. Рекомендую использовать MozWire для управления этим.
  • gnome-terminal не будет работать в сетевом пространстве имён из-за модели клиент-сервер — см. issue #48
  • Переадресация портов из сетевого пространства имён на хост (например, для запуска transmission-daemon) работает некорректно, когда vopono запущен от root — см. issue #84

Лицензия

vopono лицензирован под GPL версии 3.0 (или выше), см. файл LICENSE или https://www.gnu.org/licenses/gpl-3.0.en.html

Этимология

vopono — это произношение букв VPN на эсперанто.

Se vi ankaŭ parolas Esperanton, bonvolu serĉi min en la kanalo de Discord de Rust Programming Language Community.

Вклад

Если явно не указано иное, любой вклад, намеренно предоставленный для включения в работу вами, будет лицензирован под GPLv3 (или выше) без каких-либо дополнительных условий.

Огромное спасибо NilsIrl за MozWire за исследование API MozillaVPN.

Скачать инструмент