应用介绍
家里装了 Pi-hole,日志里一堆被拦的域名,可到底是电视、摄像头还是孩子的平板在发请求?为什么这条放行、那条拦了?多数 DNS 拦截器只给你一个结果。TelltaleDNS 是用 Rust 写的自托管 DNS 解析器兼广告拦截器,每一条查询都会关联到具体设备、写明判定理由,连每个阶段花了多少微秒都记下来。
设备名从路由器、mDNS 广播或者你手动起的名字里来,它还会根据厂商和设备爱查的域名,认出这是 Roku 播放器、摄像头还是温控器。规则可以按设备、按分组单独定,改规则之前还能先拿昨天的真实流量预演一遍,看看会误伤谁。
查询可追溯:查询日志里每一条都对应到设备,分阶段计时,并说明为什么这样回答。
按设备定规则:拦截列表、按网络或 VLAN 分组、定时规则、安全搜索、按服务拦截、域名改写和快捷规则都能细到单台设备。
改前先预演:保存规则前,先看它套在昨天的真实流量上会拦掉什么。
双向加密:对内对外都支持 DoT、DoH、DoQ,带 DNSSEC 校验,也可以不转发、直接做完整递归解析。
看板:整个集群、单个节点或单个站点都能看,有查询时段热力图、分组到结果的流向图、应答耗时热力图,每次配置变更都标在图表上,还能投到墙上的显示屏。
异常和对接:设备异常提醒和告警,支持 Prometheus 指标、OpenTelemetry、dnstap 和事件推送。
不会断:控制面出了问题,DNS 照样按最后一份正常配置继续应答。可以跑在树莓派上、Kubernetes 里,或者两边组成一个集群。
开源协议:Apache-2.0 或 MIT 双协议。
设备名从路由器、mDNS 广播或者你手动起的名字里来,它还会根据厂商和设备爱查的域名,认出这是 Roku 播放器、摄像头还是温控器。规则可以按设备、按分组单独定,改规则之前还能先拿昨天的真实流量预演一遍,看看会误伤谁。
软件功能
查询可追溯:查询日志里每一条都对应到设备,分阶段计时,并说明为什么这样回答。
按设备定规则:拦截列表、按网络或 VLAN 分组、定时规则、安全搜索、按服务拦截、域名改写和快捷规则都能细到单台设备。
改前先预演:保存规则前,先看它套在昨天的真实流量上会拦掉什么。
双向加密:对内对外都支持 DoT、DoH、DoQ,带 DNSSEC 校验,也可以不转发、直接做完整递归解析。
看板:整个集群、单个节点或单个站点都能看,有查询时段热力图、分组到结果的流向图、应答耗时热力图,每次配置变更都标在图表上,还能投到墙上的显示屏。
异常和对接:设备异常提醒和告警,支持 Prometheus 指标、OpenTelemetry、dnstap 和事件推送。
不会断:控制面出了问题,DNS 照样按最后一份正常配置继续应答。可以跑在树莓派上、Kubernetes 里,或者两边组成一个集群。
开源协议:Apache-2.0 或 MIT 双协议。

