以下操作基本上都可以使用ssh連線後以cli完成,不過小白方案當然還是以gui為主,以下操作需要winscp.
1.安裝
先弄清楚安裝這的意義在哪,不像對岸要翻牆有的沒的.只是要過濾廣告跟dns分流的話,可以使用ADGH單獨完成,不需要dnsmasq.如果要dhcp可能得考慮ADGH server的穩定性(我沒測,但相較dnsmasq算是很新的開發).
程式本體大概需要約30MB(現在版本29.1MB)

安裝使用openwrt自帶的opkg安裝adguardhome.這樣相關設定可以簡單很多

如果你要跟dnsmasq併存,請尋搜網上其他人的做法port改寫避免衝突,我直接停用dnsmasq, dhcp server是另一台router負責,釋放port 53避免衝突.
2.升級
通常opkg的版本比ADGH的版本落後,可以自行去ADGH官網下載上傳
ADGH主程式位置在/usr/bin/

如果不知道下哪個版本自己看LUCI首頁

這個就是用linux arm64的版本
3.過濾清單
這個是重之重,選用清單很重要,記憶體用到大清單會狂吃記憶體,然後更新清單的時候記憶體用量會爆增(Golang的編譯問題?)基本上預設得加上AdGuard DNS Popup Hosts filter就差不了

完全沒用過濾

基本過濾(從上開始往下的3個清單)

全部清單(主要是TIF清單太大,這個其實非必要,可以丟給防毒軟體)

請根據自己的型號選擇過濾清單
3.重開機過濾清單更新規則會消失為0
因為ADGH預設是放在記憶體,所以重起的時候,不會有記錄. 在網路連線建立前就啟動更新會造成連線失敗,清單數歸0
設定延後啟動就可以了
procd_add_raw_trigger "interface.*.up" 5000 /etc/init.d/adguardhome restart
這裡5000意味著5000ms,理論上不用這麼久.應該1000ms就夠了

4.使用大型過濾清單
這個會在更新大型清單發生2件事,吃光cpu跟記憶體
可以在procd_open_instance跟procd_close_instance之間多輸入
procd_set_param env GOMEMLIMIT=200MiB GOGC=60
記憶體不多可以砍到100或是150, 這可以控制更新時的消耗

不過清單太大的情況下依然會吃光記憶體,只能用swap避免爆ram死機.沒usb口的就沒得玩了
需要另外準備安裝模組
kmod-usb-core
kmod-usb-storage
kmod-usb-xhci-hcd(usb3選用)
kmod-usb3(usb3選用)
-------------------------------------
fdisk(格式化隨身碟跟分區)
block-mount(掛載管理)
基本上usb分割指定為swap用途這塊得用指令,問題會比較少.掛載分區可以在luci下操作,比較簡易.
