最近這幾天,一直在跟carlos玩Google App Engine,至於GAE的好處就不在這邊多作說明了,有興趣可以向google大神求支簽。在GAE的Open Source Project裡面有一項蠻有趣的專案是gappproxy,主要的目地就是把GAE當做一個proxy來使用,這樣著時幫上班族帶來不少的好處,最明顯的就是「公司沒辦法阻檔你逛網拍」(笑),在這之前,也寫過一篇文章是「利用SSH Tunnel穿越Firewall」,不過作法上比較複雜,也不適合一般的使用者,而gappproxy的設定就簡單的多了,下述則是簡單的教學。
將下載的程式碼解壓至GAE SDK的目錄底下,並修改app.yaml檔案
application: your_application_name
version: 1
runtime: python
api_version: 1
handlers:
- url: /fetch.py
script: fetch.py
將第一行的your_application_name替換成剛所建立的GAE名稱,然後再程式碼的目錄內建立一批次檔,內容是
appcfg.py update ../fetchServer
這樣便可將程式碼上傳到GAE內,首次上傳的話會尋問帳號及密碼。我想到這步驟應該是不會有太大的問題,而且也成功了一半。接著下載使用者端介面GAppProxy,開啟介面,並選擇「Use FetchServer」填入您的GAE網址,如下。
http://your_application_name.appspot.com/fetch.py
輸入好之後先按SAVE,並關閉程式,然後再開啟一次,並先按hide隱藏在系統列,最後的步驟就是要設定瀏覽器的proxy設定了,將Proxy的IP設定為127.0.0.1,Port是8000然後儲存,要測試是否work可以到What IP這網頁來做檢測,如果正確,則IP的位置應該會與原本的不一樣,並且在HTTP Referer的位址會顯示GAE的網址,如下圖所示:

不過在使用上還是有一些問題存在,在官方的開發網頁也提到登入到某些網站時會造成無法登入的狀況,不過就一般「瀏覽」的狀況是沒有問題的,有了好用的proxy當然要測試一下特殊的功能,有在下載免空的朋友應該都知道zshare是很難下載的,我有嘗試透過此proxy要下載,不過結果是令人失望的,有辦法截取到檔案名稱,但是無法下載,或許在之後的版本可解決此問題。懶的架的人可以使用hugo的GAE網址
http://the-voice-proxy.appspot.com/fetch.py