GAppProxy in ubuntu 9.04

什麼是 GAppProxy? 一個開源的 HTTP Proxy 軟件, 使用Python編寫, 運行於 Google App Engine 上. 所以我們可以用 GAppProxy 來翻牆啊啊啊啊啊 !(咳咳, @ o f f i c e ?) 或是使用一些限定身處 USA 才能使用的 web service, let's go !
  1. 申請 Google App Engine 帳號.
  2. 安裝 Python. sudo apt-get install python
  3. 下載並解壓縮 Google App Engine SDK for Python 壓縮檔. mkdir ~/gapp/ && cd ~/gapp/
    wget http://googleappengine.googlecode.com/files/google_appengine_1.2.5.zip
    unzip google_appengine_1.2.5.zip
  4. 下載並解壓縮 GAppProxy 原始碼, 可以使用 fetchserver-1.0.0beta-fix.tar.gz 或是 svn 版本 (r97 已可 fetch 大檔案 & 看 youtube). 按照下面步驟來抓取 svn 版本. cd ~/gapp/
    svn checkout http://gappproxy.googlecode.com/svn/trunk/ gappproxy
  5. 編輯 ~/gapp/gappproxy/fetchServer/ 目錄下的 app.yaml(將application: 參數改為你的 Google App Engine 名稱, version: 隨你喜歡更改) 和 index.yaml (除第一行 indexes: 外, 確定其他行的行首都用 # 來 mark 起來) 設定檔, 內容如下:

    app.yaml
    application: YOUR_APP_NAME
    version: 1
    runtime: python
    api_version: 1

    handlers:

    - url: /fetch.py
    script: fetch.py

    - url: /admin.py
    script: admin.py

    index.yaml
    indexes:

    # AUTOGENERATED

    # This index.yaml is automatically updated whenever the dev_appserver
    # detects that a new type of query is run. If you want to manage the
    # index.yaml file manually, remove the above marker line (the line
    # saying "# AUTOGENERATED"). If you want to manage some indexes
    # manually, move them above the marker line. The index.yaml file is
    # automatically upoladed to the admin console when you next depoly
    # your application using appcfg.py.

    # Unused in query history -- copied from input.
    #- kind: AccessDestination
    # properties:
    # - name: counter
    # direction: desc

    # Unused in query history -- copied from input.
    #- kind: AccessFrom
    # properties:
    # - name: counter
    # direction: desc

  6. 將 fetchserver 上傳到 Google App Engine, 按照以下步驟進行(過程中會要求你輸入 gamil 的帳號和密碼.): cd ~/gapp/
    cp -r ./gappproxy/fetchServer/ ./google_appengine/
    cd ./google_appengine/
    appcfg.py update fetchserver
  7. 編輯 lolcalproxy 設定檔 ~/gapp/gappproxy/lolcalproxy/proxy.conf , 指向你位於 Google App Engine 上的 fetchserver, 內容如下: # GAppProxy configuration

    # olcal_proxy
    #olcal_proxy = host:port
    #
    # If olcal proxy needs authentication:
    #olcal_proxy = user:passwd@host:port

    # fetch server
    #fetch_server = http://127.0.0.1:8080/fetch.py
    fetch_server = http://YOUR_APP_NAME.appspot.com/fetch.py
    #fetch_server = http://fetchserver-noolg.appspot.com/fetch.py
  8. 啟動 lolcalproxy service, 按照以下指令進行: ~/gapp/gappproxy/lolcalproxy/proxy.py
  9. 設定你的 web browser 指向 lolcalproxy(127.0.0.1:8000), firefox 可以使用 FoxyProxy 來方便切換.
  10. Enjoy it ;)
ref this, this, this and this.

0 comments:

張貼留言