在你的網路中使用樹莓派和 Pi-hole 攔截廣告
有一個閑置的樹莓派?在瀏覽網頁時討厭廣告?Pi-hole 是一個攔截廣告的開源軟體項目,它可以將你的家庭網路上的所有廣告路由到一個不存在的地方,從而實現在你的設備上攔截廣告的目的。這麼好的方法只需要花幾鐘的時間來設置,你就可以使用它了。
Pi-hole 攔截了超過 100,000 個提供廣告的域名,它可以攔截任何設備(包括移動設備、平板電腦、以及個人電腦)上的廣告,並且它是完整的攔截了廣告,而不是僅將它們隱藏起來,這樣做可以提升總體的網路性能(因為廣告不需要下載)。你可以在一個 web 界面上、或者也可以使用一個 API 來監視性能和統計數據。
你需要:
- 樹莓派 + SD 卡
- USB 電源線
- 乙太網線
你不需要使用一個最新型號的樹莓派 — 一個老款足夠完成這項工作,只要它的內存不小於 512MB 就可以 — 因此一個一代樹莓派 Model B(rev 2)就足夠,一個 Model B+、或者二代的或者三代的樹莓派都可以。你可以使用 Pi Zero,但需要一個 USB micro 乙太網適配器。你可以使用一個帶 WiFi 的 Pi Zero W 而不是乙太網。但是,作為你的網路基礎設施的一部分,我建議你使用一個性能良好、穩定的有線連接來代替 WiFi 連接。
準備 SD 卡
開始的第一步,你可能需要將 Raspbian Stretch Lite 安裝到一個 SD 卡上。SD 卡至少需要 4GB 大小(完整的桌面版 Raspbian 鏡像至少要 8GB,但是 Lite 版鏡像更小更輕量化,足夠完成這項工作)。如果你喜歡,也可以使用完整的 Raspbian 桌面版鏡像,但是作為一個去運行簡單應用程序的樹莓派,你沒必要做更多的事情。
使用你的個人電腦,從樹莓派的網站上下載 Raspbian Stretch Lite 鏡像。解壓它並提取出裡面的 .img
文件,然後將這個 .img
文件寫入到你的 SD 卡。不論你的 SD 卡是否是空白的,這一步都不會有什麼麻煩,因為在寫入前它會清空上面的數據。
如果你使用的是 Linux,寫入鏡像文件更簡單的辦法是使用命令行工具 dd
。或者,你也可以使用跨平台的軟體 Etcher (可以去參考 Les Pounder 寫的指南 「如何為樹莓派準備 SD 卡「)。
SD 卡準備完成之後,你可以將它插入到你的樹莓派,連接上鍵盤、顯示器和乙太網,然後為樹莓派接上電源。在初始化設置之後,這個樹莓派就不需要鍵盤或顯示器了。如果你有使用「 無末端 」樹莓派工作的經驗,你可以 啟用 SSH 然後去設置它 啟用遠程連接。
安裝 Pi-hole
在你的樹莓派引導完成之後,用預設用戶名(pi
)和密碼(raspberry
)登入。現在你就可以運行命令行了,可以去安裝 Pi-hole 了。簡單地輸入下列命令並回車:
curl -sSL https://install.pi-hole.net | bash
這個命令下載了 Pi-hole 安裝腳本然後去運行它。你可以在你的電腦瀏覽器中輸入 https://install.pi-hole.net
來查看它的內容,你將會看到這個腳本做了些什麼。它為你生成了一個管理員密碼,並和其它安裝信息一起顯示在你的屏幕上。
就是這麼簡單,幾分鐘之後,你的樹莓派將準備好為你攔截廣告。
在你斷開樹莓派連接之前,你需要知道它的 IP 地址和你的路由器的 IP 地址。(如果你不知道),在你的終端中輸入 hostname -I
來查看你的樹莓派的 IP 地址,輸入 ip route | grep default
來找到你的路由器的 IP 地址。你看到的將是像 192.168.1.1
這樣的地址。
配置你的路由器
你的樹莓派現在運行著一個 DNS 伺服器,接下來你需要告訴你的路由器去使用 Pi-hole 作為它的 DNS 伺服器而不是你的 ISP 提供給你的預設 DNS。進入路由器的管理控制台 web 界面。這個界面一般是輸入你的路由器的 IP 地址來進入的。
找到 LAN 設置下面的 DHCP/DNS 設置,然後將你的主 DNS 伺服器的 IP 地址設置為你的 Pi-hole 的 IP 地址。設置完成之後,它應該你下圖的樣子:
關於這一步的更多信息,可以查看 Pi-hole discourse。
你還需要確保你的 Pi-hole 始終保持相同的 IP 地址,因此,你需要去查看 DHCP 設置,將你的樹莓派的 IP 地址條目添加到保留地址中。
外部測試
現在,在命令行下輸入 sudo halt
關閉運行的樹莓派,並斷開它的電源。你可以拔掉顯示器連接線和鍵盤,然後將你的樹莓派放置到一個合適的固定的地方 — 或許應該將它放在你的路由器附近。確保連接著乙太網線,然後重新連接電源以啟動它。
在你的個人電腦上導航到一個網站(強烈建議訪問 Opensource.com 網站),或者用你的 WiFi 中的一個設備去檢查你的網際網路訪問是否正常(如果不能正常訪問,可能是你的 DNS 配置錯誤)。如果在瀏覽器中看到了預期的結果,說明它的工作正常。現在,你瀏覽網站時,應該再也看不到廣告了!甚至在你的 app 中提供的廣告也無法出現在你的移動設備中!祝你「衝浪」愉快!
如果你想去測試一下你的廣告攔截的新功能,你可以去這個 測試頁面 嘗試瀏覽一些內置廣告的網站。
現在你可以在你的電腦瀏覽器上輸入 Pi-hole 的 IP 地址來訪問它的 web 界面(比如,http://192.168.1.4/admin
或者 http://pi.hole/admin
也可能會工作)。你將看到 Pi-hole 管理面板和一些統計數據(在這時可能數字比較小)。在你輸入(在安裝時顯示在屏幕上的)密碼後,你將看到更漂亮的圖形界面:
你也可以微調你的 Pi-hole 的設置,像域名的白名單和黑名單、永久和臨時禁止、訪問攔截統計信息等等。
個別情況下,你可能需要去升級你的 Pi-hole 安裝。當軟體需要更新時,這個 web 界面會出現一個更新提示。如果你啟用了 SSH,你可以遠程登入,否則,那你只能再次連接鍵盤和顯示器。遠程登入之後,輸入 pihole -up
命令來更新它。
如果你使用過 Pi-hole 或者其它的開源廣告攔截器,請在下面的評論區把你的經驗共享出來。
via: https://opensource.com/article/18/2/block-ads-raspberry-pi
作者:Ben Nuttall 譯者:qhwdw 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive