〔OPENWRT〕架設 AdGurad Home 把網路邪門廣告與釣魚網站擋光光

架了一台 Windows NAS 後在上面安裝了 OpenWRT ,現在幾乎所有設備的連線都指到了這作為出入口,想說乾脆連廣告都從這裡擋掉好了,畢竟我們最需要的是 色情領航員 廣告守門員來避免一些網路廣告釣魚事件等等,而 OpenWRT 上正可以辦到這點。

登入 OpenWRT 管理中心(看你用的是什麼佈景主題,長相可能不一樣,但功能位置應該差不多),在軟體安裝中搜尋 adguardhome (= AdGuard Home 開放原始碼版本),接着點擊安裝。

安裝完畢後在「服務」底下將可以找到 AdGuard Home,點擊啓用、保存、點擊按鈕就會另開 AdGuard Home 管理介面:

AdGuard Home 的管理介面預設登入帳密是 root/root ,如果這僅是在內網使用,可以不用改,在儀表板就可以看到執行狀況:

設定內確認有勾選第一個啓用過濾功能,其他維持預設即可:

接着到「設定」中「DNS 設定」內設定 AdGuard Home 的上游 DNS,因爲 AdGuard Home 只負責從過程中攔截相關網址與查詢,所以實際上還要指定一個外部的 DNS 做解析,我則使用了常用的 Google + 中華電信的設定,並且將請求改爲並行,提高查詢速度與正確度:

再到「過濾器」點擊「DNS 封鎖清單」選項正式進入過濾設定的畫面:

加入過濾清單有兩種方法,一種是綠色按鈕加入此開放原始碼專案已知道現有的清單:
綠色按鈕或是藍色按鈕?
現有清單勾一勾儲存後已經夠用。

但因爲這些清單與此開放原始碼專案是針對中國與國外網路所設計,沒有台灣網站的清單,所以點選藍色按鈕將可以加入台灣網站可以使用的台灣版過濾清單,而我使用的清單來自於這裡:

專為台灣人設計的廣告阻擋規則:https://github.com/FutaGuard/LowTechFilter

其中有一個 Hosts 語法段洛的設定檔案可以提供給 AdGuard Home 使用,只要按下藍色按鈕後,輸入網址:

就可以阻擋掉絕大多數台灣廣告主機與農場文網站。

規則勾選太多可能會影響一些網站運作,請自我嘗試一下,也有網友整理其他好用的清單如下:

NeoHost-Basic:如果有在用中國網站的話(淘寶、騰訊、百度。。等等),推薦可以訂閱
https://hosts.nfz.moe/basic/hosts

CoinBlocker:可以擋掉一些拿你機器來挖礦的主機域名
https://zerodot1.gitlab.io/CoinBlockerLists/hosts

StevenBlack:知名的擋廣告清單,PiHole 有內建
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts

CHEF-KOCH NASBlocklist:可以擋掉一些 BIG BROTHER 政府機關
https://raw.githubusercontent.com/CHEF-KOCH/NSABlocklist/master/HOSTS/HOSTS

CHEF-KOCH ADs:這個作者很厲害,之前在 GitHub 上面抓出超多矽谷公司的域名,並提供清單阻擋,後來被微軟大律師搞死了,所以暫時在 GitLab 上面繼續維護,作者未來可能打算自己搭伺服器,想去了解事件始末可以到這個帖子去看看
https://gitlab.com/CHEF-KOCH/cks-filterlist/raw/master/hosts/Ads-tracker.txt

設定好怎麼沒有生效呢?因爲 AdGuard Home 還沒有取代原本的 OpenWrt 作為 DNS,回到 OpenWRT 畫面中將 1745 重新定向到 1450 標準的 DNS 埠、儲存後就可以啦:

電腦、手機等設備只要把 DNS 指向到 OpenWRT 的位置,就可以享有過濾廣告的功能啦。