没有图形界面的 Linux、macOS 或 Windows,使用官方命令行程序 vilanet-cli。它是单个静态文件,用 VilaVPN 账号登录,不导入订阅链接。整机连接用 TUN。
1. 下载对应的包
从 发布页或 cli.vilavpn.com 下载。在中国大陆若 GitHub 打不开,用 cli.vilavpn.com 上的镜像选择。Linux 或 macOS 不确定架构时运行 uname -m:x86_64 是 AMD64,arm64 或 aarch64 是 ARM64。
| 系统 | 处理器 | 文件名结尾 |
|---|---|---|
| Linux | Intel/AMD 64 位 | linux_amd64.tar.gz |
| Linux | ARM 64 位 | linux_arm64.tar.gz |
| Linux | ARMv7 | linux_armv7.tar.gz |
| macOS | Apple 芯片 | darwin_arm64.tar.gz |
| macOS | Intel | darwin_amd64.tar.gz |
| Windows | Intel/AMD 64 位 | windows_amd64.zip |
| Windows | ARM 64 位 | windows_arm64.zip |
2. 安装
Linux:解压下载的归档,然后:
sudo install -m 0755 vilanet-cli /usr/local/bin/
sudo setcap 'cap_net_admin,cap_net_bind_service+eip' /usr/local/bin/vilanet-cli
macOS:解压后同样 sudo install -m 0755 vilanet-cli /usr/local/bin/。全设备 TUN 需要 sudo。只做本地代理时不必 sudo。
Windows:解压 ZIP。只从 Wintun 官网下载 Wintun,把匹配的 wintun.dll 放在 vilanet-cli.exe 旁边。用管理员身份打开 PowerShell,进入该文件夹。第一次请在前台运行,不必先装 Windows 服务。
确认安装:Linux 或 macOS 运行 vilanet-cli version;Windows 运行 .\vilanet-cli.exe version。应输出版本号而不是报错。
3. 登录、选节点并连接
不要把密码写进命令、截图或工单。login 会提示输入,不会进 shell 历史。
vilanet-cli login --email [email protected]
vilanet-cli list packages
vilanet-cli list servers
vilanet-cli connect --country HK
登录成功后,凭据加密保存在这台设备上。没有系统钥匙串的无头服务器会改用加密文件,SSH 登录也可以。日常不要加 --insecure-store。可按国家筛选,例如 vilanet-cli list servers --country HK。把 HK 换成您要的国家代码。
macOS 上若 TUN 需要权限,在 connect 前加 sudo。Windows 在已提权的 PowerShell 里运行。前台命令要保持运行,Ctrl+C 停止。未设置默认套餐时,connect 使用第一个仍有剩余流量的套餐。单次换套餐可加 --package,ID 来自 list packages。图形版桌面应用见 我该用哪个应用。桌面版在 Ubuntu 上因 GLIBC 打不开时,用这个命令行程序,见 Linux 安装。
连到了用完流量或不是要的套餐
vilanet-cli list packages查看 ID 和名称。若连接用了 sudo,这里也用 sudo。vilanet-cli settings set selected_package <套餐ID>- 再执行
vilanet-cli connect --country HK。也可以vilanet-cli connect --package <套餐ID> --country HK。
login 和 connect 必须是同一个用户:都加 sudo,或都不加。否则读不到账号或刚设置的套餐。查看当前默认:vilanet-cli settings get selected_package。更多套餐说明见 切换套餐。
怎样确认已经连上
- 前台:保持那个终端不要关,确认进程还在。再打开 IP 检测页,公网 IP 应与平时的运营商 IP 不同。前台这次连接不要用
status来判断。 - Linux 或 macOS 的后台:另一个终端运行
vilanet-cli status。egress_ip就是出口公网 IP。健康检查没能确认、状态为 running-unverified 时,这一行仍可能出现;在中国这很常见,不代表出口一定不可用。若egress_ip为空,过几秒再查一次。 - Windows 前台:
disconnect、status和switch控制不了这个前台进程。用还开着的窗口和 IP 检测页确认,停止时按Ctrl+C。
断开和退出
Linux 或 macOS 上,停止后台连接:vilanet-cli disconnect。只是断开时不必 logout。vilanet-cli logout 会删除已保存的凭据和缓存的账号数据。
本地代理方式默认不修改系统代理。只有同时使用不开 TUN 的本地代理,并加上 --system-proxy,才会在连接期间设置系统代理,断开时恢复原来的设置。整机 TUN 不需要这个参数。
常见报错
command not found:程序不在 PATH 上,或改到解压目录里运行。- 退出码
2:检查邮箱和密码,再login。 - 退出码
4:先登录;若因为重复请求被限流,等一会儿再试。 - 退出码
5:用所需的管理员权限再跑;Linux 上把上面的setcap再做一次。 no daemon active:后台没在跑。先vilanet-cli connect(会把它拉起来),再查 status。这是 Linux/macOS 后台,不是 Windows 前台。- 已经有一个 daemon:用正在跑的那个,或先
disconnect再启动。 - 节点 ID 找不到:ID 过期或输错。重新
list servers,用当前列表里的值。 - 钥匙串不可用(
the OS keyring is unavailable on this build或Specified keyring backend not available):这是旧程序。从发布页换新的文件后再login。不要把密码写进命令。 - Windows 报 Wintun:确认官方
wintun.dll就在vilanet-cli.exe旁边。 - Windows 没有
vilanet-cli update。从发布页下载新的压缩包,替换旧程序。
vilanet-cli update 要从 GitHub 下载,机器离线或访问不了 GitHub 时会失败。连不上的时候不要把 update 当第一步。需要新程序时,从 cli.vilavpn.com 或发布页下载,覆盖旧文件并保持可执行,再运行 vilanet-cli version。
仍然不行?
运行 vilanet-cli logs --follow,先安全断开,把删掉敏感内容的片段发给客服。不要把整个配置目录发出去,里面可能有加密凭据和连接信息。也可以 提交工单。连接失败的下一步见 无法连接。文档:VilaNet CLI。