月神云 - 全终端加速服务

Clash Verge Rev 端口怎么修改?3步改混合端口并排查占用

更新于 2026-11-14 · moontoday.store

简答:Clash Verge Rev 修改端口,通常进入“设置→Clash 设置”,找到“混合端口(Mixed Port)”并改成未被占用的端口,保存后重启或重新开启系统代理。改完必须检查新端口是否处于 LISTENING 状态,并同步浏览器、终端或其他应用中的代理地址;修改端口本身不会提升速度。

定义:Clash Verge Rev 端口是客户端在本机监听代理流量的 TCP 端口,其中 Mixed Port 可同时接收 HTTP 与 SOCKS5 代理请求。

先试这一步:确认你要改的是代理端口,不是外部控制端口

如果你只是想让浏览器、终端或其他应用连接到 Clash Verge Rev,应优先修改“混合端口(Mixed Port)”。项目代码将 verge_mixed_port、verge_socks_port、verge_port 分开保存,说明它们分别对应不同的代理入口;“External Controller”或“外部控制”则用于控制接口,不是普通网页代理端口。参考项目配置代码:Clash Verge Rev 配置结构。

常见端口字段怎么选
界面或配置项用途普通用户是否优先修改
Mixed Port/混合端口同一个端口同时接受 HTTP 与 SOCKS5 代理连接是,通常先改这一项
HTTP Port/HTTP 端口只提供 HTTP 代理入口只有应用明确要求 HTTP 时再改
SOCKS Port/SOCKS 端口只提供 SOCKS5 代理入口只有应用明确要求 SOCKS5 时再改
External Controller/外部控制供控制面板或 API 操作内核不要把它当作浏览器代理端口

默认值可能随客户端版本、配置覆盖或系统平台变化。项目文档曾以 7897 作为默认代理端口示例,项目代码也保留了混合端口覆盖字段,因此请以你当前设置页实际显示的值为准,而不要机械套用 7897。参考:项目 FAQ:代理端口占用排查。

第1步:先备份,再查新端口是否被占用

修改前先关闭系统代理,保留当前配置。若使用 Windows,可先复制配置目录:

Copy-Item "$env:APPDATA\io.github.clash-verge-rev.clash-verge-rev" "$env:USERPROFILE\Desktop\clash-verge-rev-backup" -Recurse -Force

如果提示路径不存在,说明当前版本可能使用了不同的数据目录;不要强行创建空目录,应在客户端“设置”中查找“配置目录”,或先用以下命令确认:

Test-Path "$env:APPDATA\io.github.clash-verge-rev.clash-verge-rev"

返回 True 表示目录存在。需要恢复时,退出客户端后将备份目录内容复制回原目录;恢复前再次备份现有目录。

选择端口时可使用一个未监听的高位端口,例如 10000 至 60000 范围内的端口,但不能只凭数字判断是否可用,必须实际检查。

Windows:检查端口占用

Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Format-Table LocalAddress,LocalPort,OwningProcess

预期结果是看到监听地址、端口和进程号。只检查某个候选端口时:

Get-NetTCPConnection -LocalPort 7897 -ErrorAction SilentlyContinue

没有输出通常表示该端口当前没有 TCP 监听;有输出则说明端口已被进程占用。也可以使用:

netstat -ano | findstr LISTENING | findstr :7897

如果出现 Access is denied,请用管理员身份打开 PowerShell 或命令提示符。拿到 PID 后查询程序:

Get-Process -Id 1234

其中 1234 替换为实际 PID。不要直接结束陌生进程;若确认是你自己的旧代理程序,可先正常退出。撤销排查动作不需要改系统设置,关闭命令窗口即可。

macOS:检查端口占用

lsof -nP -iTCP:7897 -sTCP:LISTEN

有输出表示端口被占用;没有输出表示没有发现 TCP 监听。若提示权限不足,可使用:

sudo lsof -nP -iTCP:7897 -sTCP:LISTEN

输入管理员密码后,重点看 COMMAND、PID 和 NAME。不建议直接执行结束进程命令;先退出对应应用,再重新检查。

Linux:检查端口占用

ss -ltnp | grep ':7897'

没有输出表示没有匹配到监听端口;有输出时查看进程名称和 PID。部分发行版没有完整进程信息,可改用:

sudo lsof -nP -iTCP:7897 -sTCP:LISTEN

ss: command not found 表示系统未安装对应工具,不代表端口空闲,应改用 lsof 或系统软件包管理器安装检查工具。

第2步:在设置页修改 Mixed Port 并保存

  1. 打开 Clash Verge Rev,进入左侧“设置”或“Settings”,再打开“Clash 设置”或相近的内核设置页面。不同版本可能显示为“Clash Settings”,菜单名称以当前界面为准。

  2. 找到“混合端口”“Mixed Port”或同义字段,将原端口改为刚才确认未被占用的数字,例如 10080。不要把端口写成 127.0.0.1:10080,端口输入框通常只接受数字。

  3. 点击保存,等待内核重新加载;如果页面没有明显的保存按钮,可先切换到其他设置页,再回到当前页面确认数值是否保留。随后关闭并重新打开系统代理,必要时重启客户端。

项目配置结构中同时存在 mixed-port、port、socks-port 和外部控制字段,因此不要为了修改普通代理端口去改配置文件里的 external-controller。Mihomo 文档也将 Mixed 类型定义为同时接受 HTTP 与 SOCKS 代理的入口,可参考:Mihomo 配置示例。

如果出现英文报错 Failed to save settings,先不要反复点击保存。确认端口是纯数字、没有被占用,并完全退出客户端后重新打开。项目曾有端口保存提示失败但实际保存成功的公开问题记录,涉及 Windows、Linux 和 macOS 的 2.4.2、2.4.3;因此应重新打开设置页核对实际值,而不是只看提示文字。参考:项目讨论区 Issue:修改端口提示 Failed to save settings。

若修改后确实没有保存,可恢复第1步的备份。不要直接删除整个配置目录,因为这可能导致配置、日志或已导入的资料一并丢失。

第3步:验证监听、系统代理和其他应用是否都改到新端口

修改完成后,验证必须分三层进行:客户端是否监听、系统代理是否指向新端口、具体应用是否仍使用旧端口。

1. 验证客户端监听新端口

假设新端口为 10080,Windows 执行:

netstat -ano | findstr LISTENING | findstr :10080

macOS 执行:

lsof -nP -iTCP:10080 -sTCP:LISTEN

Linux 执行:

ss -ltnp | grep ':10080'

可复现的判定标准是:至少看到本机地址和 10080 处于监听状态。若仍只看到旧端口,说明设置没有生效、内核没有重载,或其他配置覆盖了界面设置。

2. 验证系统代理

在客户端首页或系统代理设置中,确认代理地址仍是 127.0.0.1 或 localhost,端口已经变为 10080。项目界面代码会根据当前混合端口计算系统代理地址,端口变化后系统代理可能需要关闭再开启一次才能刷新。参考:项目系统代理界面代码。

如果你手动设置过浏览器、Git、终端或其他应用代理,也必须逐个把旧端口改为新端口。例如终端环境变量可以检查:

echo $HTTP_PROXY
 echo $HTTPS_PROXY
 echo $ALL_PROXY

Windows PowerShell 可执行:

Get-ChildItem Env:HTTP_PROXY,HTTPS_PROXY,ALL_PROXY

发现仍指向旧端口时,更新应用设置;不需要手动代理的应用则关闭其独立代理设置,避免与系统代理冲突。

3. 验证应用请求并排查旧端口残留

先打开一个普通网页或应用请求,再回到客户端连接记录、日志或流量页面查看是否有新的请求记录。若浏览器仍提示 Proxy connection failed、ERR_PROXY_CONNECTION_FAILED 或 connection refused,按以下顺序排查:

  • 确认客户端内核正在运行,并且新端口处于 LISTENING。
  • 确认系统代理地址是 127.0.0.1:新端口,不是旧端口。
  • 确认浏览器或终端没有单独写死旧端口。
  • 确认改的是 Mixed Port,而不是 External Controller。
  • 临时关闭 TUN、独立代理软件或其他可能占用端口的程序,再复测。
  • 若保存提示异常,关闭客户端后重新打开设置页,确认数值是否实际保留。

改端口只改变本机代理入口,不会直接降低延迟、提升带宽或改变节点质量。若新端口监听正常、应用也指向新端口,但连接仍慢,应继续检查节点延迟、丢包、DNS、MTU 或规则命中情况,而不是继续更换端口。

Windows、macOS、Linux 的差异与局域网共享注意事项

Windows 通常可用 PowerShell 的 Get-NetTCPConnection 或 netstat 检查;macOS 主要使用 lsof;Linux 可用 ss 或 lsof。这些命令只负责查看监听状态,不会自动释放端口。释放端口应优先退出占用它的应用,避免误杀系统进程。

如果只是本机使用,代理地址一般填写 127.0.0.1 或 localhost。如果要让同一局域网的另一台设备连接,除了启用允许局域网连接,还要填写运行客户端电脑的局域网 IP 和新端口,例如 192.168.1.20:10080。这时还需检查防火墙规则、Wi-Fi 是否处于同一局域网,以及客户端是否监听局域网地址;仅修改 Mixed Port 并不会自动开放局域网访问。

局域网共享存在暴露代理入口的风险。没有明确需求时保持仅本机监听更稳妥;需要共享时,只允许可信局域网设备访问,并在使用结束后关闭允许局域网连接。具体菜单名称和默认监听地址可能随版本变化,需以当前版本设置页为准。

常见问题

Clash Verge Rev 默认端口是不是 7897?

很多配置或项目文档示例会使用 7897,但默认值可能受客户端版本、系统平台和配置覆盖影响。应以当前设置页实际显示的 Mixed Port 为准,不能只凭文章中的端口号判断。

修改 Mixed Port 后需要修改订阅链接吗?

通常不需要。Mixed Port 是本机代理监听端口,订阅地址和远端节点端口属于不同概念。只有浏览器、终端或其他应用手动写死了旧本机端口时,才需要同步修改。

修改端口会让网络速度变快吗?

不会。修改端口主要用于避开端口冲突或适配应用连接方式,不会直接改变节点线路、延迟、丢包或带宽。速度问题应继续检查节点、DNS、MTU 和网络质量。

为什么改了端口,浏览器仍然显示代理连接失败?

先确认新端口处于 LISTENING,再检查系统代理是否已经从旧端口切换到新端口。浏览器若配置了独立代理,还要单独更新或关闭该设置;同时确认客户端内核正在运行。

可以直接修改配置文件里的端口吗?

可以作为高级排查手段,但应先备份配置,并确认字段属于代理入口而不是外部控制。普通用户优先使用设置页修改 Mixed Port;不同版本字段覆盖关系可能不同,无法确认时应以当前版本界面和配置实际内容为准。

相关阅读

参考资料

  1. Clash Verge Rev 配置结构
  2. Clash Verge Rev 项目 FAQ:代理端口占用排查
  3. Mihomo 配置示例
  4. [BUG] 修改端口提示failed to save settings · Issue #4707