更新说明
[05.07]InstallGuideOnGAE增加如何enable <threadsafe>
[03.02] 更新APJP_LOCAL-0.9.3 和 APJP_LOCAL_ANDROID-0.3.1,added support for HTTP/1.1 persistent
[02.10] 更新APJP_LOCAL-0.9.2 和 APJP_LOCAL_ANDROID-0.3.0,移除线程池,由于在JAVA VM的Bug
- 注意不推荐[02.09]的更新,由于线程池在JAVA VM有Bug,会使APJP_LOCAL崩溃
[02.02] 更新 APJP_LOCAL-0.9.0 和 APJP_LOCAL_ANDROID-0.2.8 ,重构源代码,修正关闭端口Bug
[01.25] APJP更新DotCloud平台,但基本可以运行于各种支持Java的PaaS(例如:OpenShift, CloudFoundry and Jelastic) http://apjp.googlecode.com/files/APJP_REMOTE_DOTCLOUD-0.1.1.zip
[01.08] Wiki重新整理编辑 AboutAPJP,初次部署必看。
详细更新说明 http://code.google.com/p/apjp/wiki/Update
简介
在中国,众所周知的原因,访问网页很多时候需要使用代理,而APJP是一项开源代理项目,是非常适合国人使用的个人搭建代理工具。
APJP分为两个部分,客户端和服务器端,其中客户端部分由Java语言编写,服务器端以PHP语言编写,客户端部分是一个本地代理,通过和远端服务器部分连接,以RC4 128bit 加密通讯,达到一个比较完整的代理方案。
运作方式
IE/Firefox/Chrome --> APJP客户端 --(加密数据)--> APJP服务器 --> 目标网站
请求发出后得到的数据由原路返回本地的IE/Firefox/Chrome
IE/Firefox/Chrome <-- APJP客户端 <--(加密数据)-- APJP服务器 <-- 目标网站
特点
- 每个APJP使用者的服务器不一定相同,这对于“流量分析”难以察觉,不会因为过大数据流量涌向同一服务器而引起注意
- 不依赖特定平台,例如:Google App Engine,只要主机支援OPENSSL >= 0.9.6,PHP >= 5.0.0 和 MCRYPT >= 2.5.6 就可部署,这差不多是Cpanel网页空间的“默认配置”,不会因为特定平台被封锁而无法使用
- 内容检测或是关键字检测(Keyword Filtering)是网络封锁的一个手段,APJP以128bit RC4 加密数据,且每个密钥不尽相同,随机生成,可以有效对抗这些封锁,不会因为解密特征相同,一旦密钥被破解,而导致所有APJP服务器加密的内容暴露
- GAE平台,APJP代理下载基本不限制单个文件大小
使用原因
- APJP是开源代理项目,每个人都可得到源代码阅读,修改,这保证了代理没有“后门”,泄露用户的隐私
- 免费,程序的本身免费,可能需要付费的是搭建的网页代理空间,当然也可使用免费的网页空间搭建
- 对于一下地区,国家,APJP是把“完整的互联网”带回给使用者,可自由访问网络
- 网络封锁,内容过滤的网络,上网者需要不同的资讯
- 需要隐藏真实IP的时候,APJP也能帮助你匿名访问,APJP还可以设定HTTP/HTTPS 代理连接APJP服务器,成为多级代理,可有效保护个人隐私
构成
- APJP_KEY 在本地产生随机的16位字符及数字组合,里面包含APJP_KEY.bat,APJP_KEY.sh,APJP_KEY.jar和一个README.txt。
- APJP_LOCAL-×.×.× 是电脑上(Linux/Windows/Mac)的客户端,其中包含APJP.bat, APJP.sh, APJP.jar, APJP.properties, README.txt,APJP_UI.bat,APJP_UI.sh和APJP.png八个文件。
- APJP_REMOTE_APPENGINE-×.×.× 为部署在Google App Engine平台上的文件,里面包含一个war目录和README.txt,war目录里的WEB-INF目录含有classes目录,lib目录,appengine-web.xml,web.xml和logging.properties三个文件。
- APJP_REMOTE-×.×.× 为PHP主机(包括支持PHP的PaaS)平台上的服务器所需文件,里面包含HTTP.php,HTTPS.php,HTTP.properties.php,HTTPS.properties.php和README.txt五个文件。
- APJP_LOCAL_ANDROID-×.×.× 是Android系统(Tablet/mobile)的客户端,有一个APJP_ANDROID.apk的安装文件和README.txt。
- APJP_REMOTE_HEROKU-×.×.× 为Heroku PaaS平台上部署所需文件
- APJP_REMOTE_DOTCLOUD-×.×.× 为Jelastic,CloudFoundry ,OpenShift等支持Java的PaaS平台部署所需文件
使用指导
APJP各平台使用指导综合: InstallGuide
如果是新用户, 请一定先根据更平台的基础信息, 判断哪个平台更适合自己.
只有适合自己的才是最好的, 多有时是一种负担的, 同时为减少滥用, 请尽量不要部署超过三个平台
已知Bug
- GAE平台配置多个App,会导致某些论坛无法登陆。Web Gtalk 每隔十分钟左右会下线一次。每次发送请求获取的IP,基本都不一样,但都是Google在美国的IP。主要是GAE的问题。
建议和Bug提交
如果部署APJP代理方案有任何问题,或对APJP项目有任何建议,请在项目内的Issues发表,或者在Twitter上向作者@jvansteirteghem 咨询(最好使用English)。当然也可向WIKI作者@twfcc咨询。
APJP代理项目为开源软件(Open Source Software)