Adblock Plus 深度盤點:這款老牌攔截器到底能做到什麼、不能做到什麼

系统工具 ·约 12 分钟 ·記筆記的貓:團子

adblockplus 是什麼

Adblock Plus(簡稱 ABP)是一款已經活了超過十年的廣告攔截軟體,最早從 Firefox 擴展起家,現在覆蓋 Chrome、Firefox、Edge、Safari 四大桌面瀏覽器,以及 Android 手機端和 iOS 端。它的核心思路很直接——在瀏覽器請求發出前、頁面元素渲染前,通過一套「過濾規則」把符合條件的廣告請求擋掉,或者把頁面上的廣告元素隱藏掉。

它不是唯一的廣告攔截器,同類產品還有 AdGuard、uBlock Origin、1Blocker 等,但如果你想了解更細節的設定與進階玩法,可以參考這份 adblockplus官網 指南;ABP 有兩個鮮明的定位:一是規則體系最成熟,全世界有數百萬人維護著各語言的訂閱列表;二是平台覆蓋最廣,從桌面到移動端幾乎每個瀏覽器都有對應版本。不過這兩點並不代表它在每個平台上的能力都一樣——這正是這篇盤點要講清楚的。

安裝

ABP 的 adblockplus下載 Android APK 安裝包只有 5.75MB,版本 1.3,包名 org.adblockplus.android。安裝方式和一般 Android 應用相同:下載 APK 後點擊安裝,若系統提示「未知來源」就到設定裡放行一次即可。安裝完成後首次啟動會進入一個簡短的設定嚮導——讓你選擇要啟用哪些訂閱規則列表(EasyList China 會自動勾選,中文用戶基本不用改),以及是否開啟「可接受廣告」(Acceptable Ads)白名單機制。

這裡有兩個常見的坑要注意:第一,如果你之前裝過其他廣告攔截器(比如舊版 AdBlock 或 AdGuard),建議先卸載乾淨再裝 ABP,殘留的舊規則文件可能導致兩個攔截器衝突;第二,Android 11 以上版本對 APK 安裝權限管得更嚴,首次安裝後如果發現自動更新功能失效,需要去系統設定裡手動給 ABP 「允許安裝未知應用」的權限。


一、規則體系:ABP 的核心競爭力

ABP 最強的地方不在於它自己攔了什麼,而在於它的規則生態。整個攔截引擎本質上是一個規則解析器——你給它什麼規則,它就攔什麼。所以理解 ABP 的能力,首先得理解這個規則體系是怎麼運作的。

訂閱列表:現成的廣告資料庫

打開 ABP 的設定面板,切到「過濾規則列表」標籤頁,你會看到一堆預設的訂閱——EasyList、EasyPrivacy、Fanboy's Annoyances 等等。這些都是社區維護的規則集合,每個列表可能有上萬條規則,覆蓋不同語言、不同類型的廣告和跟蹤器。

訂閱列表的好處是零門檻——你裝完 ABP,EasyList China 就自動啟用了,基本上國內主流網站的大部分廣告都能擋掉。但訂閱列表也有局限:它是「一刀切」的,某些網站的廣告是通過和主站不同的域名下載的,訂閱規則沒覆蓋到就攔不到;而某些網站的正常內容(比如 CDN 資源)可能因為域名相似被誤傷。

自訂規則:最精準的武器

當訂閱列表擋不掉某個廣告時,就該動用自訂規則了。ABP 的規則語法從 2000 年代初沿用到現在,已經非常成熟,但也有一套需要學習的邏輯。最常用的一種寫法是域名規則:

||doubleclick.net^

這條規則的意思是——匹配所有以 doubleclick.net 結尾的域名請求,不管什麼協議(http 或 https)、不管什麼子域名(cdn1.doubleclick.net 或 static.doubleclick.net)、不管後面跟什麼參數,一律攔截。|| 符號表示「從域名部分開始匹配」,^ 表示「域名在這裡結束了」。為什麼不用更直觀的 *doubleclick.net*?因為後者會誤匹配——如果某個正常網頁的 URL 路徑裡恰好包含 "doubleclick.net" 這個字串,也會被誤攔。

還可以在規則後面加上請求類型選項來提高精確度:

||doubleclick.net^$script,image

這表示只攔 doubleclick.net 域名下的腳本和圖片請求,其他類型(如主頁面 document、字型)不攔。這樣誤傷概率更低,但也可能漏掉某些廣告類型。寫域名規則之前,最好先在瀏覽器開發者工具的 Network 面板裡確認一下——打開被你標記為廣告的那個請求,看它的域名是什麼,再確認其他同類廣告是不是也走這個域名,然後再下筆,不要盲猜。

二、白名單與靈活控制:不是所有網站都該攔到底

廣告攔截器最容易犯的錯就是「一把梭」——所有網站一律攔,結果某些依賴廣告收入的小站直接撐不下去,或者某些網站因為攔截太狠導致功能異常。ABP 在這方面提供了比較細緻的控制粒度。

臨時禁用的三種方式

ABP 提供了三種不同粒度的臨時關閉方式,對應不同的場景需求:

方式一:針對當前網站的白名單開關。 這是最常用的——點一下瀏覽器工具栏上的 ABP 圖標,彈窗裡有一個當前域名的開關,關掉就等於把這個網站加進了例外規則,其他網站照樣攔。如果開了 ABP 的「智能白名單」功能,7 天後會自動延期(防止你忘了開回來)。適合的場景:某個網站加載異常,想先看看是不是 ABP 導致的;或者想在某個特定網站上支援它的廣告收入。

方式二:關閉當前標籤頁的所有過濾。 這個和方式一的效果幾乎一樣,但邏輯上有區別——方式一是「把當前網站加進例外規則」,方式二是「在當前標籤頁上完全關掉 ABP」,包括所有訂閱列表、自訂規則、所有功能。操作也很簡單:點 ABP 圖標,找「暫停」或「禁用此擴展程式」選項,點了之後當前標籤頁刷新,ABP 就完全不工作了。這種方式的優先級更高,連帶有 $important 標記的攔截規則都會被繞過。

方式三:在瀏覽器擴展管理裡全局禁用。 Chrome 點拼圖圖標 → 管理擴展 → 找到 ABP → 關閉開關;Firefox 進 about:addons → 找到 ABP → 禁用。這是全局關閉——所有標籤頁、所有網站,ABP 都完全停掉。適合場景:瀏覽器出問題,想排除是不是擴展衝突導致的,排查完重開就行。

白名單設定介面

可接受廣告機制

ABP 還有一個比較有爭議的功能叫「可接受廣告」(Acceptable Ads)——一些廣告主繳費後,他們的廣告會在 ABP 裡被標記為「可接受」,不自動攔截。這個功能預設是開啟的,但你可以在設定裡關掉。對大部分用戶來說,這個功能沒什麼實際影響——真正令人討厭的彈窗、插屏、跟蹤器仍然會被擋掉。

三、必須承認的短板:ABP 做不到的事

盤點不能只說好的,有些邊界是 ABP 無論怎麼升級都跨不過去的。

桌面版 vs 移動端:能力差距懸殊

這是很多用戶沒有意識到的一點——ABP 在不同平台上的能力完全不一樣。桌面版(Chrome、Firefox 等)通過瀏覽器擴展 API 工作,能夠拿到完整的請求響應內容,可以同時攔截網頁請求、注入 CSS 隱藏元素、阻止 WebSocket 和 Service Worker——幾乎做到了瀏覽器層的全覆蓋。

但移動端就受限多了。iOS 上 ABP 只能走 Safari 的 Content Blocker API——這是 Apple 開發者文檔裡明確規定的,能力被嚴格限制:只能攔 Safari 發起的網路請求、能注入元素隱藏 CSS,但不能讀取請求響應內容、不能攔 WebSocket、不能攔 Service Worker。更要命的是,App 之間的網路請求完全隔離——ABP 作為一個獨立 App,看不到其他 App(比如 TikTok、YouTube App)的請求,更不可能攔截。

Premium 訂閱到底能攔什麼

ABP 在 iOS 上提供了 Premium 訂閱,宣稱可以「攔 App 內廣告」。它的實現方式是在 iOS 設定裡安裝一個 VPN 描述文件——把所有設備流量重定向到 ABP 的本地過濾引擎,按域名規則過濾。但這個方案有兩個硬限制:

  • 只攔第三方域名——App 自己域名下發的廣告攔不到;
  • App 內影片廣告(比如 TikTok、YouTube App 裡的前貼片)幾乎全是 App 自有域名的分片,Premium 也攔不到。

所以實際效果是:Safari 內的廣告和跟蹤器,免費版就能搞定;App 內走第三方域名的廣告,Premium 能攔一部分;App 內自有域名的廣告(影片廣告、內建廣告位),什麼版本都攔不到。Premium 訂閱的主要價值其實是一個全局 Cookie 彈窗攔截——這點免費版做不了。

什麼場景下 ABP 會失效

除了平台限制,還有幾種情況 ABP 會無能為力:

  • 廣告和主頁同域名:很多新媒體網站把廣告腳本放在和主頁一樣的域名下載,ABP 無法區分哪些是廣告、哪些是正常內容;
  • WebAssembly 和 Service Worker 注入的廣告:這些技術繞過了傳統的請求攔截機制,目前 ABP 的 Content Blocker API 管不到;
  • 簡訊、推送通知廣告:這些根本不走瀏覽器,ABP 完全不在它的管轄範圍。

最後:什麼樣的人該用 Adblock Plus

盤點完能力面和邊界,回到一個簡單的問題——你該不該選 ABP,還是換別的?三種情況參考:

第一種:只想安裝完就忘記,不想折騰規則。 選 ABP 很合適——EasyList 家族的訂閱規則已經覆蓋了絕大多數場景,中文用戶自動啟用 EasyList China,基本不用額外設定。安裝包小(5.75MB)、啟動快、介面簡潔,符合這種「裝完就行」的需求。

第二種:對規則語法有興趣,想自己寫規則攔特定廣告。 ABP 是學習過濾規則語法的最好起點——它的語法已經成為事實上的行業標準,在 ABP 官網上能找到完整的規則語法文檔,網上也有大量規則分享。不過真要追求極致的話,uBlock Origin 的規則解析器效能更強,自訂規則的靈活度也更高。

第三種:用 iPhone、想攔 App 內廣告。 直接說——ABP 解決不了這個問題,換任何 iOS 端的攔截器都解決不了,這是 Apple 的平台限制。iOS 上能用的最有效方案是「私人 DNS」指向廣告攔截 DNS 服務(比如 AdGuard DNS),這屬於 DNS 級別的攔截,比瀏覽器層徹底,但無法做元素隱藏(所以攔不掉頁面上的廣告元素,只能擋請求)。

總結下來,ABP 是一款成熟、穩定、生態完整的廣告攔截工具——桌面端能力強,移動端有明顯的平台限制,但整體上「裝了就有效果」這點做得不錯。對大多數普通用戶來說,它已經足夠了;對有特殊需求的人來說,知道它的能力邊界在哪裡,比盲目追求「全攔」更重要。

本文為個人基於網路公開資料整理編寫,非官方內容,僅供學習交流參考;軟體版權歸原作者所有,請支持正版;使用過程中遇到問題請查閱官方管道,本文不承擔任何責任。

團子還試過這些