快连怎样在路由器后台配置自动更新节点?
手把手教你把快连节点列表写进路由器,定时拉取、自动切换,零掉线。

功能定位:为什么要在路由器后台“代劳”
把快连节点更新交给路由器,相当于给全家设备请了一位“夜班管理员”:手机、平板、电视无需各自唤醒客户端,也能在每天凌晨拿到最新线路。对于合租、工作室或智能家居场景,既省电量又避免“人走节点凉”的尴尬。
从 2025 冬季版本起,快连官方把“订阅地址”入口常驻在「设置-高级-手动配置」里,不再依赖客户端自动生成。只要复制这串以 https://api.quicklink/sub/xxxx 开头的短链,就能让任何支持外部订阅脚本的路由器固件(OpenWrt、Padavan、ASUS-Merlin)按小时拉取,实现“节点等流量”而非“流量等节点”。
先决条件:固件、权限与网络环境
固件白名单
- OpenWrt 22.03 及以上(自带 uclient-fetch 与 CA 证书链)
- ASUS-Merlin 3004.x 及以上(内置 wget-ssl)
- Padavan-ng 2025-12 之后编译(支持 https 下载)
若仍在官方原厂固件,请先确认「系统管理-系统设置」里能找到「自定义脚本」或「计划任务」输入框,否则需要刷入上述三者之一再继续。
账号权限
快连的订阅地址与账号 UUID 绑定,每 24 h 允许刷新 50 次。经验性观察:普通家庭 10 台终端以内,每小时拉一次不会触发限流;若合租人数 >20,建议把 cron 间隔放宽到 4 h。
最短可达路径:OpenWrt 为例
- 电脑端登录路由器后台
http://192.168.1.1→ 系统 → 软件包 → 更新列表 → 搜索安装wget-ssl(若已装可跳过)。 - 打开快连客户端 → 设置 → 高级 → 手动配置 → 复制「订阅地址」。
- 回到路由器 → 系统 → 计划任务 → 追加一行:
0 4 * * * /bin/sh /etc/quicklink/update.sh - SSH 登录路由器,创建文件
/etc/quicklink/update.sh,写入以下内容(把 SUB_URL 替换成刚复制的地址):#!/bin/sh SUB_URL="https://api.quicklink/sub/xxxx" CONFIG="/etc/openclash/config/quicklink.yaml" wget-ssl -O /tmp/quicklink.tmp "$SUB_URL" || exit 1 # 基础校验:文件大于 5 KB 才视为有效 [ -s /tmp/quicklink.tmp ] && [ $(wc -c < /tmp/quicklink.tmp) -gt 5120 ] && mv /tmp/quicklink.tmp "$CONFIG" /etc/init.d/openclash restart
- 赋可执行权限:
chmod +x /etc/quicklink/update.sh,手动运行一次确认无报错。
完成。此后每天 04:00 路由器自动拉取最新节点并重启 OpenClash,终端无感切换。
ASUS-Merlin 差异:JFFS 与用户脚本
Merlin 没有 openclash,但支持「科学上网」插件或「ss-redir」方案。路径调整为:
- 在「系统管理-系统设置」里启用 JFFS 脚本。
- 把上述 update.sh 放在
/jffs/scripts/,并在「自定义脚本-防火墙启动后」追加调用:/jffs/scripts/update.sh - cron 入口在「系统管理-计划任务」标签页,语法与 Linux 一致。
注意
Merlin 的 wget 默认指向 BusyBox,若出现证书错误,请在「软件中心」安装 entware 后执行
opkg install wget-ssl,再把脚本里的 wget-ssl 改为完整路径/opt/bin/wget。
例外与取舍:何时不该“全自动”
1. 节点白名单策略
部分企业要求“仅香港/新加坡”出口。若脚本不做过滤,一旦拉进其他地区节点,合规日志会报警。缓解:在 update.sh 里追加 yq 命令,仅保留关键字 -HKG -SGP 的节点。
2. 订阅地址泄露风险
路由器日志可能把 SUB_URL 打印到 syslog。建议把脚本放在可读写目录,并在「系统日志-屏蔽关键字」里添加 api.quicklink。
3. 夜间重启打扰
若家中运行 NAS 下载任务,OpenClash 重启会导致 TCP 连接重置。经验性观察:把 cron 调到 05:30 并启用「优雅重启」选项,可把断开时间控制在 3 s 内。
验证与回退:确保脚本可逆
- 手动执行后,进入「OpenClash-日志」查看是否出现
Config successfully loaded。 - 在「节点列表」里确认时间戳已更新为当天。
- 手机打开 ip111.cn,对比出口 IP 与所选节点一致。
- 回退:若新节点导致无法联网,SSH 进入路由器,重命名旧配置
quicklink.yaml.bak回来,并重启 OpenClash。
故障排查:现象→原因→验证→处置
| 现象 | 最可能原因 | 验证动作 | 处置 |
|---|---|---|---|
| 脚本运行后节点数 0 | 订阅地址 UUID 被重置 | 电脑浏览器直接访问 SUB_URL,看是否 403 | 重新复制客户端里的新地址 |
| wget 提示「证书已过期」 | 路由器时间错误 | date 命令查看,与手机对比 | 勾选「系统-同步 NTP」或手动设置时区 |
| 重启后断网 1 分钟 | DNS 被清空 | cat /tmp/resolv.conf.auto | 在 OpenClash 里启用「保留上游 DNS」 |
适用/不适用场景清单
- 适用:合租公寓、工作室、直播推流、远程办公,需要 3 台以上设备同时在线且不想半夜手动换节点。
- 不适用:出口 IP 必须在单一城市备案的政企专网;路由器 ROM 空间 <8 MB 无法装下 wget-ssl;家庭宽带每晚 02:00-06:00 定时断网。
最佳实践 5 条
- cron 间隔 ≥1 h,避开整点,减少与官方 CDN 高峰碰撞。
- 脚本里加「文件大小校验」与「yaml 语法校验」,防止下载到 502 页面直接覆盖配置。
- 把「手动备份」按钮放在路由器桌面快捷方式,万一出差在外,家人可一键回退。
- 每月第一天手动检查订阅地址是否变化,避免客户端升级后 UUID 刷新。
- 启用 syslog 远程发送到 NAS,保留 30 天,方便事后审计。
版本差异与迁移建议
截至当前的最新版本(v6.8.1)把订阅格式从 Clash-R 迁移到 Clash-Meta,字段名由 server-port 改为 port。若路由器仍在使用 2024 版 OpenClash,需先在「配置管理」里升级内核,否则解析会失败。
FAQ(结构化数据)
订阅地址会失效吗?
只要账号仍在有效期,地址持续有效;官方仅在手动「重置订阅」时变更 UUID。
能否同时给两台路由器用同一个订阅?
可以,但共享 50 次/天额度;建议把两台 cron 间隔错开 2 h 以上。
脚本里一定要重启 OpenClash 吗?
若使用「动态配置加载」内核,可改为 /etc/init.d/openclash reload,实现毫秒级热更新。
如何排除特定节点不参与自动更新?
在脚本里用 yq eval 'del(.proxies[] | select(.name | contains("JP-Tokyo")))' 删除匹配字段即可。
路由器只有 4 MB ROM,装不下 wget-ssl 怎么办?
可用外部 U 盘挂载 entware,或改用支持 HTTPS 的 curl -k 方案,但需自行承担证书跳过风险。
收尾:下一步行动
至此,你已在路由器层面实现「快连节点自动更新」。建议今晚就把 cron 调到 05:30 跑一次,明早检查日志是否出现「Config successfully loaded」。如果一切正常,未来 30 天无需再手动点开客户端;若出现断流,按本文「验证与回退」章节 30 秒内即可恢复。下一步,不妨把脚本推到 GitHub 私有仓库,用 Webhook 实现「配置变更→自动下发」,让整套流程真正进入 Infrastructure as Code 时代。


