当前位置: 首页 > news >正文

canary金丝雀域名深度解析:用test.txt验证cache-domains缓存是否真正命中

canary金丝雀域名深度解析:用test.txt验证cache-domains缓存是否真正命中

【免费下载链接】cache-domainsDomain Names required for LAN Content Cache DNS spoofing项目地址: https://gitcode.com/gh_mirrors/ca/cache-domains

cache-domains 是一个为局域网内容缓存(LAN Content Cache)整理的域名清单,核心用法是通过 DNS 劫持(DNS spoofing)把游戏下载流量重定向到缓存服务器。而清单里的canary 金丝雀域名(位于test.txt)就是用来验证这套缓存是否真正命中的"体检工具"——配置得对不对,一分钟就能查出来。

为什么需要金丝雀域名验证 🐤

很多管理员搭好 DNS 劫持后并不知道它是否生效:

  • 如果域名清单没有正确下发,游戏下载会静默地直连公网,不报错、不提示,只是缓存服务器毫无命中记录;
  • 游戏下载是一次性大流量,等你发现没命中时,带宽可能已经白白消耗掉了。

金丝雀域名的思路很简单:选几个不承载真实游戏内容的测试域名,把它们和正式 CDN 一起劫持到缓存服务器。因为测试域名"零风险、随时可查",所以:

  • 解析结果指向缓存服务器 IP → 说明 DNS 劫持链路正常;
  • 解析结果还是公网 IP → 说明配置有问题,趁早修,不用等真正下载游戏时翻车。

在清单主配置文件cache_domains.json中,这一组域名被定义为独立条目:

"name": "test",描述为 "CDN for Testing, recommended to enable for additional diagnostics"(推荐启用以获得额外诊断能力),关联文件正是test.txt

test.txt 里的 6 个金丝雀域名一览

test.txt内容非常短,一共 6 个域名,按"三组名称 × 两个官方域名后缀"排列:

分组含义对应域名
canary金丝雀(矿井预警,最直观)canary.lancache.net/canary.uklans.net
litmus试金石(litmus test,测试是否达标)litmus.lancache.net/litmus.uklans.net
trigger触发器(用于触发并观察请求路径)trigger.lancache.net/trigger.uklans.net

三组名字指向同一件事:用最小代价探测流量走向。验证时任选其一即可,其余留作备用或交叉对照。

一键启用 test 域名:DNS 规则生成步骤

cache-domains 自带一套脚本,可为 AdGuard Home、Dnsmasq/Pi-hole、Unbound、BIND9(RPZ)、Squid 生成对应配置,详见scripts/README.md

第 1 步:获取清单文件

git clone https://gitcode.com/gh_mirrors/ca/cache-domains

第 2 步:准备配置

复制scripts/config.example.jsonscripts/config.json,把你负责缓存的域名(包括test)映射到缓存服务器 IP,例如:

{ "ips": { "generic": "10.10.3.16" }, "cache_domains": { "default": "generic", "test": "generic" } }

第 3 步:生成并下发规则

以 Dnsmasq 为例运行bash scripts/create-dnsmasq.sh,脚本会输出形如:

address=/canary.lancache.net/10.10.3.16 local=/canary.lancache.net/

再把scripts/output/dnsmasq/下的文件复制到 Dnsmasq 配置目录(如/etc/dnsmasq/dnsmasq.d/)并重启服务。其他 DNS 方案同理,脚本已帮你处理好格式差异。

三步确认缓存是否真正命中 ✅

  1. 查解析:在客户端执行dig canary.lancache.net +short(Windows 用nslookup canary.lancache.net),返回的应该是缓存服务器 IP(如10.10.3.16),而不是公网地址。
  2. 查连接:在客户端访问该金丝雀域名,确认 TCP 连接确实落在缓存服务器上(可以用防火墙日志或抓包确认源 IP)。
  3. 查命中:查看缓存服务器(如 Squid / monolithic)的访问日志,确认对金丝雀域名的请求已计入命中统计。

三步全过,说明 DNS 劫持链路完好,正式游戏域名(steam.txtepicgames.txt等)大概率同样生效。

常见"不命中"原因排查表 🔍

症状可能原因解决办法
dig返回公网 IP生成的规则文件没放对目录,或没重启 DNS 服务scripts/README.md指引核对路径并重启服务
部分客户端命中、部分不命中个别设备使用了自己的 DNS(手机、智能路由、DHCP 下发的 DNS 不同)统一内网 DNS 指向
解析正确但缓存无命中流量走 HTTPS,明文缓存无法拦截参考faq.md中 SNI Proxy / HTTPS 说明,或改用支持 SNI 的代理
改完配置后老客户端不生效客户端/路由器存在 DNS 缓存等待 TTL 过期或手动刷新 DNS 缓存
通配域名未匹配清单中的*.xxx.com通配符在 Squid 等方案中需要重新格式化使用scripts/create-squid.sh自动生成,勿手工改写

小结:把金丝雀配置当作"常驻体检项" 🩺

  • 金丝雀域名成本几乎为零:不占缓存空间、不消耗公网带宽,却在每次网络变更后都能给出即时反馈;
  • 建议把test条目长期保持启用(官方描述也推荐这么做),今后调整 DNS、升级缓存服务器后重跑一遍三步验证即可;
  • 本文涉及的核心文件:test.txt(金丝雀域名清单)、cache_domains.json(条目定义)、scripts/config.example.json(配置模板)、scripts/README.md(脚本使用说明)、faq.md(常见问题)。

一句话总结:配置完先查金丝雀,金丝雀命中了,缓存才算真正命中。

【免费下载链接】cache-domainsDomain Names required for LAN Content Cache DNS spoofing项目地址: https://gitcode.com/gh_mirrors/ca/cache-domains

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/4176922.html

相关文章:

  • Shardeum投票系统全解:去中心化治理与自动扩容投票指南
  • self-supervised-depth-completion数据管道全解析:KITTI数据集结构、相机标定与16位深度PNG读取
  • New API高可用背后的秘密:渠道重试与故障自动禁用机制深度解析
  • FreeRTOS运行一次后卡死
  • 如何给ScrollingStackViewController定制弹性动画:覆盖animate与scrollAnimate闭包的完整指南
  • 炉石HsMod插件:60+功能管换肤、战棋MMR和挂机,Windows 5分钟装好
  • Ditto核心原理(三):motion_stitch缝合网络如何让数字人自然眨眼与表情过渡
  • foreach的隐藏代价:用RoslynClrHeapAllocationAnalyzer揪出引用类型枚举器分配
  • MiroFish群体智能引擎如何快速部署:Docker一键部署与源码安装怎么选
  • 如何把安卓手机投到电脑并直接控制:scrcpy 三步上手
  • 猫抓扩展:网页视频音频一键提取的完整上手指南
  • 深入理解D3.js中的数字格式化工具d3-format
  • 让Claude Scholar从强论文中挖掘知识:paper-miner与kaggle-miner Agent实战
  • SUID3NUM源码解析:一个700行Python脚本如何实现SUID自动提权
  • IP-Adapter-FaceID 人脸一致性出图实战:一张照片到多风格人像
  • iOS悬浮窗通话怎么做?react-native-agora画中画(PiP)完整实现指南
  • Scout-App偏好设置全解析:托盘驻留、声音提醒与桌面通知的3分钟快速配置指南
  • dingo 数据质量评估:给 LLM 训练数据做体检
  • 如何10分钟快速部署Sunshine:从零开始的游戏串流完整指南
  • 如何用LLaMA-Factory微调MiniCPM-o-2_6:全模态模型领域适配完整教程
  • ol-plot 入门使用指南:三步把标绘工具接到 OpenLayers 地图上
  • 浏览器里改暗黑破坏神2存档:用 d2s-editor 快速调属性、导物品的完整指南
  • TrollInstallerX 安装 TrollStore 完整教程:4 步装好,iOS 14.0-16.6.1 通用
  • 快捷键失灵了?3 分钟用 Hotkey Detective 揪出偷走全局热键的进程
  • 3 步跑通 Beyond Compare 5 密钥生成:BCompare_Keygen 零基础上手指南
  • LiteRT-LM视觉能力实战:多模态LLM在树莓派上识别图像完整指南
  • Windows苹果驱动安装完整指南:1分钟让iPhone USB网络共享跑起来
  • 抖音去水印下载完整指南:一条命令保存单个视频或整站主页
  • miqu-1-70b量化版本终极选择指南:q2_K、q4_k_m、q5_K_M三大档深度对比
  • ExplorerPatcher 任务栏属性窗口无法打开:4 层排查阶梯,一文搞定