2008年6月19日 星期四

Tor:The onion router

Tor 是一款可以讓你在網路上匿名的軟體,它讓監視你的人無法知道你真實的去向。Tor 還能與現有的許多應用程式做結合,如:IM 軟體、browser 及一些 TCP 的應用。

簡單的來說,Tor 是一種由虛擬通道組成的網路,Tor client 端可以隨機的選取 Tor 網路上的 node 來建立起一條虛擬的路徑,並經由這條虛擬的通道抵達目的端。或是你也可以自願成為 Tor 網路上的一個 node。

我們可以藉由以下幾張圖來說明 Tor 的動作原理:

1.

首先,Alice 是一台 Tor 的 client 端,他透過一個目錄伺服器 Dave 取得了一份 Tor 的 node 清單,裡面的內容將有助於 Alice 找尋正在 Tor 網路上的節點,以建立虛擬路徑。Alice 與 Dave 之間的連線是未加密的傳輸(紅色虛線代表未加密)。

2.

再者,Alice 將隨機挑選一條路徑連往目的端 Bob 處。這條虛擬的路徑,也稱做是 virtual circuit,則是圖中綠色實線(傳輸過程是加密的)所串接起來的電腦。在傳輸的過程中,每經過一個 node,就會做一次加/解密的動作,就像是洋蔥(onion)的樣子,一層一層的被包裹住。在目的端 Bob 電腦的前一個 node,又稱做是 exit node。對 Bob 而言,他會以為這個 exit node 才是它的 source 端,而這一段(紅色虛線)傳輸過程中是沒有加密的。

3.

當 Alice 想要到另一個目的地 Jane 時,這時會再重新決定一條虛擬的路徑,如上圖綠色實線處。由於目的端無法得知真實的來源端,故又稱做匿名網路。

若想安裝 Tor 來玩玩看,這裡並不多介紹,請參考『手把手教你使用Tor--新手入门--Tor的安装』、『在 MS Windows 上运行 Tor 客户端』。

在 2008 年的四月,Tor 獲得了 NLnet Foundation 的兩項獎項:

The first is to improve the performance of hidden services. The second is to make Tor work better for low bandwidth clients

相關網頁與得獎詳細資訊可以點選這裡

如果你還不能夠清楚的了解 Tor 的作用,我在這裡舉個實用的例子:

有某個投票網站,限定在兩個小時內同一個 IP 不能投票兩次,但如果你公司的網路全都在 NAT 底下,對外只有一個 public IP,那麼兩個小時內只能有一位公司的同仁可以投票。這時如果你利用 Tor 網路裡變換身份的功能,那麼,由於你的 exit node 是隨機決定的,所以投票網站也會辨識到不同的 public IP,於是在兩個小時內就可以利用同一台裝有 Tor client 端的電腦不斷的投票。

當然,Tor 並不是可以完全的在 Internet 上匿名,還是有一些風險在的,使用前請先閱讀 our list of warningsTor(anonymity network) - Wikipedia

http://www.torproject.org/ Tor: anonymity online

2008年6月17日 星期二

在 blogger 文章開頭處加入 google adsense 廣告

一般而言,要在 blogger 加入 google adsense 廣告,可以在側邊欄新增一個區塊放置 google adsense 程式碼,或是在【版面配置】=>【網頁元素】中會有個【網誌文章】:

tmp6F9

點選【編輯】後會出現

tmp71E

勾選最後一項【在文章之間顯示廣告】,並依據出現的選項選擇您要的廣告樣式。

tmp720

這樣就可以在 blogger 中,文章與文章之間出現 google adsense 廣告。

這樣子在視覺上,廣告是在整篇文章的下方。若是要將廣告移到文章標題下,如:

tmp723

則要修改 HTML 樣式。

選擇【版面配置】=>【修改HTML】並勾選【展開小裝置範本】。

搜尋 <div class="post-body entry-content"> ,在這行的下面加入 google adsense 的程式碼:

 
<div style="float:top; margin:10px 10px 10px 10px;">
<script type="text/javascript">
<!--
google_ad_client = xxxxxx
......
......
//-->
</script>
</div>

 

這裡有一點要特別注意的是:

上面的『<!--』與『//-->』處,要修改成『 &lt;!-- 』 及『//--&gt;』,這樣才能夠正常運作。

依此類推,這樣就可以在文章上方加入您所要的文字廣告或文字連結。

2008年6月16日 星期一

讓 foobar 2000 縮小到右下角的工具列

點選 ﹝File﹞=>﹝Preferences﹞或按快速鍵【Ctrl + P】出現以下畫面:

tmp282E

點選﹝Default User interface﹞

tmp2831

再勾選﹝Minimize to notification area﹞

tmp2839

這樣即可。

 

2008年6月14日 星期六

IECapt -- 截取網頁畫面的工具

IECapt 是一套在 Windows 底下抓取網頁圖片的命令列(command line)工具,它可以利用 IE 來抓取網頁的畫面,並存成一般常見的圖檔格式,如:png, jpeg, bmp...等。而且 IECapt 是 Open Source 軟體。

它有一些參數如下:

  • --help Print this help page and exit
    印出參數列表
  • --url= The URL to capture (http:...|file:...|...)
    指定要抓取的網址
  • --out= The target file (.png|bmp|jpeg|emf|...)
    指定輸出圖檔的路徑及圖片格式
  • --min-width= Minimal width for the image (default: 800)
    指定欲截取網頁的最小寬度
  • --max-wait= Don't wait more than (default: 90000, inf: 0)
    最長的等待時間:指定一段時間,讓程式執行抓取網頁時不要超過這個時間
  • --delay= Wait after loading (e.g. for Flash; default: 0)
    指定一段等待期間:有些網站有 Flash 特效的,須要久一點的載入時間,才能抓取到正確的 Flash 顯示畫面
 
使用範例如下:
 
IECapt --url=http://www.example.com.tw/ --out=localfile.png --delay=500
 
但萬一抓取的網頁太長,以下圖這個網頁來講,全部長度就有兩千多 pixel,如果我只需要大概一頁或兩頁的長度,那必需還要用額外的軟體來處理自己要的長度:
 
over
 
原作者提供了 C++C# 版的原始碼,我修改了 C++ 版的原始程式,讓這支 IECapt 可以自行設定要抓取的網頁長度。執行這支程式時,您會在參數列表下發現多了一行:
 
  • --max-height=<int> Maximum height for the image (default: 0(full height))
當沒有指定 max-height 或是 max-height=0 時,是抓取整個頁面的長度。使用的方式如下:
 
IECapt --url=http://www.example.org/ --out=localfile.png --max-height=800
 
這表示要抓取的長度為 800 pixel。
 
以本站為例,抓取長度 800 pixel 的話,則大小看起來如下:
 
800
 
當然,要抓取多大多長, 一切由您自行決定。
 
請點選這個連結下載這隻程式的執行檔或原始碼:執行檔原始碼
如果您有興趣想自行修改這隻程式加入一些小功能或除錯,可由 IECapt 官網處,連結到 SourceForge 的 CVS 處下載最新版的程式。
 
參考資料:
IECapt