Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
vopono — 通过临时网络命名空间在VPN隧道中运行应用程序 | Kitploit
工具/GitHubGitHub/jamesmcm/vopono
网络安全隐私保护实用工具与框架
GitHubjamesmcm/vopono

vopono

通过临时网络命名空间在VPN隧道中运行应用程序

查看仓库
1.2k736小时30分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

vopono 标志

vopono 是一款通过临时网络命名空间在 VPN 隧道中运行应用程序的工具。 这使你可以只让少数几个应用程序同时通过不同的 VPN 运行,同时保持主连接 正常。

vopono 内置了针对 Wireguard 和 OpenVPN 的 killswitch(断网开关)。

目前直接支持 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,以便在端口刷新时运行命令。

** 有关通过 vopono sync 生成 OpenVPN 配置文件的身份验证说明,请参阅用户指南。你必须复制格式为 AUTH-xxx=yyy 的身份验证标头,其中 yyy 是你登录后在 Web 浏览器中同一请求的 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。请注意,你必须先在 vopono 之外使用 sudo warp-cli registration new 注册,然后使用 sudo warp-svc 和 sudo warp-cli connect 以及 sudo warp-cli debug connectivity-check disable 运行一次 - 然后在不运行 sudo warp-cli disconnect 的情况下终止 sudo warp-svc,这样它运行时会自动连接。 请先验证它可以正常工作,然后再尝试与 vopono 一起使用。

AirVPN 端口转发作为提供商的一项能力受支持,但转发的 端口目前必须在 AirVPN 的客户端区域中配置;vopono 不会 自动认领或切换 AirVPN 账户端口。

用法

设置 VPN 提供商配置文件:

root@kitploit:~
$ vopono sync

请注意,在创建和上传新的 Wireguard 密钥对后,可能需要稍作延迟 才能使用(例如在 Mullvad 上大约需要 30-60 秒)。

通过 AzireVPN Wireguard 连接运行 Firefox 到位于 挪威的服务器:

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

你应该以你自己的用户身份运行 vopono(不要使用 sudo),因为它会 在必要时处理权限提升。有关以 systemd 服务等方式运行的更多详细信息, 请参阅用户指南。

守护进程模式

为了获得更流畅的体验,请运行具有特权的 root 守护进程,并继续以你的普通用户身份使用 vopono。如果守护进程正在运行,CLI 会自动将 exec 请求转发给它。

  • 通过 systemd 在启动时启动一次:sudo systemctl enable --now vopono
  • 或手动以 root 身份运行:sudo vopono daemon
  • 显式的等效命令是 sudo vopono daemon start;使用 vopono daemon status --json 进行检查。
  • 然后以你的用户身份正常使用 vopono:vopono exec --provider mullvad --server se firefox

请参阅 USERGUIDE.md 获取可直接复制的 systemd 单元配置。

vopono 最多可以处理 255 个独立的网络命名空间(即不同的 VPN 服务器 连接 - 如果你的 VPN 提供商允许的话)。使用相同服务器前缀和 VPN 提供商的命令将共享同一个网络 命名空间。

默认配置选项可以保存在 ~/.config/vopono/config.toml 文件中,例如:

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

请注意,这些值区分大小写。

请参阅 vopono 用户指南 获取更详细的使用说明 (包括处理守护进程和服务器)。

安装

AUR(Arch Linux)

使用你喜欢的 AUR 助手安装 vopono-git 包。

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 在 Raspbian 上运行 OpenVPN 的截图:

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 在世界语中的发音。

如果你也会说世界语,请在 Rust 编程语言社区的 Discord 频道中找我。

贡献

除非你明确另行声明,否则你有意提交 以包含在本作品中的任何贡献,都将根据 GPLv3(或 更高版本)许可,不附加任何额外条款或条件。

非常感谢 NilsIrl 的 MozWire 对 MozillaVPN API 的研究。

下载工具