APJP更新(使用php空间和GAE空间搭建代理翻墙,支持电脑和安卓系统)

2011年7月13日 | 分类: 翻墙相关 | 标签: , , , ,

前言

APJP項目於香港時間10-7-2011發佈版本0.8.0,這版本和以前版本有著顯著的分別,例如支援高達10

個服務器,改善對APJP_APPENGINE基於GAE上的證書警告問題,其設定文件 APJP.properties和過

往版本不盡相同.

部署APJP-0.8.0的準備

部署在PHP主機上,和0.7.0需要相同的條件, 分為三項

a. 支援PHP,版本需要是5.0.0 或以上

b. 支援MCRYPT,版本需要是2.5.6 或以上

c. 支援OpenSSL,版本需要是0.9.6 或以上

本地機器需要有JAVA, 版本需要是1.6.0 或以上

部署APJP-0.8.0

在本項目下載APJP-0.8.0,解開到C:後,假設系統為Windows XP SP3,上傳

C:\APJP\PHP\KEY.php到主機,以常見的Cpanel網頁空間為例,文件上傳到

/public_html目錄,一般可用ftp或Cpanel裡的File Manager完成,完成後,

以瀏覽器訪問該頁面,例如上傳到 http://www.abc.com,請訪問

http://www.abc.com/KEY.php ,會得到一組隨機生成的16個字符和數字的組合,

這是作為APJP RC4 128bit加密的鑰匙

修改C:\APJP\PHP\HTTP.properties.php 和 HTTPS.properties.php ,找到

$APJP_KEY = ”;

改為

$APJP_KEY = ‘你得到的16位鑰匙’;

儲存並離開,上傳APJP\PHP\裡的 HTTP.php, HTTPS.php, HTTP.properties.php

和 HTTPS.properties.php 到主機相同目錄,服務器端已經完成

設定本地客戶端

繼續修改 APJP\JAVA\APJP.properties, 於APJP_KEY=

改成

APJP_KEY=你得到的16位鑰匙

下一個設定項目為本地代理端口及日志

APJP_LOCAL_HTTP_PROXY_SERVER_ADDRESS=127.0.0.1

APJP_LOCAL_HTTP_PROXY_SERVER_PORT=10080

APJP_LOCAL_HTTP_PROXY_SERVER_LOGGER_LEVEL=2

如無特別需要,可不改動

APJP_LOCAL_HTTP_SERVER_ADDRESS=127.0.0.1

APJP_LOCAL_HTTP_SERVER_PORT=11080

這兩項是設定服務器和客戶端的通訊端口,如無特別需要,使用默認即可

APJP_LOCAL_HTTP_SERVER_REQUEST_URL_X= ,X是數字,由1~10,這是設定你的服務器

位址,例如

APJP_LOCAL_HTTP_SERVER_REQUEST_URL_1=http://www.abc.com/HTTP.php

如你部署一個以上的服務器,請順序填入正確地址,最高可達十個

APJP_LOCAL_HTTP_SERVER_REQUEST_PROPERTY_X_KEY=

APJP_LOCAL_HTTP_SERVER_REQUEST_PROPERTY_X_VALUE=

X為1~10.對應上述的服務器,這兩個設定主要為更改USER=AGENT,例如

APJP_LOCAL_HTTP_SERVER_REQUEST_PROPERTY_1_KEY=Mozilla/5.0

APJP_LOCAL_HTTP_SERVER_REQUEST_PROPERTY_1_VALUE=(X11; Linux i686)

這些可以不設定,接下來是

APJP_LOCAL_HTTPS_PROXY_SERVER_ADDRESS=127.0.0.1

APJP_LOCAL_HTTPS_PROXY_SERVER_PORT=10443

APJP_LOCAL_HTTPS_PROXY_SERVER_LOGGER_LEVEL=2

這些是設定APJP本地客戶端ssl連線的默認設定和日志,也可使用默認設定

APJP_LOCAL_HTTPS_SERVER_ADDRESS=127.0.0.1

APJP_LOCAL_HTTPS_SERVER_PORT=11443

是服務器和客戶端以ssl連線的通訊端口,可不設定,使用默認設定

APJP_LOCAL_HTTPS_SERVER_REQUEST_URL_X= ,是用來設定ssl連線的服務器地址,和

APJP_LOCAL_HTTP_SERVER_REQUEST_URL_X= 設定一樣,X數字由1~10,可設定10個服

務器,例如

APJP_LOCAL_HTTPS_SERVER_REQUEST_URL_1=http://www.abc.com/HTTPS.php

如部署一個以上的服務器,順序填入正確地址

APJP_LOCAL_HTTPS_SERVER_REQUEST_PROPERTY_1_KEY=

APJP_LOCAL_HTTPS_SERVER_REQUEST_PROPERTY_1_VALUE=

也是設定ssl的user-agent,和上述的相同,可不設定

APJP_HTTP_PROXY_SERVER_ADDRESS=

APJP_HTTP_PROXY_SERVER_PORT=

APJP_HTTP_PROXY_SERVER_USERNAME=

APJP_HTTP_PROXY_SERVER_PASSWORD=

APJP_HTTPS_PROXY_SERVER_ADDRESS=

APJP_HTTPS_PROXY_SERVER_PORT=

APJP_HTTPS_PROXY_SERVER_USERNAME=

APJP_HTTPS_PROXY_SERVER_PASSWORD=

如需通過代理連接服務器,就於這裡改動參數,如不需要,可不設定

部署APJP_APPENGINE

請參考本項目wiki的ApjpAppEngineInstallation條目,其它設定如上術PHP主機的設定

APJP可以混合使用PHP和GAE平台服務器,但APJP_KEY須為相同的鑰匙,例如把https通訊設為

APJP_LOCAL_HTTPS_SERVER_REQUEST_URL_1=http://www.abc.com/HTTPS.php

APJP_LOCAL_HTTPS_SERVER_REQUEST_URL_2=https://appid.appspot.com/HTTPS

而於http通訊設定為

APJP_LOCAL_HTTP_SERVER_REQUEST_URL_1=http://www.abc.com/HTTP.php

APJP_LOCAL_HTTP_SERVER_REQUEST_URL_2=https://appid.appspot.com/HTTP

是可以正常使用的

APJP_ANDROID客戶端

設定安卓平台客戶端請參考wiki條目的AndroidApjpClient,由於客戶端還沒支援多服務器,只

能使用一個php或GAE平台的服務器端

補充

在0.8.0之前版本使用GAE架設服務器,如以https連接會出現證書不符而無法連線,這版本已經修正

問題,不論是php主機還是GAE平台的服務器都可正常使用https連接,如仍在使用舊版本,建議升級

APJP使用自簽名證書作為對https連接的解決方案,故ssl連線會出現證書警告,嚴格的網站可能

會等錄不成功,https://mail.google.com 可能是其中之一

APJP為開源軟件,如發現BUG或有任何開發建議,請告訴作者

作者的twitter id: @jvansteirteghem

或在本專案的issue留言,謝謝

项目地址:http://code.google.com/p/apjp/

下载地址:http://code.google.com/p/apjp/downloads/list

本文原始地址:http://igfw.net/archives/3791

  1. 匿名
    2011年7月17日15:39

    部分网页打开不正常,使用代理后打开网页就弹出下载窗口,请问怎么办?

    • iGFW
      2011年7月17日15:49

      部分网页打开不正常,这个很正常的,毕竟使用GAE、PHP搭建的代理处理网页都有些问题。
      代理后打开网页就弹出下载窗口,使用APJP我没有遇到过这个情况,使用webpage-tunnel倒是经常有,这是空间不支持造成的,换其他支持的空间吧。

  2. 2011年7月15日14:16

    不知到部属多个服务器的话,APJP如何选择这些服务器呢?

    • iGFW
      2011年7月15日14:32

      我也不清楚,你可以问问软件作者。

  3. catdog
    2011年7月13日10:24

    之前一直在用APJP,可是从0.7.0开始,作者把HTTP跟HTTPS协议的’本地监听端口’分开变成两个
    .
    这下问题来了,目前autoproxy还不能自动分辨url所用协议,gfwlist官方也没有单独提供 根据协议分组的列表

    现在Firefox的用户想用APJP翻墙,面临两个选择:
    要么自己写规则
    要么转投Chrome门下(ProxySwitchy!可以自动分辨协议类型并调用不同代理)

    不知道大大有什么办法解决?