Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sdproxy — 简单快速的 DNS 代理,具备并不简单的功能。专注于路由 DNS 转发、过滤和家长控制。 | Kitploit
工具/GitHubGitHub/cbuijs/sdproxy
防御工具加密/解密工具信息收集Web安全网络安全隐私保护实用工具与框架机器学习DNS 分析异常检测
GitHubcbuijs/sdproxy

sdproxy

553431天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

简单快速的 DNS 代理,具备并不简单的功能。专注于路由 DNS 转发、过滤和家长控制。

查看仓库

sdproxy

一个让你真正掌控家庭网络的 DNS 代理。


简介

我曾在“大厂”网络与安全“竞技场”做过多年顾问。DNS 安全过去是、现在也是我的日常工作,同时也是我最喜欢折腾的爱好之一。因为我现在有了孩子,需要做一个负责任的家长,我便主动承担起为他们过滤这个险恶互联网的责任。于是我构建了 sdproxy(Simple DNS Proxy,简单 DNS 代理)。它(某种程度上)把企业级/大厂级的防护、方法和精度带到了家庭网络层面。

该代理使用 Go 编写,可编译为精简的二进制文件,适用于廉价路由器。没有云订阅,也没有月费。它支持各种 DNS 形式,并内置自适应准入控制以保持稳定。它就是为客厅打造的、精简(某种程度上)、强悍、荷兰式工程精度。只有你、一个可执行文件和一个 yaml 文件。

并且请记住……问题永远出在 DNS 上!


注意: full_reference_config.yaml 始终比本 README 更新。如有疑问,请查阅该文件。


DNS 是互联网的电话簿——你网络上的每台设备在连接任何地方之前,都会先查询一个名称。

sdproxy 就位于这中间,运行在你的路由器上,让你决定接下来发生什么:缓存它、拦截它、将其路由到其他解析器、应用高级 ML 安全模型,或对每个孩子强制执行时间限制。没有云订阅,没有月费,也没有会宕机的外部服务。

它使用 Go 编写,可编译为单个二进制文件,并且足够精简,可以运行在廉价家用路由器上(TP-Link、GL.iNet 或 NetGear 上的 OpenWrt,pfSense、OPNsense,或者一台普通 Linux 主机)。

与替代方案相比的关键优势见此处。


它能做什么

支持各种 DNS 形式并自动升级

传统的 UDP/TCP(53 端口)、加密的 DNS-over-TLS(DoT)、DNS-over-HTTPS(DoH)以及 DNS-over-QUIC(DoQ)。

  • 动态 DoH3 升级: sdproxy 原生解析 Alt-Svc 头,并即时将标准 DoH 流无缝升级为高性能 HTTP/3(QUIC)连接。

加密客户端问候(ECH)与 DDR 自动发现

通过加密 TLS 服务器名称指示(SNI),保护你的浏览免受 ISP 深度包检测。

  • 入站 ECH: sdproxy 充当完整的 ECH 服务器,解密客户端问候,并通过 DDR(指定解析器发现)向你的本地网络原生广播自己的密钥。
  • 出站 ECH 自动发现: 与上游提供商通信时,sdproxy 会主动查询其 HTTPS/SVCB 记录,提取其 ECH 密钥,并完全自主地保护 TLS 握手。

机器学习 DGA 检测

一个原生、零分配的 Logistic Regression ML 推理引擎运行在热路径上。它提取 Shannon 熵、元音/辅音偏斜以及 n-gram 链,以即时检测并拦截僵尸网络、恶意软件和 C2 基础设施使用的算法生成域名(DGA)。

数据外泄与 DNS 隧道防御

体积基线分析会跟踪每个客户端或每个子网传输数据的 Alpha 平滑指数移动平均(EMA)。它会检测通过 53 端口离开网络的突发异常数据流,并将该客户端在高性能惩罚箱中黑洞化。

企业级路由与共识验证

sdproxy 不会盲目转发查询;它会动态评估上游。

  • 安全共识: 同时查询一个组内的所有上游。它会深度检查载荷(CNAME 链、最终 IP 端点),并且如果任何上游返回不匹配的数据或被投毒的 NULL-IP,就会主动断开连接。
  • 最快 EMA: 跟踪每个上游的纳秒级延迟。使用 Epsilon-Greedy 算法坚持使用最快的解析器,同时保留 5% 的查询用于随机探索,以发现正在恢复的网络路径。
  • SingleFlight 合并: 相同的并发缓存未命中查询会被无缝合并为一次出站执行,从而消除惊群峰值。

激进缓存

最近回答过某个查询?直接从缓存提供。sdproxy 使用 32 个加密种子、无锁的内存分片。如果某条记录在仍然热门时过期,sdproxy 会触发后台预取,让你的设备永远不会察觉到缓存未命中。它完全支持 RFC 8767 陈旧数据服务。

了解你的本地网络

将它指向你的 DHCP 租约文件和 /etc/hosts,它就能在不打扰上游解析器的情况下回答本地名称查询(你的 NAS、打印机、树莓派)。支持 dnsmasq、ISC DHCP、Kea 和 odhcpd。

对不同设备进行不同路由

将设备身份映射到不同的上游解析器组或家长配置文件。

  • 标识符: MAC 精确匹配、MAC 通配掩码、IP / CIDR、ASN(通过 IPinfo 获取自治系统号)、客户端名称、TLS SNI 和 HTTP DoH 路径。
  • 即时沉洞: 将显式 DNS 返回码(RCODE: REFUSED、NXDOMAIN)直接绑定到路由规则,以即时隔离客户端。

家长控制——按孩子、按类别

为每个孩子设置一个配置文件,分配他们的设备,并配置:

  • 时间表——上学日与周末使用不同时段。
  • 时间预算——逐分钟累计跟踪。总计 2 小时,并带有子限制(1 小时游戏,30 分钟社交媒体)。
  • 类别拦截——从公共仓库动态加载(uBlock、hosts 或原始域名列表)。
  • 状态跟踪: 时间跟踪通过 DNS 心跳 TTL 运行,并快照到磁盘以在重启后保留。

Web 管理面板

可选的、受密码保护的基于浏览器的 UI,用于实时操作。

  • 即时将设备组切换为 ALLOW(大门敞开)、BLOCK(切断互联网)、FREE(暂停限制)或 LOG(审计模式)。
  • 查看实时流式查询日志和 24 小时环形缓冲区性能图表。

防御 DNS 重绑定

丢弃任何包含私有或 bogon IP(RFC1918、环回、ULA)的上游响应,并返回 NXDOMAIN,以防止服务器端请求伪造(SSRF)和浏览器枢转攻击。


快速开始

root@kitploit:~
git clone https://github.com/cbuijs/sdproxy
cd sdproxy
go build -o sdproxy .
./sdproxy --config config.yaml

需要 Go 1.25+。无 CGo,无外部库。

最小配置

root@kitploit:~
server:
  listen_udp: ["0.0.0.0:53"]

cache:
  enabled: true
  size: 1024

upstreams:
  default:
    - "udp://1.1.1.1:53"
    - "udp://9.9.9.9:53"

为你的路由器构建

root@kitploit:~
# OpenWrt MIPS (TP-Link, Netgear, etc.)
GOOS=linux GOARCH=mipsle GOMIPS=softfloat go build -ldflags="-s -w" -o sdproxy .

# OpenWrt ARM (Linksys, Asus, etc.)
GOOS=linux GOARCH=arm GOARM=7 go build -ldflags="-s -w" -o sdproxy .

# OpenWrt x86_64
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o sdproxy .

-s -w 标志会剥离调试符号——可节省 30-40% 的二进制大小,这在小型闪存存储上很重要。


配置

一切都放在一个 YAML 文件中。本仓库中的 full_reference_config.yaml 以内联方式记录了每一个选项——该文件就是手册。复制它,去掉你不需要的内容,调整其余部分。


日志输出

root@kitploit:~
2026/05/01 14:23:01 [DNS] [DoH3+ECH] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | UPSTREAM: doh3://cloudflare-dns.com | OK
2026/05/01 14:23:02 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> google.com A | ROUTE: kids | CACHE HIT
2026/05/01 14:23:05 [DNS] [DoQ] 192.168.1.10 -> nas.lan A | LOCAL IDENTITY
2026/05/01 14:23:10 [DNS] [UDP] 192.168.1.42 (alice-iphone) -> dga-domain-xzq1.com A | DGA INTERCEPT (Score: 98.2) | NXDOMAIN
下载工具