Clash 启动报错?修改 7890 端口解决 address already in use

#端口冲突#系统排障#Windows
阅读需 4 分钟||

如果你在启动软件时,发现节点界面不出现,且日志中报出红色的 bind: address already in use 错误,这意味着你的网络端口发生了冲突。

冲突是怎么产生的?

大多数基于 Clash 的客户端都会在本地开启一个混合代理服务,默认监听在 TCP 端口 7890 上。 如果你的电脑在此之前已经运行了其他的代理软件,或者某个冷门本地服务恰好也霸占了 7890 端口,客户端就会因为“抢不到大门”而启动失败。这不能归咎于 机场订阅,而是纯粹的本地环境故障。

解决方案一:找出并杀掉占用进程 (Windows 平台)

如果你希望保持 7890 端口不变:

  1. 以管理员身份运行 CMD(命令提示符)。
  2. 输入 netstat -ano | findstr :7890,回车。
  3. 观察最后一列的数字,这就是该进程的 PID(例如 10582)。
  4. 输入 taskkill /PID 10582 /F 强行结束该进程。随后重启你的客户端。

解决方案二:修改客户端的默认端口

如果你不确定占用者是谁,最优雅的办法是主动让出 7890:

  • 在 Clash Verge Rev 中:进入 设置 (Settings),找到 混合端口 (Mixed Port)。将其修改为某个高位不常用端口(比如 17890 或 20000)。
  • 注意:修改端口后,对于遵守系统代理的浏览器没有影响。但是,如果你曾经在某些软件(如 Telegram 或 Git)中手动写死了 127.0.0.1:7890 的代理,请务必同步更改为你新设置的端口,否则它们将报出类似 超时或EOF的错误。

参考资料与进一步阅读

机场讯 技术安全审查组Fact-Checked

本文所述的网络配置指南、路由分析及安全建议已通过技术独立验证。文内提及的客户端配置与底层原理引用自各开源项目的官方文档。为保障您的设备安全,请严格按照教程指引操作,切勿随意修改系统级内核参数。

相关推荐