自动摘要
正在生成中……
1. 如果以前装过docker版的adg,先删除原有容器和相关配置,具体命令如下(以N1为例,贝壳云把 mmcblk1p3 换成 mmcblk0p4 即可):
- docker stop adguardhome
- docker rm adguardhome
- rm -rf /mnt/mmcblk1p3/adguardhome/confdir/*
- rm -rf /mnt/mmcblk1p3/adguardhome/workdir/*
- # 抓取最新版镜像(需要全局模式)(可选)
- docker pull adguard/adguardhome:arm64-latest
- # 清理镜像垃圾(可选)
- docker image prune -f
- # 启动容器(用hostnet)
- docker run --name adguardhome \
- -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \
- -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \
- --restart always \
- --net host \
- -d adguard/adguardhome:arm64-latest
-
复制代码
2. 如果是第一次安装docker版adguardhome的,具体命令如下(以N1为例,贝壳云把 mmcblk1p3 换成 mmcblk0p4 即可):
- # 抓取镜像(需要全局模式)
- docker pull adguard/adguardhome:arm64-latest
- mkdir -p /mnt/mmcblk1p3/adguardhome/confdir
- mkdir -p /mnt/mmcblk1p3/adguardhome/workdir
- # 启动容器(用hostnet)
- docker run --name adguardhome \
- -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \
- -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \
- --restart always \
- --net host \
- -d adguard/adguardhome:arm64-latest
复制代码
之后进入 http://路由器ip:3000/ 初始化设置,设置时需要改两个端口:80(我改成1080),53(我改成1053)初始化完成后,用1080端口即可进入主界面
3. 把adg服务端口(1053)设置为dnsmasq的上游,具体方法:
打开openwrt的"网络“->"DHCP/DNS", "DNS转发"设为 127.0.0.1#1053
4. 双Adg容器用法:adg主要用于国内网站的去广告,至于国外网站, 梯 子软件一般是用pdnsd或基于5335端口的dns,总之,国内dns和国外dns是两套体系,最好不要混在一起(比如,再建一个adg容器专门用于国外dns处理,这样也是可行的)
- # 第1个(国内) 80改成1080,53改成1053
- mkdir -p /mnt/mmcblk1p3/adguardhome/confdir
- mkdir -p /mnt/mmcblk1p3/adguardhome/workdir
- # 启动容器(用hostnet)
- docker run --name adguardhome \
- -v /mnt/mmcblk1p3/adguardhome/workdir:/opt/adguardhome/work \
- -v /mnt/mmcblk1p3/adguardhome/confdir:/opt/adguardhome/conf \
- --restart always \
- --net host \
- -d adguard/adguardhome:arm64-latest
- # 注:此adg的上游dns设成国内比较快的dns, 然后修改dnsmasq的上游dns为 127.0.0.1#1053
- #先配置好第1个,再运行第2个,否则3000端口会冲突
-
- # 第2个(国外) 80改成1081,53改成5335(需要提前关闭占用5335端口的程序)
- mkdir -p /mnt/mmcblk1p3/adguardhome/confdir_gfw
- mkdir -p /mnt/mmcblk1p3/adguardhome/workdir_gfw
- # 启动容器(用hostnet)
- docker run --name adguardhome_gfw \
- -v /mnt/mmcblk1p3/adguardhome/workdir_gfw:/opt/adguardhome/work \
- -v /mnt/mmcblk1p3/adguardhome/confdir_gfw:/opt/adguardhome/conf \
- --restart always \
- --net host \
- -d adguard/adguardhome:arm64-latest
- #注:此adg的上游dns设成 tcp://国外知名dns
-
复制代码
5. 比较复杂的用法:另外,如果自己有vps的话,在vps上建一套adg也可以,当然同时也需要开启 dns over https或dns over tls ,并结合openwrt上的smartdns, 这种方案就比较高级了)
高级用法拓扑示例(必须拥有自己的vps):
dnsmasq-> adghome(1053) (专门处理国内dns,上游dns不要设8888之类的)
梯 子软件 -> smartdns(5335) ---- 用https或tls协议 ---> adghome(在自己的vps上装, 同样采用docker方式,并开启dns加密)(专门处理国外dns, 用caddy申请ssl证书,证书给 caddy、trojan和adg共用)
参考资料:
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=981406&page=171#pid6983195