懒人福音:手把手教你搞定 Egern 配置文件自动同步
最近把主力客户端换成了 Egern,不得不说,这货在 UI 设计和连接稳定性上确实有点东西。不过用久了发现一个挺反人类的小毛病——它不像某些客户端那样把“自动更新订阅”的开关放在最显眼的地方,每次节点炸了或者策略组更新了,我都得手动去拉一下配置。
如果你也和我一样有“懒癌晚期”症状,或者节点变动频繁需要时刻保持最新状态,那今天的这篇干货可能正合你意。咱们不讲废话,直接上几个解决“配置文件自动更新”的实操方案。
为什么 Egern 不自动更新?
首先得说明一下,Egern 本身其实是具备自动更新能力的,但这通常取决于你的订阅源(Airport 提供商)返回的头部信息。如果服务商没给 update-interval 或者 TTL 设置得特别离谱,客户端大概率就会“老实”地等着你手动点刷新。
既然指望不上服务商那边统一标准,那我们就得自己动手丰衣足食了。以下是三个不同维度的解决办法,按推荐程度排序。
方案一:利用 iOS “快捷指令” 定时拉取(最推荐)
这是目前我觉得最优雅且不折腾的方案,非常适合 iPhone 用户。原理很简单:利用快捷指令的自动化功能,在后台模拟一次订阅链接的访问,让服务商那边觉得“有人在看”,从而触发缓存更新,或者直接通过 URL Scheme 唤起 Egern 刷新。
具体操作逻辑如下:
- 获取订阅链接: 复制你的 Egern 订阅地址(确保是带有 Update 参数的完整链接)。
- 新建快捷指令: 打开快捷指令 App,新建一个指令,添加操作“获取 URL 内容”,填入你的订阅链接。
- 设置自动化: 在快捷指令的“自动化”标签页,创建一个“个人自动化”。触发条件建议选择“特定时间”(比如每天凌晨 4 点,或者每隔 12 小时)。
- 关键点: 别忘了关闭“运行前询问”,这样才能真正做到无感静默运行。
虽然这步操作不一定能直接让 Egern App 内部立刻刷新列表(取决于是否配合 URL Scheme),但它能保证你的订阅源在服务器端是最新的,等你手动点一下或者切换节点时,获取到的就是最新的数据。
利用 iOS 快捷指令实现 Egern 订阅自动更新的自动化设置界面
方案二:配合 GitHub Actions 远程同步(进阶玩法)
如果你是那种“不仅要自动更新,还要多端配置完全一致”的高级玩家,那直接用 Egern 的“从链接下载”功能配合一个中转站是绝佳选择。
思路: 不要直接把机场的订阅链接填进 Egern,而是通过 GitHub Actions 定时去抓取机场订阅,处理一下(比如增加一些自定义规则),然后生成一个新的 Raw 链接。Egern 订阅这个新链接。
好处:
- 稳定性强: 机场域名被封了?只要 GitHub 没挂,你的配置就能更新。
- 高度定制: 你可以在中间脚本里注入自己的分流规则,比如屏蔽广告、直连特定域名等,而不受机场默认配置的限制。
- 完全自动化: GitHub Actions 设置为每 2 小时运行一次,基本做到实时同步。
使用 GitHub Actions 定时抓取并同步订阅的配置界面
方案三:检查系统级代理设置与本地脚本(Mac 用户专属)
如果是 macOS 版本的 Egern,其实可以通过 LaunchAgents 配合简单的 Shell 脚本来实现强制刷新。
写一个简单的 shell 脚本,用 curl 命令去请求你的订阅 Link,然后利用 osascript 发送一个系统通知提醒你更新已完成(或者尝试调用 Egern 的 CLI 命令,如果有的话)。最后把 .plist 文件扔到 ~/Library/LaunchAgents 里,交给系统调度。
不过这个方案门槛稍高,且需要持续维护脚本,对于不想写代码的朋友来说,性价比不如前两个方案。
避坑指南:更新失败怎么办?
有时候设置了自动更新,结果发现配置还是旧的。这时候别急着骂娘,先排查几个点:
- 订阅流量是否耗尽? 很多机场在流量用完后会返回一个错误的配置文件或者 403 页面,更新当然是徒劳的。
- 节点链接是否失效? 有些老旧节点被墙后,机场虽然更新了配置,但如果你本地缓存死锁,可能需要彻底退出 App 重进才能刷新。
- 网络环境: 定时任务运行的时候,你的手机是不是在休眠或者没网的状态?给快捷指令或者后台任务开一下“无线局域网”的权限很重要。
写在最后
工欲善其事,必先利其器。Egern 作为一个轻量级的客户端,在自动化方面确实留了一些“作业”给用户。但只要稍微动动手,用快捷指令或者外部中转搭建一套自动化的工作流,体验感立马就能提升好几个档次。
希望这几个方法能帮到你,如果你有更好用的自动同步脚本或者独家技巧,欢迎在评论区留言,咱们一起交流折腾!
评论已关闭