2010年8月6日 星期五

Adblock Plus Filters Rules Instruction

以下文章引用自《如何撰寫 Adblock Plus 的過濾規則?》與《Adblock Plus: Writing Adblock Plus filters》(後者為英文原文)。

前言:
我是為了要隱藏一個因為 ABP 把廣告擋掉後,卻沒有把空間刪完全的一個問題。正常來說是只要用到下方的基本功能即可(擋網址、擋網域)。但我這個必須要擋掉元件(div)才可以解決那個問題。

我使用到的部分是元素隱藏:基本規則元素隱藏:限定只在特定網域使用規則
www.afterelton.com#div(promoarea)


元素隱藏:基本規則

有時你可能會發覺無法阻擋某些網告,因為那些廣告內嵌於網頁文字之中。如果看原始碼的話,可能發現這樣的語法:
<div class="textad">
Cheapest tofu, only here and now!
</div>

<div id="sponsorad">
Really cheap tofu, click here!
</div>

<textad>
Only here you get the best tofu!
</textad>


因為你必須下載網頁內容,所以你也會下載到其中你所不想看到的的廣告。對於這種情況,你可以做的就是-把這些廣告藏起來,這樣你就不會看到那些廣告了。這也就是元素隱藏(Element Hiding)這項功能的目的。

上面這段原始碼中的第一則廣告是在一個擁有 class 屬性為「textad」的 div 元素內,用「#div(textad)」可以把它給隱藏起來。你也可以用相同的方式改由ID屬性來隱藏元素,例如: 「#div(sponsorad)」會隱藏上面原始碼中的第二則廣告。你也可以不必指定元素名稱,用「#*(sponsorad)」也可以。你也可以僅指定要阻擋的元素名稱,例如: 「#textad」可以阻擋第三則廣告。

那麼,你該如何知道,要把什麼東西納入元素隱藏的規則呢?你有兩個選擇,一是直接看網頁的原始碼,並自行找出廣告所在;或者用 DOM Inspector(Firefox 使用者必須在安裝 Firefox 時選「自訂安裝」並將相關選項打勾,Firefox 才會安裝 DOM Inspector)。要能夠順利使用此功能,你需要有 HTML 的基礎。

注意:元素隱藏規則與普通過濾規則的工作方式有很大的差別。元素隱藏規則不支援萬用字元、不支援阻擋次數統計(hit count)、且會忽略例外規則。


元素隱藏:限定只在特定網域使用規則

通常你只想要隱藏特定網站的特定廣告,而不希望規則會作用於其他網站。例如: 「#*(sponsor)」可能會把某些網站的有效代碼也隱藏了。但如果你把隱藏規則寫成「example.com#*(sponsor)」,這規則就只會作用在 http://example.com/ 與 http://something.example.com/,但不作用在 http://example.org/。你也可以指定多個網域-只要用逗號(,)分隔即可,例如: 「domain1.example,domain2.example,domain3.example#*(sponsor)」。
注意:由於元素隱藏實作方式的關係,你只可以將隱藏規則限制於完整的網域名稱(Full domain name),你不能使用網址的其他部份,也不可用 domain 代表 domain.example,domain.test。

注意:有限制網域的元素隱藏規則也可用來隱藏瀏覽器的使用介面。例如: 「browser#menuitem(javascriptConsole)」會隱藏 Firefox 工具選單內的 JavaScript Console 選項。

2010年8月1日 星期日

GAppProxy 後續: AutoProxy (Addons for Firefox)

    Index:
  1. AutoProxy
  2. 可能吧
  3. Nike Commercial
  4. LXD

AutoProxy(Firefox 附加元件)
你擔心你的隱私嗎?或者,你被防火牆給擋住了某些網站? And, are you arming yourself with a proxy? 這樣的話, AutoProxy 是為你設計的!一個幫助你自動及有效使用代理的工具。


AutoProxy 這東西,我是拿來搭配 GAppProxy (GAppProxy - Google App Engine)使用。

他會自動判斷你正在連線的這個網站需不需要使用代理。如果你在連 Gmail 、百度等大陸的 GFW 允許的網站,那它就會自動讓你用本地網路連線。而當你想要連接 Youtube 或是 Twitter 、 Facebook 等網站時,他就會使用裡頭設定的代理連線。它的預設是 Tor,不過 Tor 最近被 GFW 給擋住了。所以我那時機運巧合(剛好看到下面說的那篇「中国翻墙网民状况调查」裡頭提到 GAppProxy)之下,才找到 GAppProxy 來用。

我是在找資料的時候看到有人推薦這個 AutoProxy 來搭配 GAppProxy 使用。雖然一開始我研究好一陣子才發現應該要怎麼用。但知道怎麼用之後,真的還蠻好用的。

安裝後,它會出現在 Firefox 的右下角,寫著一個「福」字。點一下那個「福」字就開啟了主視窗。

AutoProxy Interface
AutoProxy Interface (by royhsia)
有一個 gfwList (P.R.China) 的要訂閱,其他的特例就靠自己手打的。其實上面我所打的那些,有一部分 gfwList 裡頭也有寫,只不過我仍是自己打了。

說明:
英文版 http://autoproxy.org/en/Rules
中文版 http://autoproxy.org/zh-CN/Rules
代理規則語法:

一、正則表達式 /regexp/

就是常規的正則表達式,前後各加一撇。正則表達式規則的前面會有一個感嘆號註明。

不過,擴展內部常數級時間複雜度的算法無法支持正則表達式。出於效率考慮,一般不用正則式。寧願多寫幾條普通的規則。

二、普通的規則,通配符 *

就是把需要代理的網址寫進去。比如:youtube.com。

可以在需要的地方加通配符,但是首尾的地方不需要,因為首尾的通配符是默認的。也就是說,youtube.com 跟 *youtube.com* 是一個意思。


如果某網站僅僅是 IP 被牆而不是關鍵詞, 可以用 || 來限定, 例如 ||tumblr.com

如果希望將規則限定在某種協議, 如 http/https 下則可以使用 |http:// |https:// 的規則, 例如 |http://friendfeed.com |https://spreadsheets.google.com

如果希望在某個網站禁止代理, 將 @@ 加在最前即可, 例如 @@|https://autoproxy.org @@||www.douban.com

上面那排的「代理服务器 (S)」→「选择代理服务器 (C)」,選擇 GAppProxy。
AutoProxy Proxy
AutoProxy Proxy (by royhsia)


可能吧
中国翻墙网民状况调查
……

統計表明,5%的人使用的是自家公司的內部VPN翻牆。很多公司,比如Google、騰訊都提供公司內部VPN。要是不能翻牆的話,這些公司產品方面的業務很難開展。

16%的人自己購買VPN翻牆。

……

有15%的人勾選了「其它」翻牆方式,在「其它」裡,很多人填寫了「GAppProxy」,這種方式使用起來也非常簡單,只需申請一個免費的Google App Engine空間,配合GAppProxy客戶端即可完成翻牆。
我就是看到上面寫的 Google App Engine 才去找這個方法,然後才會打「GAppProxy - Google App Engine」的。

該網誌作者還有一篇 中文Twitter用户群抽样调查。稍微看了一下,覺得這個網誌的作者寫的似乎還不錯。因為我覺得抽樣調查的附註還蠻好笑的。


NIKE FOOTBALL WRITE THE FUTURE - FULL LENGTH VERSION

Rooney 因為輸球而變成雜工,最後落到旅行車裡頭變成個鬍子大胖這還蠻好笑的。

The Future Has Been Written

球賽踢完了, Nike 也做出廣告的更新。


The LXD: In the Internet age, dance evolves ...

Glee 裡的 Harry Shum Jr. 就是 LXD 的編舞(Choreographer)。而 Jon M. Chu 則是 Step Up 2: The Streets 以及 Step Up 3-D 的導演。

Jon Chu & The League of Extraordinary Dancers - YouTube Live


LXD on SYTYCD

Vitamin String Quartet - Yellow (Tribute to Coldplay)

我喜歡一直翻來翻去的「翻翻翻大隊」,或者稱之為「翻翻翻三人組」(有個影片中只有兩人在翻)。