适用场景
设备上是以前用 install-service --name default 这类命令安装的旧版服务(每条隧道一个服务实例)。新设备请直接看 命令行客户端入门。
新版不会自动接管或覆盖旧版服务,两者的命令不能混用。
前置条件
- 知道旧服务的实例名。大多数是
default,如果当初自定义过,下文的default都要换成你的实例名。 - 管理员权限:Windows 用管理员 PowerShell,Linux/macOS 用
sudo。 - 下文的
wyc-client换成旧版程序的实际路径。
操作步骤
第 1 步:确认是不是旧版
| 对比 | 旧版 | 新版 |
|---|---|---|
| 安装命令 | install-service --name,需要令牌 |
install,不需要令牌 |
| 多条隧道 | 每条一个服务 | 一个服务管多条 |
| 启停命令 | start-service --name default |
start 123 |
| 官网设备管理 | 不支持 | 支持 |
系统里的旧版服务名:Windows WYCClient-default,Linux wyc-client@default.service,macOS net.wangyunchuan.wyc-client.default。
第 2 步:查看状态和日志
wyc-client status --name default
wyc-client logs --name default --lines 100
wyc-client logs --name default --follow
成功后会看到:服务状态、配置文件和日志路径。--follow 按 Ctrl+C 只退出查看。
检查连接是否正常(配置路径从 status 里复制):
wyc-client doctor --config <配置路径>
第 3 步:启动、停止、重启
wyc-client stop-service --name default
wyc-client start-service --name default
wyc-client restart-service --name default
第 4 步:升级旧版
用下载页提供的兼容版本,在新解压的目录里执行:
wyc-client upgrade-service
升级会让该程序下的所有旧实例短暂断开。升级后逐个检查实例状态和外网访问。
第 5 步:换成新版(推荐的顺序)
- 记下每条隧道的名称、内网地址和访问地址。
- 最好在另一台设备上安装新版:Windows、Linux、macOS。
- 停止旧实例(
stop-service --name default),在新版里add并start同一条隧道。 - 外网测试通过后,再卸载旧实例。
只能用同一台设备时,先卸载并清除旧实例(见第 6 步),再安装新版,中间会断开一段时间。
成功后会看到:新版里隧道已连接,外网访问正常。
第 6 步:卸载旧实例
wyc-client uninstall-service --name default
wyc-client uninstall-service --name default --purge
第一条删除服务但保留配置;第二条同时清除这个实例的配置和数据。核对实例名,别误删还在用的其他实例。Windows 建议用单独解压出来的程序执行。
成功检查
- 维护后目标实例状态正确,外网访问正常。
- 换新后只有新版在运行这条隧道,其他未迁移的旧实例不受影响。
常见错误
| 现象 | 怎么办 |
|---|---|
| 新版安装提示检测到旧版服务 | 这是保护措施,按第 5、6 步处理旧实例,不要手动删文件 |
status 看不到旧实例 |
加上 --name 实例名,并使用旧版程序 |
| 重新安装后旧配置还在 | 普通卸载会保留配置,要清除用 --purge |
| 想用旧版抢回已换到新版的隧道 | 不支持,需在官网切换运行设备,见 更换运行设备 |