AdGuard Home使用體驗
AdGuard Home is a network-wide software for blocking ads and tracking. After you set it up, it'll cover ALL your home devices, and you don't need any client-side software for that.
"AdGuard Home 是一個全域範圍的,用來阻擋廣告和追蹤的軟體。當你安裝完成之後,它將覆蓋你家裡所有的裝置,你從此不需要任何客戶端軟體來阻擋廣告"
前言
說起AdGuard Home你也許會比較陌生,但如果說起AdGuard那你大機率使用過它的外掛。
“AdGuard是全球最先進的廣告攔截器”,這句話如果單領出來確實有點廣告法,但的確對得起AdGuard的強大功能,我最常見使用的是AdGurad的瀏覽器外掛,這個外掛能攔截絕大數的瀏覽器廣告,但對於一些基於無法安裝外掛的情況,比如說微信小程式裡面的廣告,這種方法就無濟於事了
因此AdGurad推出了AdGurad Home,從根源上解決了廣告的問題
目前該專案已經開源到了GitHub:地址
技術解析
Free and open source, powerful network-wide ads & trackers blocking DNS server.
"免費和開源、強大的全域網路廣告與追蹤器阻擋DNS伺服器"
AdGuard Home的本質其實是一個DNS快取伺服器,它透過從上游DNS伺服器中獲取DNS解析結果,與本地的DNS黑名單和白名單進行匹配,從而對屬於廣告或者其他你不願意看到的內容的DNS請求進行過濾,如果裝置請求的域名在黑名單中,AdGuard Home則不會返回DNS解析結果,從而達到遮蔽廣告和追蹤器的功能。
如果是黑名單中的域名,最終返回客戶端的請求結果會是:
響應程式碼
NOERROR
規則
||data.kuiniuca.com^
AdGuard DNS filter
響應
A: 0.0.0.0 (ttl=10)
響應
AAAA: :: (ttl=10)
安裝
官方的文件提供的很詳細的安裝教程,在這裡比較推薦的部署方法是採用Docker:
docker run --name adguardhome\
--restart unless-stopped\
-v /my/own/workdir:/opt/adguardhome/work\
-v /my/own/confdir:/opt/adguardhome/conf\
-p 53:53/tcp -p 53:53/udp\
-p 67:67/udp -p 68:68/udp\
-p 80:80/tcp -p 443:443/tcp -p 443: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
為了避免DNS快取資料和配置檔案的丟失,你應該將/opt/adguardhome/work
與/opt/adguardhome/conf
對映出來做持久卷處理。你也不必擔心該資料的龐大體積,DNS資料本身很小
liueic@liueic-ThinkCentre-M910x:~/adguard$ ls -lh
總用量 8.0K
drwxr-xr-x 2 root root 4.0K 7月 29 14:45 confdir
drwxr-xr-x 3 root root 4.0K 7月 27 16:29 workdir
其中AdGuard Home還提供了HDCP
、TLS
、DOH
等諸多功能,如果你部署在區域網而且已經有主路由,只想將AdGuard Home當作DNS伺服器,那你可以只開放53、3000,並將80對映為其他埠作為WebUI的埠
安裝完成進入http://IP:3000
進行設定
使用
前面說了AdGuard Home,主要是作為DNS快取伺服器使用,因此選取未被汙染的上游DNS伺服器顯得尤為重要,在這裡我推薦幾個我使用比較多的DNS伺服器:
https://dns10.quad9.net/dns-query # AdGuard Home官方維護
https://dns.google/dns-query # Google DoH伺服器
https://1dot1dot1dot1.cloudflare-dns.com/ # CloudFlare DoH伺服器
dns.google # Google DoT伺服器
cloudflare-dns.com # CloudFlare DoT伺服器
dns.alidns.com # 阿里雲 DoT伺服器
dot.pub # DNSpub DoT伺服器
https://dns.alidns.com/dns-query # 阿里雲 DoH伺服器
https://223.5.5.5/dns-query # 阿里雲 DoH伺服器
https://223.6.6.6/dns-query # 阿里雲 DoH伺服器
在這裡我選取了較多的上游伺服器,其中需要注意的是阿里雲公共DNS對於請求數量進行了限制(QPS 20),而騰訊的公共DNS有汙染的傳言,所以並不完全可靠
在這裡我推薦你使用並行請求
,加上樂觀快取
,這樣的話可以在儘可能保證請求質量的基礎上加快本地的DNS請求速度
其實你沒必要擔心因為樂觀快取
的存在而影響DNS解析的正確程度,因為你訪問的大多數網址的DNS解析結果一般不會發生較大的變化,相反由於樂觀快取
的本地快取,整個DNS請求的效率會很高,會大大改善本地的網路連線狀況:
DNS 黑名單
AdGuard Home的DNS 黑名單是整個的核心,它決定了最終對抗廣告和追蹤器的質量,在這裡我推薦一個效果比較好,誤傷比較小的DNS黑名單,以下加速連結為CDN加速後的連結:
AdGuard DNS filter:原始連結 | 加速連結
AdAway Default Blocklist:原始連結 | 加速連結
AdGuard Base filter:原始連結 | 加速連結
AdGuard Chinese filter:原始連結 | 加速連結
CJX's Annoyance List:原始連結 | 加速連結
乘風MV:原始連結 | 加速連結
乘風Rules:原始連結 | 加速連結
jiekouAD: 原始連結 | 加速連結
EasyList:原始連結 | 加速連結
EasyList China:原始連結 | 加速連結
EasyPrivacy:原始連結 | 加速連結
BlueSkyXN:原始連結 | 加速連結
總體來說效果還是很不錯的,一些常見的廣告都可以過濾,你還可以新增一些特殊的規則,比如說針對“電子書”、“電視劇”等等
總結
總體來說,使用體驗還是很不錯的,尤其是本地有DNS快取之後整體的解析速度很快,而且也不會存在因為解析錯誤而導致無法訪問的情況。
如果你想要了解更多的話,不妨看看我的小站:小樹