為什麼這篇內容農場名單鄉民發文收入到精華區:因為在內容農場名單這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者danny0838 (道可道非常道)看板Browsers標題[-GC-][-Fx-] 終結內容農...
內容農場名單 在 故事 StoryStudio Instagram 的精選貼文
2021-09-10 22:10:09
要談三色豆,我們不妨先從三色豆的大家長──冷凍蔬菜聊起。臺灣的冷凍蔬菜從 1960 年代開始萌芽,而且備受國家的支持與推崇。 例如,中國農村復興聯合委員會(以下簡稱農復會)的處長何衛明在 1967 年鄭重其事地告訴記者──冷凍蔬菜,是一項「最有發展前途的新興事業」。 他的根據是,彼時歐美家庭家家...
終結內容農場 4.0 出來了
https://github.com/danny0838/content-farm-terminator
主要更動:
* 改良演算法,現在標準封鎖規則的比對效能不再是線性時間複雜度。
除此之外,最近把內建黑名單的正規表示式規則整併,減少重複比對,
這兩個措施加起來實測可解決在某些瀏覽器上長時間卡頓的問題。
相關回報帖如下,麻煩有遇過類似問題的網友協助測試確認問題是否已解決:
https://github.com/danny0838/content-farm-terminator/issues/44
https://github.com/danny0838/content-farm-terminator/issues/47
https://github.com/danny0838/content-farm-terminator/issues/50
* 所有網址統一改用標準形式比對。國際化域名改用 Punycode 編碼形式。
* 修正含有擷取子群組的正規表示式無法正常運作的問題。
* 修正一個可能導致規則較多時無法正常運作的問題。
* 支援含修飾符的正規表示式規則。
----------------------------------------------------------------------
最近有人許了不少願:
https://github.com/danny0838/content-farm-terminator/issues/33
https://github.com/danny0838/content-farm-terminator/issues/53
https://github.com/danny0838/content-farm-terminator/issues/59
https://github.com/danny0838/content-farm-terminator/issues/60
大致如下:
1. 希望增加單行註解的專門語法
2. 希望能列出內容網站符合的黑名單及規則
3. 希望增加根據網頁元素內容判定內容農場的規則
(例如根據標題或內文關鍵字,或 CSS selector)
4. 希望能自訂「內容農場」網站的類型名稱
(例如把某些網站定義為「假新聞網站」等等)
因為牽涉到不少技術和設計問題,要和各路高手集思廣義一下...
1. 技術上算是比較簡單,只是要用哪種語法比較好,暫時還沒有好點子。
目前傾向從以下幾種擇一:
# => 許多程式語言使用,如 shell script, Python, Perl, PHP, ...
! => AdBlock、uBlock 等擋廣告套件使用
; => .ini 常用「;」
或是都不要加,維持現狀用半形空白開頭當註解即可。
2. 有個麻煩是現有程式架構如果要加上反查匹配的正規表示式規則會嚴重影響效能,
所以在有好的解決方案以前暫時不適合實做...
另外是設計問題。
目前看起來會關切實際符合哪條規則的人似乎不多,
終結內容農場的設計目標是簡單易用,最好長輩也能輕易上手,
現有封鎖畫面已經有很多東西,
要在哪裡加上列出對應的規則和對應的黑名單需要評估,
有沒有擅長做UX的大大能提供點建議?...XD
3. 這牽涉好幾個問題:
3.1. 目前對超連結的標示都是根據網址運作,如果要根據網頁內容封鎖,
就勢必要主動走訪每個超連結,但主動走訪超連結有安全風險...
(比如可能導致誤觸登出連結就自動登出網站)
目前看起來,根據網頁內容的封鎖規則在標示超連結時似乎只能略過...
3.2. 現在很多網頁是動態網頁,假設封鎖關鍵字「中國」,
對於原始碼沒有「中國」但網頁腳本載入內容後有的網頁,
要算符合封鎖條件還是不算?
3.3. 語法設計問題,要發明哪一套語法指定 CSS 封鎖條件?
而如果要根據標題封鎖,似乎 CSS selector 還不夠,搞不好需要 RegExp 出場?
4. 其中一個問題和 2 一樣,因為如果沒辦法抓出符合哪條規則,
就無法進一步判定被定義的網站類型。
而要達成這個效果,除了抓出符合哪條規則以外,
如果符合多條規則要怎麼處理,也是一個問題...
再來也是語法設計問題,要發明哪一套語法定義網站類型?
5. 除此之外,雖然如前所述,
把內建黑名單的正規表示式規則整併可以大幅改善效能,
但是這樣可能幾千幾萬個內容農場都放在同一行規則,
後續不易維護。
可能要考慮增加一套自訂內容農場網址型態的方式,
比如先用某種語法定義 facebook: 代表特定類型的網址,
以後規則名單只要寫:
facebook: wtf
facebook: nmsl
就可以轉換成相應代表 facebook 特定粉絲團 ID 的網址的正規表示式,
還可以事先做整併優化。
當然,困難點就在於要怎設計這種定義語法,又要兼顧易用性orz...
AdBlock、uBlock 的規則語法已經夠複雜了,
目前看來要實做這功能,語法可能要更複雜幾百倍...
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.217.8 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1622133880.A.075.html
※ 編輯: danny0838 (36.227.217.8 臺灣), 05/28/2021 01:03:04
基本上要公開討論,這裡或 GitHub 都可以,
要私下討論,可以私信或透過 Facebook 粉絲專頁。
你的需求是什麼?
URL 比對有千百種需求,每種需求都可能需要不同設計,
終結內容農場目前只支援兩種,
一種是標準規則的 domain name 比對,支援 domain name 合法字元及 * 萬用字元,
一種是正規表示式規則的 URL 比對,這個其實大部分都是 JavaScript 內建,
好像也不需要什麼 lib...。
如果要像 uBO 支援的那麼多比對規則,還要有像 uBO 那麼好的效能,那就不簡單了。
uBO 作者用了大量超專業的優化設計,我實在無能為力去破解orz......
※ 編輯: danny0838 (36.227.217.8 臺灣), 05/28/2021 01:47:43
除了 www.ptt.cc、term.ptt.cc、及臉書 PttTW 粉絲團,其他通通都是假貨。
https://content-farm-terminator.blogspot.com/2019/02/moptt-plagiarism.html
※ 編輯: danny0838 (36.227.216.249 臺灣), 05/28/2021 19:00:24
※ 編輯: danny0838 (36.227.216.249 臺灣), 05/29/2021 23:48:08
※ 編輯: danny0838 (36.227.216.249 臺灣), 05/30/2021 00:31:54