Windscribe为Linux提供两款应用:图形界面应用和命令行应用。图形界面应用需要桌面环境,因此在无头或仅有终端的机器上,请使用Linux CLI应用。本指南将介绍安装、登录、连接,以及其余设置的配置位置。
Linux CLI命令使用windscribe-cli这个名称(带-cli后缀),例如windscribe-cli login和windscribe-cli connect。
开始之前
- 一个Windscribe账户。你需要有Windscribe账户。Free账户每月包含2 GB流量,确认邮箱地址后可增加到每月10 GB。Free账户可以连接免费位置。此外还有Pro和Build-a-Plan付费方案可供选择。
- 适合你环境的应用。Linux GUI应用需要桌面环境,无法在仅有终端的无头环境中运行。服务器和无头机器请使用Linux CLI应用。
- 受支持的发行版。Windscribe为多个发行版提供Linux CLI版本。请在下载页面下载与你的发行版和架构相匹配的CLI版本。
下载与安装
GUI应用和CLI应用均可从Windscribe下载页面获取。Windscribe是开源的,源代码和发布文件都发布在GitHub上。
如果用于无头环境,请下载与你的发行版和架构相匹配的Linux CLI版本。
Debian/Ubuntu
AMD64:
curl -L https://windscribe.com/install/desktop/linux_deb_x64_cli -o windscribe.deb sudo apt install ./windscribe.deb
ARM64:
curl -L https://windscribe.com/install/desktop/linux_deb_arm64_cli -o windscribe.deb sudo apt install ./windscribe.deb
其他发行版
适用于Fedora/CentOS、Arch和openSUSE的Linux CLI版本可在下载页面获取。下载对应你发行版的版本,然后用该发行版的包管理器安装。
登录并连接
请以普通用户身份运行windscribe-cli命令。唯一需要sudo的步骤是上面的软件包安装。
使用你的Windscribe账户登录:
windscribe-cli login
连接到VPN:
windscribe-cli connect
查看连接状态:
windscribe-cli status
验证你的连接
连接之后,值得确认一下流量是否真的通过VPN转发。状态显示为Connected是个好迹象,但仅凭这一点还不足以证明。先运行:
windscribe-cli status
除了连接状态和城市之外,status还会显示你的协议和端口、防火墙状态以及流量使用情况,后者便于关注Free方案的每月额度。有两个标记值得了解:Connected前面出现星号表示隧道测试仍在进行,而出现关于网络干扰的提示则表示测试发现了值得排查的问题。
要在无头机器上做一次独立验证,可以确认你的公网IP地址是否已经改变。在连接前后分别查询一个IP查询服务,无需浏览器即可完成:
curl ifconfig.me
如果连接期间返回的地址显示的是你选择的位置,而不是你的真实位置,说明流量正在通过隧道传输。比起听我们说,我们更希望你自己验证一遍。
DNS也值得留意。默认情况下,连接期间我们会把DNS请求转发到自己的服务器,R.O.B.E.R.T.过滤正是在这里生效的。如果你在配置文件中设置了自定义DNS服务器,请确认解析你查询的是这台服务器,而不是你的运营商。
切换位置
单独运行windscribe-cli connect会重新连接到你上次使用的位置,或者由应用替你选择一个。要查看可连接位置的完整列表:
windscribe-cli locations
位置以Region - City - Nickname的格式列出。你可以使用城市名、昵称、地区名或两位国家代码来连接,匹配时不区分大小写。
windscribe-cli connect "Toronto" windscribe-cli connect CA
让应用根据延迟自动为你选择服务器:
windscribe-cli connect best
查看你的收藏位置,包括已固定的IP:
windscribe-cli locations fav
随时断开VPN连接:
windscribe-cli disconnect
更改协议和端口
Linux CLI应用支持WireGuard、UDP和TCP模式的OpenVPN、Stealth以及WStunnel。IKEv2在Windows和macOS应用中可用,但Linux上不支持。Stealth和WStunnel速度较慢,主要适用于限制严格的网络。要更换协议,在位置后面加上协议名称:
windscribe-cli connect best wireguard windscribe-cli connect "Toronto" stealth
协议名称不区分大小写。要指定端口连接,在协议后面用冒号加上端口号:
windscribe-cli connect best udp:443
列出某个协议可用的端口:
windscribe-cli ports wireguard
如果你输入了不可用的端口,应用会回退到该协议的默认端口。
开启或关闭防火墙
防火墙会阻止VPN隧道之外的流量,有助于在连接中断时防止泄漏。开启或关闭:
windscribe-cli firewall on windscribe-cli firewall off
在通过SSH管理的机器上使用防火墙时要小心。如果防火墙已开启而VPN未连接,它会连同其他流量一起阻断你的SSH会话。如果你是通过本地网络连接的,下面的AllowLANTraffic选项可以放行本地流量。
使用windscribe-cli logout退出登录会断开VPN并关闭防火墙。如果想退出登录但保持防火墙开启:
windscribe-cli logout on
在配置文件中配置功能
Linux CLI应用会从配置文件中读取设置:
~/.config/Windscribe/windscribe_cli.conf
该文件中的值区分大小写,必须与允许的取值完全一致。如果取值不匹配,应用会改用默认值。编辑文件后,应用你的更改:
windscribe-cli preferences reload
允许LAN流量
让本地网络中的设备在VPN和防火墙开启时仍能访问这台机器。如果你从同一网络SSH登录无头机器,就需要启用这个设置:
[Connection] AllowLANTraffic=true
启动时自动连接
在Windscribe服务启动时自动连接VPN:
[Connection] Autoconnect=true
自定义DNS
默认情况下,应用在连接期间使用Windscribe的DNS,R.O.B.E.R.T.过滤正是依此生效。若要使用其他DNS服务器,请将模式切换为Custom并设置上游地址。上游地址可以填普通IP,也可以填DNS-over-HTTPS/TLS的URL:
[Connection] ConnectedDNSMode=Custom ConnectedDNSUpstream1=1.1.1.1
分割隧道
分割隧道可以让特定应用或网段走VPN隧道内部或外部。Exclude模式会把你列出的内容之外的所有流量都发送到VPN。Include模式则只把你列出的内容发送到VPN:
[Connection] SplitTunnelingEnabled=true SplitTunnelingMode=Exclude SplitTunnelingApps=/usr/bin/curl SplitTunnelingRoutes=192.168.1.0/24
应用条目是可执行文件的完整路径,用逗号分隔。不存在的路径会被静默跳过,所以如果某个应用表现不符合预期,请仔细核对路径。
代理网关
你可以把VPN连接作为HTTP或SOCKS代理,共享给网络中的其他设备:
[Connection] ShareProxyGatewayEnabled=true ShareProxyGatewayMode=HTTP ShareProxyGatewayPort=8888
将ShareProxyGatewayMode设置为HTTP或SOCKS,并选择1024到65535之间的任意端口。
完整的可用选项列表,请参阅Linux CLI配置文件参考。
其他实用命令
在同一台服务器上获取新的IP地址,部分方案在连接期间可用:
windscribe-cli ip rotate
检查并安装应用更新:
windscribe-cli update
把调试日志发送给Windscribe支持团队,在排查无头机器问题时很方便:
windscribe-cli logs send
R.O.B.E.R.T.
R.O.B.E.R.T.是Windscribe的域名拦截功能。规则不能通过CLI管理,而是在My Account中设置。自定义规则的数量取决于你的方案:
- Free:最多3条自定义规则
- Build-a-Plan:最多10条自定义规则
- Pro:最多1000条自定义规则
故障排查
出现问题时,CLI会把错误输出到终端,并返回退出码1而不是0,这样脚本就能区分成功与失败。下面是几条比较常见的提示:
Aborting: app did not start in time
CLI无法启动它所依赖的后台服务。稍等片刻后再运行一次命令。如果问题反复出现,请检查windscribe-helper服务是否正在运行。
Aborting: IPC communication error
命令执行到一半时,CLI与后台服务之间的连接断开了。这通常是暂时性的,重新运行一次命令即可。在VPN开启时刚修改防火墙或LAN设置后也可能出现,稍等一会儿再试。
Firewall set to always on
防火墙处于Always On模式,无法从CLI关闭。该模式在桌面应用中设置,所以如果需要关闭,只能在那里更改。在无头机器上,除非之前在装有图形界面应用的系统上设置过这个偏好,否则一般不会遇到。
WireGuard adapter setup failed
这通常说明网络适配器的设置出了问题。在你排查原因期间,切换到UDP或TCP等其他协议往往就能连上:
windscribe-cli connect best udp
如果以上情况都不符合,请把调试日志发给我们的支持团队,让他们看看:
windscribe-cli logs send
获取帮助
要查看CLI支持的全部命令以及每条命令的简短说明,请运行:
windscribe-cli --help
如果需要分步教程和常见问题的解答,接下来可以看看我们的知识库:windscribe.com/knowledge-base。
卸载
如果需要卸载CLI应用,请使用你所在发行版的包管理器。软件包名为windscribe-cli。
Debian/Ubuntu
删除软件包:
sudo apt remove windscribe-cli
如果还想清除系统配置,请改用purge:
sudo apt purge windscribe-cli
其他发行版
在Fedora/CentOS、Arch或openSUSE上,请用包管理器删除windscribe-cli软件包,例如dnf remove、pacman -R或zypper remove。
你的个人设置保存在包管理器不会触碰的独立配置目录中。如果也想一并删除,请删掉这个目录:
rm -r ~/.config/Windscribe
常见问题
无头服务器需要哪个Windscribe应用?


Free方案能使用CLI吗?


是否每条命令都要用sudo运行?


我应该使用哪种协议?


为什么windscribe-cli locations没有任何输出?


如果账户启用了双因素认证,该怎么登录?


如何让Windscribe在开机时自动连接?


loginctl enable-linger <username>