1Blocker,可能是目前最好用的 Safari 內容攔截應用

自從蘋果在 iOS 9 中開放了 Safari 內容攔截接口以后,內容攔截應用一度火爆一時。1Blocker 是最早的一批內容攔截應用之一,由兩位國外獨立開發者 Rinat KhanovSalavat Khanov 開發,有 iOS 和 Mac 版本。因為一些獨有的功能和優秀的表現,獲得了很高的評價,堪稱是目前最好用的 Safari 內容攔截應用。

內容攔截 ≠ 廣告攔截

關于內容攔截,很多人會有個先入為主的錯誤認識:內容攔截 = 廣告攔截。這多半是因為此類攔截應用,在宣傳的時候都會打著「廣告攔截」的名號。

但真實情況并非如此——內容攔截是 Safari 區別于其他瀏覽器的一個內置特性。Safari 以外的瀏覽器,攔截廣告的擴展多是基于 JavaScript 腳本的。瀏覽器在讀取網頁時要先載入這些腳本,會導致加載時間變長,消耗內存增多,造成電池損耗。

而 Safari 的「內容攔截」則是通過預先將規則寫入瀏覽器,來防止這些內容加載,以達到節省流量和加載時間的作用。能攔截的內容也不僅僅是廣告,還包括追蹤器、腳本、Cookies 和其他會拖慢加載速度的內容。

啟用內容攔截應用的方式很簡單——Mac 版需要安裝 Safari 擴展,而 iOS 版只要在「設置 > Safari > 內容攔截器」中開啟允許攔截即可。

iPad & iPhone 界面

1Blocker 內置了 9 組攔截規則組,包括廣告攔截、追蹤腳本、反廣告攔截、社交分享組件、評論組件等。啟用后,這些攔截規則就將作用于 Safari(包括原生應用中內嵌的 Safari)。

高可玩性的自建規則

除了內置規則組外,1Blocker 還具備非常高可玩性的自建規則,這也是它配稱作「好用」的主要原因之一。

選取攔截頁面元素

1Blocker iOS 在之前的版本更新中,加入了選取攔截頁面元素的可視化編輯器。這是 1Blocker for iOS 里我最喜歡的功能,它使得 iOS 上「攔截頁面元素」這個功能的易用性提升了數倍。

舉個例子來說,我們在瀏覽網頁時,經常會看到該網站 App 的引流橫幅,很影響閱讀體驗。這時候,就可以用 Safari 的 Share Sheets 呼出 1Blocker 的選擇器,對要攔截的元素確認進行攔截。

選擇元素攔截

雖然該功能還是 Beta 版,但是開發者已經做了不少可用性上的優化。比如由于頁面元素的點選不可能很精準,所以提供了 NarrowExpand 兩個選項供你調整選區。

自定義 URL 和 Cookies 攔截

除了隱藏元素,1Blocker 還可以添加自定義 URL 攔截,以及針對某些域名屏蔽 Cookies。聲明這些規則時,需要用到「正則表達式」——一些用來描述字符規律的符號。

如果你不熟悉正則表達式也不要緊,首先 App 中有一些符號的基本使用說明。另外,由于 Safari 內容攔截本身就反對使用過于復雜的正則表達式,所以你大概只需要知道要用 \. 來表示 ..* 可以表示 URL 中的任意字符(或者沒有字符),而 https?:// 可以表示 http://https://( 1Blocker 攔截規則中 / 不用轉義) 即可。

下圖是是對 1Blocker 完整攔截一個域名規則的一些解釋,可以幫助理解和編寫自己的規則。

正則表達式

白名單

雖然隨著攔截插件的日漸盛行,越來越多的網站已經開始調整廣告的呈現形式,或將移動業務重心轉移至原生應用。但是,仍有很多獨立站點依然依靠流量廣告來作為收入來源。針對這些站點,1Blocker 提供了一鍵設置白名單,通過 Safari 的 Share Sheets 呼出 1Blocker 即可「拉白」當前域名。

設置白名單

真正強大的 Mac 版

不管 1Blocker for iOS 有多么令人興奮的功能,真正能發揮其所有功能的還當屬 Mac 版。前者最大的短板在于:不管在可用性上做的多好,都始終回避不了內容攔截的本質——你需要首先能「找到」要攔截的內容,才能制定攔截規則

更徹底的元素攔截

和 iOS 版一樣,1Blocker for Mac 也有頁面元素攔截的可視化編輯器,但是借助「網頁檢查器」這個利器,可以實現更為徹底的元素攔截。

在 Mac 的 Safari 上,通過右鍵菜單>檢查元素,你可以打開「網頁檢查器」查看頁面上任意元素的代碼,以及站點加載的所有字體、腳本、樣式表等資源文件。

網頁檢查器

在使用 1Blocker for iOS 屏蔽淘寶手機站廣告橫欄時,你會發現并不能有效的攔截。這是因為像 1Blocker 這種攔截器,在選擇元素的時候,使用的是元素的idclass這類簡單選擇器。

這些選擇器通常能做到唯一對應,但淘寶這個橫欄由于是 JS 生成的,idclass 的值每次都不同。雖然你生成的規則能成功攔截這個 id=o12dfs 的元素,但是再次刷新后,它又變成了 id=idfd23。這就導致你之前制定的規則完全無效。

好在1Blocker 支持所有被 WebKit 所支持高級 CSS 選擇器,也就是說可以運用一些高級語法來更精準的選擇元素。比如通過分析源碼發現淘寶的這個元素標簽有一個行內樣式,于是就可以通過標簽[屬性]這種形式來精準匹配這個元素:div[style="display: block; position: relative; z-index: 0;"]

找到要攔截的元素

想要了解更多關于CSS Leve 4 選擇器 請參考 w3c 的 文檔。另外,獲取元素路徑還有個便捷的辦法——右擊元素標簽,選擇「拷貝選擇器路徑」即可。

拷貝選擇器路徑

iCloud 同步和導入規則包

1Blocker 另一個令人難以割舍的原因在于,所有你修改和建立的攔截規則或白名單,都能通過 iCloud 實時同步。想象一下你在 Mac 上建立了一堆復雜的攔截規則,低頭拿起 iPhone 就能訪問經攔截后的網頁的那種酸爽!

此外,在 Mac 上你所有的自建規則組,除了可以通過 iCloud 同步外,還能導出成后綴名為 .1blockpkg 的 JSON 格式文件。這樣就可以將自己的規則組導出分享給別人,而接收方只要在 Mac 或 iOS 設備上打開文件就能導入你的規則包。

這里分享一個我從 AdBlock 著名的規則列表 EasyList China 中移植過來規則包,為了保證普遍適用性,只移植了通用攔截規則部分,歡迎從 GitHub 上 下載 或者 fork 走。

問題和不足

1Blocker 當然也還存在不少問題,首先它所面臨最根本的挑戰是:我們真的需要一個 iOS 設備上的網頁內容攔截器嗎?既然我們在使用這些設備時,有超過 90% 的時間都是花在原生應用上,為余下的百分之幾時間提供一個復雜的體驗優化方案,怎么看都不向是個明智的決定。

試問,有多少影響閱讀體驗的廣告是不能通過「閱讀模式」一鍵解決的呢?

其次,亟需解決的還有本地化的問題。這里的本地化并非指簡單的用戶界面翻譯,而是攔截規則的本地化。雖然它對于美國多數網站的優化攔截是到位的,但到了國內,最終效果與 Adblock 或 uBlock 等老牌攔截應用還有不小的差距。

1Blocker 并沒有一個活躍的社區,單靠用戶反饋、開發者補足規則的形式,顯然不足以應對全部狀況。雖然 1Blocker 提供足夠強大的自定義攔截工具,但完善攔截規則是一件需要投入大量學習成本和時間成本的事。

而普通用戶對攔截應用好壞的評判,并非基于是否提供了各種自定義工具,而是看它能否一次安裝就一勞永逸,默默地做好攔截工作。而對于 Power user 們來說,如果能精準地定位到影響網頁加載的廣告或腳本,把它們寫進 Surge 這類全局代理軟件的 Reject 列表里,難道不是一件適用面更廣的事么?

尾巴

雖然我還挺為 1Blocker 的產品定位擔憂的,但對于蘋果「全家桶」用戶們來說,它仍然不失為目前最為好用的 Safari 內容攔截器。尤其是當「好用」這個詞不作為形容詞,而作為動詞時。

現在你可以在 App Store 免費下載 1Blocker for iOS,但免費版本僅可開啟一組內置規則組。多組規則、元素屏蔽、白名單和 iCloud 同步等高級功能,需要 30 元內購解鎖。Mac 版售價 68 元,購買后可使用全部功能。

原文地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,825評論 6 546
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,814評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,980評論 0 384
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 64,064評論 1 319
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,779評論 6 414
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,109評論 1 330
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,099評論 3 450
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,287評論 0 291
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,799評論 1 338
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,515評論 3 361
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,750評論 1 375
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,221評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,933評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,327評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,667評論 1 296
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,492評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,703評論 2 380

推薦閱讀更多精彩內容