在 Linux 上安装 VpnHood! CLIENT
只需一条命令即可安装应用:在桌面环境中提供窗口,在任何环境中都提供一组命令,因此也能在没有屏幕的机器上运行。
准备工作
- 从服务器运营者处获取的访问密钥,因为 VpnHood! CLIENT 本身不提供服务器。
- 请确认您的机器满足 Linux 系统要求。
安装
运行此命令,并回答它唯一的问题:VPN 服务是否开机自启。它会为您的处理器选择合适的版本。
sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood/releases/latest/download/VpnHoodClient-linux.sh)"它会安装 VPN 服务和 vhclient 命令。在有桌面环境的机器上,它还会将 VpnHood! CLIENT 添加到应用程序菜单。
连接
在桌面环境中,从应用程序菜单打开 VpnHood! CLIENT,添加您的访问密钥并连接。
在终端中,或在没有桌面环境的机器上,添加您的访问密钥,连接并检查连接状态:
vhclient profile add 'vh:...'vhclient connectvhclient statusvhclient profile add 也接受包含密钥的文件路径。如有多个配置方案,请选择用于连接的方案:vhclient profile set-default。
命令
任何管理员都可以在终端中直接运行这些命令,无需 sudo。vhclient --help 会列出所有命令,vhclient connect --help 则说明单个命令的用法。
| 命令 | 作用说明 |
|---|---|
vhclient connect | 连接并等待结果。--location 用于选择位置,名称以 vhclient locations 列出的为准。
|
vhclient disconnect | 断开连接。服务会继续运行。 |
vhclient status | 显示连接状态以及即将进行的更新。--watch 会持续输出这些信息。
|
vhclient locations | 列出您可以连接的服务器位置。 |
vhclient profile list | 列出您的配置方案,并标记用于连接的那一个。 |
vhclient profile add | 通过访问密钥或包含访问密钥的文件添加配置方案。 |
vhclient profile remove | 删除配置方案。 |
vhclient profile set-default | 选择 vhclient connect 使用的配置方案。
|
vhclient ui | 打开应用窗口。 |
vhclient service status | 显示服务是否正在运行。 |
vhclient service log | 显示服务日志。-f 会持续跟踪日志。
|
vhclient service restart | 重启服务,这会断开 VPN 连接。需要输入您的密码。 |
开机时连接
启用始终开启功能后,VPN 会在电脑启动时、任何人登录之前自动连接。服务器无法访问时,它会不断重试,每次等待的时间更长。在您断开连接、其他 VPN 应用接管或服务器拒绝连接时,它会停止。您可以在应用的设置中开启,或使用此命令:
vhclient always-on on断网保护
断网保护只允许流量通过 VPN 隧道,即使遇到错误、崩溃或重启也是如此。使用 until-disconnect 时,阻断会在您断开连接时结束;使用 lockdown 时,断开连接后阻断仍会保持:
vhclient kill-switch until-disconnect要解除阻断,请运行 vhclient kill-switch off。如果服务已停止,请配合 sudo 运行。
更新
应用会自动更新:开机时以及每 12 小时,它会检查新版本并下载,在 VPN 断开时安装。您可以在应用设置的“自动更新”中关闭此功能。以下命令会立即安装新版本,即使已关闭更新也是如此,安装期间 VPN 会断开:
vhclient update安装程序选项
用于脚本或没有桌面环境的机器时,请将这些选项添加到安装命令中闭合括号之后:
| 选项 | 作用说明 |
|---|---|
-q | 不提示任何问题。新安装默认开机自启并自动更新;更新时保留您之前的选择。 |
-noautostart | 不在开机时启动服务。 |
-noautoupdate | 不自动更新应用。 |
-autoupdate | 在使用 -noautoupdate 后,恢复自动更新应用。
|
-nodesktop | 仅安装服务和命令:不添加菜单项,也不安装窗口所需的库。 |
-desktop | 即使未检测到桌面环境,也安装菜单项和窗口所需的库。 |
-help | 列出所有选项。 |
示例:不提示问题,也不安装桌面组件:
sudo su -c "bash <( wget -qO- https://github.com/vpnhood/VpnHood/releases/latest/download/VpnHoodClient-linux.sh) -q -nodesktop"卸载
在应用程序菜单中右键单击 VpnHood! CLIENT 并选择 Uninstall,或运行此命令:
sudo /opt/VpnHoodClient/vhuninstall它会将您的设置保留在 /opt/VpnHoodClient/storage 中,方便日后重新安装。添加 -purge 可同时删除这些设置。
遇到问题时
| 您看到的现象 | 解决方法 |
|---|---|
The VpnHoodClient service is not running.
| 运行 sudo vhclient service start,然后查看 vhclient service log。
|
| 点击菜单项没有反应 | 在终端中运行 vhclient ui 查看原因。这通常是因为使用 -nodesktop 安装后缺少某个库。
|
| 窗口提示只有管理员才能使用此应用 | 将您的账户添加到 sudo 组(如果系统使用 wheel 组,则添加到该组),然后重新登录。
|
| 应用提示另一个 VPN 应用已接管 | 同一时间只能有一个基于 VpnHood! 构建的应用保持连接,因此连接另一个应用时,此应用会断开。即使启用了始终开启功能,它也会保持断开,直到您再次连接。 |
Could not set the VPN's DNS servers.
| 运行 sudo systemctl enable --now systemd-resolved,然后按消息提示将 /etc/resolv.conf 链接到 /run/systemd/resolve/stub-resolv.conf。
|
The kill switch needs nftables (nft), which is not installed.
| 安装 nftables 软件包,或关闭断网保护。
|
| 已连接,但无法加载任何内容 | 查看 vhclient service log -n 100。
|
The VPN cannot use its interface name
| 另一个 VPN 已占用名为 VpnHoodClient 的接口,消息中会说明它属于谁。请停止该 VPN;如果该 VPN 已卸载但接口仍然残留,请运行 sudo ip link delete VpnHoodClient。
|