广告拦截新选择--AdGuardPrivate
AdGuardPrivate 是一款专注于网络隐私保护与广告拦截的 DNS 服务工具,基于开源项目 AdGuard Home 二次开发,通过智能流量分析和过滤技术,为用户提供安全、高效的上网环境。以下是其主要功能与特点:
核心功能:广告拦截与隐私保护
- 广告拦截:通过 DNS 层面拦截网页广告(如横幅、弹窗、视频广告等)及移动应用内广告,提升浏览速度和设备性能。
- 隐私防护:阻止跟踪器、社交网络插件和隐私窃取请求,防止用户行为数据被收集,同时拦截恶意网站、钓鱼链接和恶意软件。
- DNS 防污染:通过加密 DNS(支持 DoT、DoH、HTTP/3)防止流量劫持,确保域名解析的准确性和安全性。
进阶特性:定制化与优化
- 自定义规则:支持用户添加第三方黑白名单或自定义过滤规则,灵活控制特定应用、网站或游戏的访问权限。
- 智能解析:可配置局域网设备的友好域名解析(如 NAS 或企业服务器),简化网络管理。
- 统计分析:提供详细的请求日志、拦截统计和 72 小时查询记录,帮助用户监控网络使用情况。
家庭与企业场景支持
- 家长控制:可屏蔽成人网站和游戏,管理家庭成员的上网时间,保护未成年人。
- 企业级部署:支持分布式服务器负载均衡,优化大陆地区的访问体验,并通过阿里云节点提供稳定服务。
平台兼容性与服务模式
- 跨平台支持:兼容多种操作系统,无需额外软件,仅需配置加密 DNS 即可使用。
- 服务模式:
- 免费公共服务:提供基础广告拦截与安全规则,但可能存在误拦截问题。
- 付费私有服务:增强功能包括自定义解析、权威解析、设备分 ID 记录上网行为等,适合个性化需求。
技术优势与局限性
- 优势:全设备覆盖、零额外功耗,降低无效数据加载,适合移动设备续航优化。
- 局限性:拦截精度低于浏览器插件,无法实现 HTTPS 内容的深度过滤(如 MITM 方案)。
- 应用场景示例
- 个人用户:通过 AdGuardPrivate 阻止移动应用内广告,提升应用体验。
- 家庭用户:通过路由器部署 AdGuardPrivate,拦截全家设备的广告,并限制儿童访问不当内容。
- 企业网络:结合自定义规则屏蔽娱乐类网站,提升员工工作效率,同时保护内部数据安全。
使用 curl 获取 DNS 结果
本文介绍两种利用 curl 获取 DNS 查询结果的方法:
- DNS JSON 格式
- DNS Wire Format 格式
1. DNS JSON 格式查询
返回 JSON 格式的 DNS 响应,便于解析。
curl -H 'accept: application/dns-json' "https://dns.google/resolve?name=baidu.com&type=A" | jq .
Cloudflare
curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=baidu.com&type=A' | jq .
Aliyun
curl -H "accept: application/dns-json" "https://223.5.5.5/resolve?name=baidu.com&type=1" | jq .
dns.pub
curl -H 'accept: application/dns-json' 'https://doh.dns.pub/dns-query?name=baidu.com&type=A' | jq .
AdGuard Private DNS
# 暂不受支持
2. DNS Wire Format 格式查询
返回二进制格式的 DNS 响应,需要进一步解析。
curl -H 'accept: application/dns-message' 'https://dns.google/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump -c
Cloudflare
curl -H 'accept: application/dns-message' 'https://cloudflare-dns.com/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump -c
Aliyun
curl -H 'accept: application/dns-message' "https://dns.alidns.com/dns-query?dns=P8QBAAABAAAAAAAABWJhaWR1A2NvbQAAAQAB" | hexdump -c
dns.pub
curl -H 'accept: application/dns-message' 'https://doh.dns.pub/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump -c
AdGuard Private DNS
curl -H 'accept: application/dns-message' 'https://public0.adguardprivate.com/dns-query?dns=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB' | hexdump -c
使用 Python 解析 DNS 响应
# pip install dnspython
# pip install requests
# 解析 JSON 格式响应
import json
import requests
def query_dns_json(domain="example.com", type="A"):
"""使用 JSON 格式查询 DNS"""
url = "https://dns.google/resolve"
params = {"name": domain, "type": type}
headers = {"accept": "application/dns-json"}
response = requests.get(url, params=params, headers=headers)
return json.dumps(response.json(), indent=2)
# 解析 Wire Format 响应
def query_dns_wire(domain="example.com"):
"""使用 Wire Format 格式查询 DNS"""
import dns.message
import requests
import base64
# 创建DNS查询消息
query = dns.message.make_query(domain, 'A')
wire_format = query.to_wire()
dns_query = base64.b64encode(wire_format).decode('utf-8')
# 发送请求
url = "https://dns.google/dns-query"
params = {"dns": dns_query}
headers = {"accept": "application/dns-message"}
response = requests.get(url, params=params, headers=headers)
dns_response = dns.message.from_wire(response.content)
return str(dns_response)
if __name__ == "__main__":
print("JSON格式查询结果:")
print(query_dns_json())
print("\nWire Format查询结果:")
print(query_dns_wire())
生成 DNS Wire Format Base64 编码的数据
# pip install dnspython
import base64
import dns.message
import dns.rdatatype
# 创建一个DNS查询消息
query = dns.message.make_query('example.com', dns.rdatatype.A)
# 将消息转换为Wire Format
wire_format = query.to_wire()
# 转为base64
wire_format_base64 = base64.b64encode(wire_format).decode('utf-8')
# 打印
print(wire_format_base64)
如何使用必应国际版
有些搜索引擎不思进取,能搜到的有价值的内容越来越少,广告却越来越多。相信不少人都已逐渐放弃这类搜索引擎,转而使用必应(bing.com)。
但必应有多个版本:
- cn.bing.com 是中国版,搜索结果经过审查。
- 国内版:主要搜索中文内容。
- 国际版:同时支持搜索中文和英文内容。
- 国内版:主要搜索中文内容。
- www.bing.com 这是真正的国际版,搜索结果没有中国大陆的审查,可以搜索到更多“你懂的”内容。
这三个版本的搜索结果会有所区别。对于具备英文阅读能力的用户,强烈推荐使用国际版,能获取到更有价值的资料。
我就不详细展开真国际版搜索内容的差异了,有兴趣的朋友可以自行尝试。
真国际版还提供 Microsoft Copilot
的入口,类似于 ChatGPT
的功能,可以帮你总结搜索结果。虽然有使用频次限制,但正常使用是足够的。
国内版和国际版的切换没有难度,这里主要介绍如何使用必应真正的国际版。
相信不少人在设置里折腾了很久,但还是无法使用国际版,这可能是方向错了。
真正的限制在于 DNS。DNS 可以根据请求者的所在地域,给出不同的解析结果。例如,山东和河南请求 qq.com
的 IP 地址可能不一样。通常,DNS 会返回在地理位置上更靠近的服务器 IP。
因此,如果你想使用国际版,可以尝试将 DNS 更换为 Google 的 tls://dns.google
或者 Cloudflare 的 tls://one.one.one.one
。
这里只提供了两个 DNS 服务商的加密 DNS 地址,没有提供纯 IP 的 DNS,因为纯 IP 的海外 DNS 很容易被劫持,分享 8.8.8.8
和 1.1.1.1
毫无意义。
DNS 的设置方法可以参考 如何配置 DNS 加密。
注意,最简单的使用国际版必应的方法是使用加密 DNS,也有其他方法,本文不展开。
如果一个 DNS 不可用,可以依次尝试以下几个设置:
tls://dns.google
tls://one.one.one.one
tls://8.8.8.8
tls://8.8.4.4
tls://1.1.1.1
tls://1.0.0.1
通常会有两个能连接成功。如果全部无法连接,那只能寻找其他方法了。