gaeproxy:一个 Android手机系统的GAE代理
【美博园2012年10月15日】据官方介绍 GAE Proxy for Android是一个GoAgent Android 客户端,综合 RedSocks、CMWRAP、SSHTunnel 和 Python For Android 等项目,以实现 Android 系统上基于 Google AppEngine 的 HTTP 代理。
项目主页:gaeproxy - GAE Proxy for Android System - Google Project Hosting
升级到前请确认你的 goagent 服务器端已更新到最新版。
快速指南
- 【可选】安装 BusyBox Google Play
- 导入 GAEProxy 根证书,详细请见 教程
- 部属自己的 GoAgent Fetch Server ,详情请见:
- 下载并安装 GAEProxy 最新版。
- 填入你的 appspot 地址,形如:https://app-id.appspot.com/fetch.py
- 勾选 “开启服务”,浏览互联网。
源代码
最新源代码请见: https://github.com/madeye/gaeproxy
FAQ
1. 是否一定需要 ROOT 权限?
一定需要。由于 Android 系统本身并没有提供完善的代理实现,所以必须借助于 iptables 这个模块来实现流量代理与转发,而运行 iptables 需要 ROOT 权限。
2. 是否一定需要 iptables 模块?
一定需要。理由同上。
3. 如何确认自己的 ROM 支持 iptables?
一般来说,只要系统原生支持 tether 的都支持 iptables。手动确认的方法是在 adb 下,执行 “iptables –L –t nat”,若提示找不到 module 则可以认为是不支持 iptables。
4. 是否 ROM 中包含名为 iptables 的可执行文件,即可以认为是支持 “iptables”?
准 确的来说,应该是需要 ROM 的 kernel 中编译进了 Netfilter / NAT 模块,并至少支持 DNAT 和 REDIRECT 两种转发模式中的一种。一些第三方 ROM 会裁剪掉 iptables 相关的模块,却又提供了 iptables 的二进制文件。
5. 为什么会无法访问一些 https 网站?
受到 DNS 污染的影响,老版本中会存在无法访问某些 https 网站的问题。没有 ROOT 权限或 iptables 支持的用户,若自行在浏览器中设置代理,也会遇到这种情况。
6. 为什么无法访问 Twitter ?
请启用“https 代理”选项,之后可以选择使用 https 链接访问 Twitter 移动页面,或直接使用 Twitter 客户端(推荐:twicca, tweetdeck, 以及官方客户端)。
7. 升级到新版本后,为什么会无法使用?
每次版本更新后,由于测试不充分等原因,确实有可能引入一些 Bug。遇到类似情况,请前往项目网站下载老版程序重新安装,以确认遇到的问题是否是由更新造成。另外,建议每次大版本号更新时,请卸载之前版本再重新安装。
8. 用泰坦备份或其他备份工具恢复 App 后为什么无法使用?
请不要使用备份工具,备份和恢复 GAEProxy,因为会破坏数据区的执行文件和权限,造成 App 无法正常运行。
9. 为什么开启代理之后依然无法 ping 通一些网站?
由于我们并没有转发 UDP 流量,因此也不会转发 ICMP 数据包。在无法直接连通的情况下,自然也无法正常 ping 到对方服务器。然而,无法 ping 通服务器并不代表无法与其通信。
10. 为什么会有广告,如何去掉?
GAEProxy 中有置顶广告,收入会投入到 App 的再开发及相关服务器的部署(如 DNS 代理)。若实在觉得广告碍眼,可以从源代码自行编译没有广告的版本或利用 hosts 工具全局屏蔽广告。
11. 如何获得源代码?
GAEProxy 是一个开源项目,且依照 GPLv3 发布源代码,源代码及文档见项目网站。
12. 如何参与到项目中来?
参与到项目的方法包括:提交 Bug Report 或者改进建议;直接提交 patch。对于后者,我们会在第一时间做出反馈,并将修改合并到主分支中。
13. 是否可以修改源代码后另行发布?
可以,只要修改后的项目也依照 GPLv3 发布即可。
14. 是否可以捐助项目?
本项目不支持任何形式的捐赠,但欢迎各位参与到项目中(提交 issue 等)来帮助我们开发出更好的 App。
15. 项目中都用到了哪些开源组件?
redsocks:与 iptables 配合实现转发功能。
dnsproxy:cmwrap的子项目,用来代理 DNS 流量。
proxylist: TorProject 中的代码,以实现分应用代理。
iptables: DroidWall 项目提供的二进制文件。
GAppProxy: GAppProxy 客户端代码。
GoAgent: GoAgent 客户端代码。
Python4Android:用来在 Android 系统中执行 Python 脚本的运行时环境,以依赖包形式发布。
另外还有一些发布在 StackOverflow 上的代码片段,在这里不再详细介绍。
电子市场
原文标题:gaeproxy:一个 Android手机系统的GAE代理 - 美博园
美博园文章均为“原创 - 首发”,请尊重辛劳撰写,转载请以上面完整链接注明来源!
软件版权归原作者!个别转载文,本站会注明为转载。
网 友 留 言
6条评论 in “gaeproxy:一个 Android手机系统的GAE代理”这里是你留言评论的地方
很给力的软件,不过有网友对gaeproxy的“https代理”功能提从安全性的问题。https://blog.williamgates.net/2013/02/gaeproxy-analysis/
@ shangguan :
谢谢推荐,已经转载:(新旧版)对gaeproxy的“https代理”功能之分析和说明 - 美博园
请教个问题!
我的gae,设置好了,在PC上也可以正常使用和翻墙,可是在我的安卓手机(2.3.6)(三星I9100G)下却怎么也用不了,按照说明安装了官网手机端,也用 Root Explorer导入了cacerts.bks证书并重启,也设置了appspot 地址,手机端也显示连接成功,并显示“正通过gae代理连接到互联网”,可手机就是上不了网,不只是翻墙,所有网站都上不了!我尝试换了0.16.7和0.18.12两个版本都是如此,
求指教!
@ 一朵云 :
另,我没发现 “安装/卸载依赖模块” 这个选项啊!!!
@ 一朵云 :
这个我没有用过,请其他网友看看书怎么回事。
手机的gae,试一试,谢谢