前言
防偷cookie可以自建dns和对容器内请求抓包。
dns服务:可以用adguard或dnsmasq,小白推荐adguard,有ui可以直接屏蔽可疑解析。
容器创建参数加上—dns=xxx.xxx.xxx.xxx即可。
抓包:tcpdump、iptraf、iptables等网络抓包工具,帮助文档自行百度。如果是在本地跑的,可以配置http proxy使用fiddler、wireshark、charles等抓包工具操作。
- https://zditect.com/article/1695775.html
- https://juejin.cn/post/6844904084168769549
- https://cloud.tencent.com/developer/article/1506253
自建DNS(Adguard)
拉取最新的Adguard稳定版本:
docker pull adguard/adguardhome
创建本地工作目录:
mkdir /etc/Adguard
创建并运行容器:
docker run --name adguardhome\
--restart unless-stopped\
-v /etc/Adguard:/opt/adguardhome/work\
-v /etc/Adguard:/opt/adguardhome/conf\
-p 531:53/tcp -p 53:53/udp\
-p 67:67/udp -p 69:68/udp\
-p 802:80/tcp -p 4431:443/tcp -p 4431:443/udp -p 3000:3000/tcp\
-p 853:853/tcp\
-p 784:784/udp -p 853:853/udp -p 8853:8853/udp\
-p 5443:5443/tcp -p 5443:5443/udp\
-d adguard/adguardhome
注:
- 对应关系:
- TCP:531对应53端口,802对应80端口,4431对应443端口
- UDP:69对应68端口
- 部署前需要提前在阿里云和宝塔面板开放相关的端口:531、802、4431、3000、853、5443
- 进入初始配置界面:http://IP:3000,开始配置
- 之后进入面板界面:http://IP:802
- 将青龙面板容器的DNS配置为Adguard的:
在/etc/docker/daemon.json
中添加如下内容:
实测如果添加了备选DNS,那么Adguard将无法截取到相关数据,所以DNS只能配置为一个Adguard的地址
"dns" : [
"172.17.0.3"
]
重启docker服务
systemctl restart docker
检查容器dns
可以看到DNS已经被替换为了Adguard的地址
- 测试
此时可以运行任意一个青龙面板上的脚本:
然后在Adguard的仪表盘上即可看到相应的数据了: