FlClash 设置端口:7890 怎么填?端口占用与代理配置排查
简答:FlClash 当前源码可确认混合端口默认值为 7890;SOCKS5 端口以设置页实际显示为准。浏览器通常填 127.0.0.1 加代理端口,控制端口 9090 不能当普通代理使用。
定义:FlClash 端口是客户端在本机监听的代理入口,浏览器、Git 和终端通过 127.0.0.1 加对应端口连接,TUN 模式通常不需要逐个应用填写代理端口。
先看 30 秒速查卡:FlClash 端口怎么填
如果你只是想让浏览器、Git 或终端使用 FlClash,先确认客户端设置页里的实际端口,再把代理地址填写为 127.0.0.1。FlClash 当前源码可以确认默认混合端口为 7890;源码同时定义了 HTTP、SOCKS5、重定向和 TProxy 等字段,但没有把所有字段都固定为同一组默认数值,因此 SOCKS5 端口应以当前设置页显示值为准。相关字段可查看 FlClash 的配置模型源码和配置序列化源码。
| 端口类型 | 如何判断 | 适合场景 | 填写方式 |
|---|---|---|---|
| 混合端口 | 当前源码默认值为 7890 | 软件同时支持 HTTP 和 SOCKS5 | 127.0.0.1 加设置页中的混合端口 |
| HTTP 端口 | 以设置页显示值为准 | 浏览器、Git 或仅支持 HTTP 代理的软件 | 协议选 HTTP,地址填 127.0.0.1 |
| SOCKS5 端口 | 不要直接假定为固定数值 | 明确要求 SOCKS5 的软件 | 协议选 SOCKS5,地址填 127.0.0.1 |
| 控制端口 | 源码默认控制地址为 127.0.0.1:9090 | 控制接口或管理面板 | 不能当作浏览器代理端口 |
最快判断:软件没有指定协议时,优先使用混合端口;软件明确要求 HTTP 或 SOCKS5 时,选择对应字段。端口修改后,先重启代理核心,再同步修改浏览器、Git 和终端中的旧端口。
Windows 版如何找到并修改端口
- 打开 FlClash,确认配置已经加载且代理核心正在运行。
- 进入设置、工具或网络相关页面,寻找
Mixed port、HTTP port、SOCKS port或中文“混合端口”“HTTP 端口”“SOCKS 端口”等字段。 - 输入一个尚未被其他程序监听的端口,保存后执行重启代理、重启内核,或完全退出再打开客户端。
- 在浏览器或目标软件中填写
127.0.0.1和新的端口。
不同版本的菜单翻译和布局可能不同。当前官方仓库的界面字段源码能够证明存在端口、系统代理和 TUN 等相关文案,但不能据此证明固定的菜单层级;因此找不到“工具→网络”时,应按字段名称搜索,而不是机械寻找某一条菜单路径。可参考 FlClash 官方核心参数模型。
如果你启用了系统代理,支持系统代理的应用通常会读取系统设置;带有独立代理选项的软件仍可能需要手动填写本机地址和端口。
HTTP、SOCKS5、混合端口分别怎么选
三类端口的区别在于客户端监听的代理协议。HTTP 端口适合只支持 HTTP 或 HTTPS 代理的软件;SOCKS5 端口适合明确提供 SOCKS5 选项的软件;混合端口把常见 HTTP 与 SOCKS5 代理入口合并到一个端口,适合不想分别维护两个端口的场景。
| 软件提示 | 协议选择 | 地址 | 端口 |
|---|---|---|---|
| HTTP Proxy 或 HTTPS Proxy | HTTP | 127.0.0.1 | FlClash 的 HTTP 或混合端口 |
| SOCKS5 Proxy | SOCKS5 | 127.0.0.1 | FlClash 的 SOCKS5 端口 |
| 只提供一个代理端口输入框 | 优先尝试混合端口 | 127.0.0.1 | FlClash 设置页显示的混合端口 |
| External Controller、API 或控制接口 | 不要选择普通代理协议 | 以控制设置为准 | 默认控制地址不能替代代理端口 |
控制端口用于管理接口,不是普通网页代理入口。FlClash 源码把外部控制状态与代理端口分开处理,并在默认打开状态中使用 127.0.0.1:9090;因此浏览器填 9090 后无法正常代理,并不代表节点或网络一定故障。
浏览器、Git 和终端的可复制配置
浏览器扩展或系统代理只需要填写协议、地址和端口三项。地址通常是 127.0.0.1,端口必须与 FlClash 当前设置页一致。设置完成后,查看 FlClash 连接日志是否出现请求,并确认请求命中了预期策略。
Git 使用 HTTP 代理
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890如果你的混合端口不是 7890,把命令中的端口替换为当前实际值。取消 Git 全局代理:
git config --global --unset http.proxy
git config --global --unset https.proxymacOS 或 Linux 终端使用 HTTP 代理
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890取消环境变量:
unset http_proxy
unset https_proxy支持 SOCKS5 的终端工具
export all_proxy=socks5://127.0.0.1:7891这里的 7891 只是示例,必须替换成 FlClash 设置页实际显示的 SOCKS5 端口。Windows PowerShell 可以这样设置 HTTP 代理:
$env:http_proxy="http://127.0.0.1:7890"
$env:https_proxy="http://127.0.0.1:7890"Windows 命令提示符可以这样设置:
set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890如果浏览器能打开网页但 Git 或终端仍失败,优先检查软件是否支持 HTTP、SOCKS5,是否读取当前终端变量,以及端口是否仍是旧值。
端口被占用:Windows、macOS、Linux 查 PID
出现“端口被占用”“核心启动失败”或修改端口后无法监听时,先查出占用端口的进程,再决定关闭冲突程序还是更换端口。一次只运行一个负责系统代理或 TUN 的客户端,可以减少多个代理软件抢占端口的问题。
Windows
netstat -ano | findstr :7890
tasklist /FI "PID eq 1234"把 7890 换成实际端口,把 1234 换成第一条命令输出的 PID。Microsoft 文档说明,netstat -o 可以显示连接对应的进程 ID,详见Microsoft Learn 的 netstat 文档。
macOS
sudo lsof -nP -iTCP:7890 -sTCP:LISTEN查看 COMMAND、PID 和用户信息。确认是旧的 FlClash、其他代理客户端或开发工具后,先正常退出对应程序。
Linux
sudo ss -ltnp | grep ':7890'如果显示进程信息,先核对名称和 PID;如果没有输出,说明当前没有发现该 TCP 端口监听。不要在不确认用途时直接结束系统进程。
处理完成后重新启动 FlClash,并再次检查监听端口。若选择更换端口,浏览器、Git、终端、系统代理和其他手动代理软件必须一起修改。
TUN 模式与手动代理端口的关系
手动代理端口是应用连接本机代理监听器的入口;TUN 模式则通过系统网络接口接管符合条件的流量。两者解决的是不同层面的问题:一个要求应用填写地址和端口,另一个通常由客户端和系统权限完成流量接管。
- 仅使用系统代理:支持系统代理的应用读取系统设置,独立代理软件仍需单独填写端口。
- 使用 TUN 模式:通常不需要在每个浏览器中填写 127.0.0.1 和端口,但需要按系统提示授予管理员或网络权限。
- 两者同时开启:出现异常时,先暂时关闭其中一种进行对比,避免重复接管导致判断困难。
如果 TUN 已开启但某个应用仍无法连接,先查看 FlClash 日志中是否出现该应用请求;没有请求时,优先检查 TUN 权限、应用路由和系统网络接口,而不是只反复修改代理端口。
FlClash 官方源码显示,应用会把混合端口、HTTP 端口、SOCKS5 端口、局域网开关和 TUN 参数分别写入配置,说明这些设置并不是同一个开关。相关生成流程见FlClash 配置生成源码。
Android 和局域网设备怎么填
Android 上的 127.0.0.1 指的是 Android 手机本身,不是电脑。如果 FlClash 运行在手机上,目标应用需要手动代理时,填写手机本机的 127.0.0.1 和 FlClash 设置页中的端口即可;不能把电脑上的 127.0.0.1 直接填到手机里。
如果要让 Android 使用电脑上的 FlClash,则需要填写电脑在局域网中的地址,而不是 127.0.0.1。同时必须确认客户端是否提供允许局域网连接的开关,以及系统防火墙是否允许对应端口。只供当前电脑使用时,不要为了测试而开启局域网共享。
FlClash 官方配置生成源码显示,allow-lan 会写入生成的配置;官方架构说明还指出,关闭局域网访问时监听器会绑定到回环地址。因此局域网共享会改变可连接范围,开启后应检查监听地址、防火墙和访问凭据,使用结束后及时关闭。可参考FlClash 官方架构说明。
修改端口后的完整自查顺序
- 打开 FlClash,确认配置已加载、核心正在运行。
- 记录设置页中的混合、HTTP 和 SOCKS5 端口,不凭记忆填写。
- 根据目标软件要求选择 HTTP、SOCKS5 或混合协议。
- 保存修改,并重启代理或内核。
- 使用 Windows 的
netstat、macOS 的sudo lsof或 Linux 的sudo ss检查端口监听。 - 在目标软件中填写
127.0.0.1和新端口。 - 查看 FlClash 连接日志,确认请求进入并命中策略。
- 若 TUN 和手动代理同时开启,暂时关闭其中一种测试。
- 若仍提示占用,重新查 PID,确认是否有第二个代理客户端正在运行。
如果日志中没有目标应用请求,问题通常还没有到节点或规则层,先检查端口、系统代理、TUN 权限和应用自身代理设置。
常见问题
FlClash 默认端口是多少?
当前官方源码可以确认默认混合端口为 7890。HTTP、SOCKS5 和其他端口应以当前 FlClash 设置页显示值为准,不建议直接套用网上示例。
FlClash 设置端口在哪里?
不同版本菜单名称可能不同,进入设置、工具或网络相关页面,寻找 Mixed port、HTTP port、SOCKS port 或中文对应字段。保存后重启代理或内核。
浏览器应该填 7890 还是 SOCKS5 端口?
浏览器选择 HTTP 或混合代理时,填写 FlClash 的 HTTP 或混合端口;明确选择 SOCKS5 时,填写设置页显示的 SOCKS5 端口,地址通常是 127.0.0.1。
9090 可以当作 FlClash 代理端口吗?
不建议。FlClash 源码将 127.0.0.1:9090 用作外部控制地址示例,它属于控制接口,不是普通浏览器或 Git 的代理入口。
端口被占用怎么处理?
先用 Windows 的 netstat、macOS 的 lsof 或 Linux 的 ss 查询监听进程和 PID,再正常退出冲突程序,或者改用未占用端口,并同步修改所有应用设置。
TUN 模式还需要手动填写端口吗?
TUN 模式通常不需要逐个应用填写代理端口;使用系统代理或应用独立代理时,仍需要填写本机地址和对应端口。
Android 上的 127.0.0.1 应该填电脑地址吗?
不应该。FlClash 运行在手机上时,127.0.0.1 指手机本身;如果要连接电脑上的 FlClash,应填写电脑在局域网中的地址,并确认局域网共享和防火墙设置。