卸载命令行与后台服务

按 macOS、Linux、OpenWrt 或 Windows 的安装方式移除程序,确认服务停止,并按需撤销云端设备权限。

先确认你是暂停使用,还是永久移除

只想临时不用某张网络,执行断开即可;想让旧电脑失去访问资格,在云端移除对应设备;想移除本机程序,才执行卸载。卸载、云端撤权和退款是不同操作,不会自动互相替代。

开始前核对这台设备是否承载子网网关或同时连接多张网络。卸载共用后台会影响这些连接。尤其是在外地通过网云连 SSH 到网关时,先准备现场或其他独立管理方式,否则卸载到一半可能失去后续操作通道。

本页默认保留账号、设备身份和配置,便于重装。准备转让或报废设备时,还应按云端设备与配置章节处理身份;不要自行把不认识的系统目录整棵删除。

本页适用于通过官网脚本、通用压缩包或 Windows 命令行 ZIP 安装的版本。卸载后台服务会断开这台设备的全部网云连连接;如果它是子网网关,经过它访问远端局域网的连接也会中断。请在本机或通过独立于网云连的 SSH、远程控制通道操作。

一键卸载:新旧版本都可使用

官网卸载入口独立于已安装的客户端版本,旧安装包没有卸载脚本时也可使用。默认保留账号、设备身份与配置,不自动删除云端设备。

macOS、Linux 与 OpenWrt

在本机终端或独立的 SSH 通道执行,Mac / Linux 按提示提供管理员权限;OpenWrt 使用 root:

curl -fsSL https://wangyunlian.com/install.sh | sh -s -- --uninstall

也可直接使用独立卸载入口:

curl -fsSL https://wangyunlian.com/uninstall.sh | sh

Windows 命令行版

打开“管理员 PowerShell”,执行官网卸载脚本,适用于 ARM64、x64 和 x86:

Invoke-RestMethod https://wangyunlian.com/uninstall.ps1 | Invoke-Expression

需要先查看脚本时,可在浏览器打开 Windows 卸载脚本或Unix 卸载脚本。新版安装包若带有卸载脚本,可直接在解压目录运行 sudo sh ./uninstall.sh(OpenWrt 去掉 sudo)或 .\uninstall.ps1;旧包使用官网命令或下文手动步骤。

只是临时断开?

无需卸载。使用 wangyunlian networks disconnect 网络ID 断开指定网络;在 Mac 和 Linux 上加 sudo。重连使用 wangyunlian networks connect 网络ID,账号、设备身份和其他网络配置保留。查看多网络操作。

macOS:卸载命令入口与系统服务

先从菜单栏退出网云连图形客户端,再打开“终端”执行。提示密码时输入这台 Mac 的管理员密码:

curl -fsSL https://wangyunlian.com/install.sh | sh -s -- --uninstall

安装器停止并移除 LaunchDaemon 和命令行二进制,保留已保存的账号与设备身份。图形客户端与命令行共用后台服务,移除后两者都不能组网;只想去掉图形界面时,退出应用后将“应用程序”中的网云连移到废纸篓即可,保留后台服务。

验证服务已移除:

sudo launchctl print system/com.too1.wangyunlian.agent

提示找不到该服务符合预期。若应用仍保留,重新打开它可能要求重新安装后台服务。重新安装 Mac 版本。

Linux:旧版本手动卸载

以下路径适用于官网一键脚本和 tar.gz 包。先查看服务的 ExecStart,应为 /usr/sbin/wangyunlian-agent;自行修改过安装目录或服务名时,按实际配置处理。

sudo systemctl cat wangyunlian-agent.service
sudo systemctl disable --now wangyunlian-agent.service
sudo rm -f /etc/systemd/system/wangyunlian-agent.service
sudo systemctl daemon-reload
sudo rm -f /usr/sbin/wangyunlian /usr/sbin/wangyunlian-agent

这些步骤保留 /etc/onevpn 与 /var/lib/onevpn 中的配置和设备身份。旧 Linux 安装包没有卸载参数时,使用官网一键卸载或本节手动步骤;不要把 --uninstall 传给旧包里的安装脚本。

检查结果:

systemctl is-active wangyunlian-agent.service
command -v wangyunlian

服务显示 inactive 或找不到,且命令路径没有输出,表示已停止服务并移除命令。若仍有路径输出,先核对是否为自己另装的副本。重新安装 Linux 版本。

OpenWrt:旧版本手动卸载

使用 root SSH 终端。先停止服务并取消开机启动:

/etc/init.d/wangyunlian stop
/etc/init.d/wangyunlian disable

通过 IPK 安装

先用 opkg list-installed | grep '^wangyunlian ' 确认包已登记。手动卸载前先将 UCI 设置备份到原有的私有身份目录,卸载后恢复;任何一步报错时先处理错误再继续:

cp -p /etc/config/onevpn /etc/onevpn/uci-uninstall-backup
opkg remove wangyunlian
cp -p /etc/onevpn/uci-uninstall-backup /etc/config/onevpn
rm -f /etc/onevpn/uci-uninstall-backup

通过一键脚本或通用 tar.gz 安装

这类安装没有登记为 opkg 或 apk 软件包,停止并禁用后移除程序文件:

rm -f /etc/init.d/wangyunlian
rm -f /usr/sbin/wangyunlian /usr/sbin/wangyunlian-agent

保留 /etc/config/onevpn 和 /etc/onevpn 中的设置。无需移除 kmod-tun、curl 等共享依赖,也不要清空路由器配置。验证 command -v wangyunlian 无输出,并在 LuCI 的启动项中确认网云连不再启用。重新安装 OpenWrt 版本。

Windows:旧版本手动卸载命令行版

Windows ARM64、x64 与 x86 使用相同步骤。在“管理员 PowerShell”运行下方脚本。它核对服务程序路径,只移除由 Program Files\WangYunLian CLI 提供的服务,并清理命令行文件、安装器添加的防火墙规则与系统 PATH 条目。

如果同时装有图形客户端,命令行可能复用图形客户端的服务;脚本保留该服务。要卸载图形客户端,请使用 Windows“设置 → 应用 → 已安装的应用 → 网云连 → 卸载”。

#Requires -Version 5.1
#Requires -RunAsAdministrator
$ErrorActionPreference = 'Stop'
$programFiles = $env:ProgramW6432
if (-not $programFiles) { $programFiles = $env:ProgramFiles }
$cli = Join-Path $programFiles 'WangYunLian CLI'
if ((Test-Path -LiteralPath $cli) -and ((Get-Item -LiteralPath $cli).Attributes -band [IO.FileAttributes]::ReparsePoint)) {
    throw '安装目录是链接,请核对真实目录后按手动教程处理。'
}
$agent = Join-Path $cli 'wangyunlian-agent.exe'
foreach ($name in @('WangYunLianAgent', 'OneVPNAgent')) {
    $service = Get-CimInstance Win32_Service -Filter "Name='$name'"
    if ($service -and $service.PathName.Trim('"') -eq $agent) {
        Stop-Service -Name $name -ErrorAction Stop
        (Get-Service $name).WaitForStatus('Stopped', [TimeSpan]::FromSeconds(30))
        & sc.exe delete $name
        if ($LASTEXITCODE -ne 0) { throw '服务未删除,请先处理错误再继续。' }
    } elseif ($service) {
        Write-Host ('保留其他安装提供的共享服务:' + $name)
    }
}
$rule = Get-NetFirewallRule -Name 'WangYunLianCLI-Agent-UDP' -ErrorAction SilentlyContinue
if ($rule) {
    $application = $rule | Get-NetFirewallApplicationFilter
    if ($application.Program -ne $agent) { throw '防火墙规则的程序路径不匹配,请人工核对。' }
    $rule | Remove-NetFirewallRule
}
$machinePath = [Environment]::GetEnvironmentVariable('Path', 'Machine')
$newPath = ($machinePath -split ';' | Where-Object { $_.TrimEnd('\') -ne $cli.TrimEnd('\') }) -join ';'
[Environment]::SetEnvironmentVariable('Path', $newPath, 'Machine')
foreach ($file in @('wangyunlian.exe', 'wangyunlian-agent.exe', 'wintun.dll', 'WINTUN-LICENSE.txt', 'uninstall.ps1')) {
    $path = Join-Path $cli $file
    if (Test-Path -LiteralPath $path) { Remove-Item -LiteralPath $path -ErrorAction Stop }
}
if ((Test-Path -LiteralPath $cli) -and -not (Get-ChildItem -LiteralPath $cli -Force)) { Remove-Item -LiteralPath $cli }
Write-Host '网云连命令行版已移除,账号、设备身份和配置已保留。请新开终端。'
Write-Host '不再使用的设备请在控制台逐网移除:https://wangyunlian.com/console/'

遇到文件占用或服务错误时先处理提示,再继续,不要强行删除正在运行的程序。脚本只删除已知程序文件;目录中有自己保存的文件时会保留目录。

关闭旧终端,新开 PowerShell,执行 Get-Command wangyunlian -ErrorAction SilentlyContinue,应不再指向命令行安装目录。仅安装命令行版时,Get-Service WangYunLianAgent,OneVPNAgent -ErrorAction SilentlyContinue 应不再列出由它提供的服务;共用的图形客户端服务仍可存在。

更早的 OneVPN 服务名称

早期包可能使用 onevpn-agent、onevpnctl 或 OneVPNAgent。官网一键卸载会识别这些官方旧名称;使用自定义目录或服务配置时会要求先人工核对。

早期 Linux 官方包可先查看 sudo systemctl cat onevpn-agent.service,确认 ExecStart 为 /usr/sbin/onevpn-agent 后执行:

sudo systemctl disable --now onevpn-agent.service
sudo rm -f /etc/systemd/system/onevpn-agent.service
sudo systemctl daemon-reload
sudo rm -f /usr/sbin/onevpnctl /usr/sbin/onevpn-agent

早期 Mac 的服务标签为 com.too1.onevpn.agent,官网卸载命令同时处理;旧 Windows 命令行服务名 OneVPNAgent 由上方脚本按程序路径核对。其他手动安装路径先查看原服务配置,停止对应服务后仅移除已核实的程序文件,保留身份与业务数据。

撤销云端设备与处理保留配置

  1. 不再使用这台设备时,打开控制台,在它加入的每张网络中找到设备并移除,撤销该网络的访问权限。多网络设备需要逐网处理;卸载本机程序不会自动删除云端记录。
  2. 上述卸载步骤保留本机账号与设备身份,方便重装。不要公开发送配置、设备身份文件或含令牌的安装命令。
  3. 准备转让或报废设备时,可在卸载前执行 wangyunlian logout(Mac / Linux 使用 sudo)退出账号,再撤销云端设备权限,并按组织的设备擦除流程处理本机数据。不要为了普通排障清空身份目录。

重新安装后可复用未撤销的配置;已在控制台移除的网络需要重新授权接入。卸载客户端不会关闭账号、取消套餐或触发退款,套餐相关操作见套餐与订单说明。

一键卸载前,确认当前操作位置

Mac 使用这台 Mac 的“终端”,普通 Linux 使用目标主机终端或独立 SSH,OpenWrt 使用路由器自己的 root SSH。Windows 命令行版使用目标电脑的管理员 PowerShell。不是在一台电脑执行就能远程清理所有设备。

官网卸载需要正常联网和相应下载工具;新版完整包也提供本地卸载入口。网络不可用时,根据实际安装方式使用本页手动步骤,并先核对服务程序路径。自行改过目录或服务名时,不能盲目照抄默认路径删除。

图形客户端与命令行共用后台时,先确定要保留什么

同一台电脑的 GUI 和 CLI 可能共用服务与身份。只是不再用命令行,不等于要移除图形客户端依赖的后台。官方脚本会检查已知服务路径;遇到自定义路径或共用服务提示,先读提示并核对,不强行继续。

Mac 只想删除图形界面,和移除共用系统服务是不同目标;Windows 图形版通过系统“已安装的应用”处理。选择实际安装方式对应的章节,不把本页所有系统命令都执行一遍。

卸载后的检查,分本机和云端两部分

本机确认程序入口不再指向已卸载位置、对应独立服务已停止。旧终端可能保留 PATH 或命令缓存,重新开终端检查。若仍有路径,核对是否为另一份自定义安装,不立即删除未知目录。

云端再看设备记录。程序移除后记录可能仍保留并最终显示离线;不再使用时,在它加入的每张网络逐一移除设备,撤销资格。只在一张网络移除,不会替你撤销其他网络。

curl、证书、ip-full、kmod-tun 等共享依赖可能被其他软件使用,不属于网云连专属文件。卸载无需把它们一并移除,尤其不要随意删除路由器内核模块、DNS 或基础网络包。

以后重新安装,怎样避免重复设备记录

保留身份且云端资格仍有效时,使用官方安装流程后检查原网络和设备 ID。已在云端撤销、退出成员或解散网络时,需要重新取得资格并接入。

重装不是还原任意系统改动的工具。之前改过固件、内核模块、防火墙或系统 DNS 时,按相应系统维护方式核对,不要以删除更多身份文件来尝试修复。

遇到这些情况,怎样继续?

卸载后控制台为什么还看得到设备?

卸载移除本机软件,云端记录和授权另行处理。确认停用后在相关网络移除设备;仍保留的离线记录不能证明卸载脚本没有运行。

只是换电脑,要解散整张网络吗?

不需要。确认旧设备停用后移除它,在新电脑安装并接入原网络。解散会影响其他全部成员和设备。

提示服务路径自定义,怎么办?

先保留提示并查看实际服务配置,确认属于哪份安装。由维护者据实处理,不绕过检查去删除其他软件或共享目录。

我希望清掉账号,只删桌面图标就行吗?

不是。图标只是启动入口。账号退出、后台卸载、云端撤权和设备转让时的身份处理各有步骤,请按相应章节选择。