Re: [問題] AdGuard的過濾規則能套用ublacklist嗎?

看板Browsers (瀏覽器)作者 (道可道非常道)時間10月前 (2024/01/09 22:41), 10月前編輯推噓0(110)
留言2則, 2人參與, 10月前最新討論串3/3 (看更多)
※ 引述《a0193143 (「 」)》之銘言: : 原文吃光 : 前陣子在研究,剛好有看到uBlacklist一些人做的訂閱清單用的規則但一直忘記回 : 這是Adguard的規則 : /^https?:\/\/[0-9a-z]*\.?[-0-9a-z]{4,}\.[a-z]{2,11}\/(?:[0-9a-z]{6,8}\/)?\/? (?:article\d{4}\.doc)?\?[ou]=[0-9a-z]{7}&[ou]=[0-9a-z]{7}/$document,match-case : 這是「標準內容農場清單」的規則,可以看到是寫成兩條而已 : /^https?:\/\/[0-9a-z]*\.?[-0-9a-z]{4,}\.[a-z]{2,11}\/(?:[0-9a-z]{6,8}\/)?\/? (?:article\d{4}\.doc)?\?u=[0-9a-z]{7}&o=[0-9a-z]{7}/ : /^https?:\/\/[0-9a-z]*\.?[-0-9a-z]{4,}\.[a-z]{2,11}\/(?:[0-9a-z]{6,8}\/)?\/? (?:article\d{4}\.doc)?\?o=[0-9a-z]{7}&u=[0-9a-z]{7}/ : 是可以套的,而且有人寫 : 問題是懂RegEx的話就知道這擋不了那些隨機網址的 : 從網址列可以看到Adguard是擋轉址後的(muellfrei開頭) : https://i.imgur.com/07aszWq.png
: uBlock Origin更清楚 : https://i.imgur.com/j8nHdPP.png
: 然後我們可以把Adguard的規則拿去測試原Po的那些網址 : https://i.imgur.com/iad3kku.png
: 可以看到這個規則對於本來的一點反應都沒有,都是發生在轉址後的 : 本來的推文有人提到說uBlacklist會自行計算轉址 我之前的說法有一點語病。 許多搜尋引擎在列出搜尋結果時,不是列出原始網址,而是列出特殊的轉址, 假設某筆搜尋結果網址是: (a) https://example.com/ 在 Google 搜尋結果列出來的網址可能是這樣: (a') https://www.google.com/url?q=https://example.com/&... 而 uBlcklist 在處理支援的搜尋引擎時,會自動處理 (a')=>(a), 因此使用者只要提供過濾 (a) 的規則,就能過濾此網頁。 麻煩的來了,有些垃圾網站會加上多重轉址, 比如進入 (a) https://example.com 以後會轉址到 (b) https://wtf.com, 進入 (b) 以後再轉址到 (c) https://xyz.com 再轉址到 (d) https://kkk.com 如果是 AdBlock 或 uBlockOrigin,只要填寫過濾最終頁面 (d) 的規則, 就會在最後進入 (d) 的那一刻阻擋並顯示封鎖畫面。 但是 uBlacklist 沒辦法,因為它只認得 (a') 和解析出來的 (a), 所以提供過濾 (d) 的規則沒有用,必須提供過濾 (a) 的規則才行: 但根據之前這個issue,有人問說能不能擋轉址去百度的網站 : 原作者的回覆是:不是不可能,但是會加重使用者裝置和(百度)伺服器的負擔,他不 喜歡 : https://github.com/iorate/ublacklist/issues/56#issuecomment-753482482 : 而我實際測試了那些網址,一樣是擋不了的,所以至少就目前而言要在搜尋結果用uBla cklist直接濾掉還是沒辦法 百度的問題和這個不一樣, 因為像 Google 的轉址 (a') 本身參數中就含有原來的網址 (a), 因此可以從 (a') 計算出 (a) 並加以處理, 但百度的做法類似縮網址,它的 (a') 是像這樣: http://www.baidu.com/link?url=5doWjQO9Xrz... 並不含有 (a) 的資訊,因此無法解析出原來的 (a), 除非另外在背景發出請求造訪該連結, 比如搜尋結果如果有50個連結,套件就在背景發出50個網路請求, 然後根據解析出來的網址做黑名單處理, 這會影響瀏覽器和百度伺服器的效能, 而且會有延遲(可能搜尋結果出來好幾秒後才開始套黑名單隱藏項目), 因此作者才說不願意這樣做。 但即使百度的問題可以這樣做,也不管效能問題, 還是不能套用在前面說的(a')轉(a)轉(b)轉(c)轉(d)這類的問題上, 因為背景造訪和實際造訪還是有一些差異, 導致背景造訪無法可靠地根據(a')分析出最終轉址為(d)。 作者在該頁面還說明有其他方法可以取得部分目標網站的資料, 但並不是完全可靠,只能作為輔助。 終結內容農場的做法,是結合了 Adblock/uBO 在進入最終網址時封鎖, 以及 uBlacklist 為最初網址加上標示, 並且也使用了作者文中提到取得部分資料的方式,因此可以標示百度搜尋結果, 但也是只能作為輔助,有些比較複雜的還是無法標記到(但進入時還是能封鎖)。 只要提供 (a) (b) (c) (d) 所有轉址清單,終結內容農場就能處理, 如果只提供一部分,那就只能處理一部分。 終結內容農場還有內建簡單的追蹤器,只要把 (d) 加入封鎖規則, 從搜尋結果的 (a) 進入而轉址到 (d) 被封鎖時, 可以進入設定頁面點擊 [重導向自] 的連結, 就可以找到前面轉址過程的 (a) (b) (c), 接著把它們通通加入規則,以後就可以在搜尋結果頁面標示了。 -- 《終結內容農場》瀏覽器套件 https://bit.ly/CFTINFO 適用 Chrome 系及 Firefox 系桌面瀏覽器 適用 Android 手機瀏覽器 (Kiwi Browser, Firefox for Android 等) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.115.6.171 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1704811301.A.8B2.html ※ 編輯: danny0838 (59.115.6.171 臺灣), 01/09/2024 23:13:21

01/10 01:17, 10月前 , 1F
推深入說明
01/10 01:17, 1F

01/10 11:09, 10月前 , 2F
紅明顯 最簡單就是直接封百度網域
01/10 11:09, 2F
不喜歡你可以自己封鎖。 但是就開發者的立場,支援百度可以吸引對岸網友使用, 使用者多就會有更多人協助回報垃圾網站,這樣對大家都有利。 ※ 編輯: danny0838 (111.81.52.89 臺灣), 01/10/2024 12:27:59 ※ 編輯: danny0838 (111.81.52.89 臺灣), 01/10/2024 12:29:00
文章代碼(AID): #1bdLibYo (Browsers)
文章代碼(AID): #1bdLibYo (Browsers)