-
Notifications
You must be signed in to change notification settings - Fork 273
Home
GoAgent Android 客户端,综合 RedSocks、CMWRAP、SSHTunnel 和 Python For Android 等项目,以实现 Android 系统上基于 Google AppEngine 的 HTTP 代理。
- 升级前请确认您的 GoAgent 服务器端已更新到最新版本。
- 2.2 及以下系统请使用 0.19.1 或之前的版本。从 0.20.X 版开始,仅支持 2.3 以上系统。
问题反馈:@gaeproxy
- 【可选】安装 BusyBox [https://play.google.com/store/apps/details?id=stericson.busybox Google Play]
- 导入 GAEProxy 根证书,详细请见 [http://code.google.com/p/gaeproxy/wiki/importca 教程]
- 部属自己的 GoAgent Fetch Server ,详情请见: GoAgent
- 下载并安装 GAEProxy 最新版。
- 填入你的 appspot 地址,形如:https://app-id.appspot.com/2
- 勾选 “开启服务”,浏览互联网。
-
提交 Issue 前请仔细阅读说明,所有不符合要求的 Issue 都将被自动标为无效。
-
一般性的讨论和经验分享请前往邮件列表([email protected])。同样的,在他人 Issue 下提出问题是无法得到有效反馈的。
- 是否一定需要 ROOT 权限?
一定需要。由于 Android 系统本身并没有提供完善的代理实现,所以必须借助于 iptables 这个模块来实现流量代理与转发,而运行 iptables 需要 ROOT 权限。
- 为什么无法在某些局域网环境中使用?
GAEProxy 不支持二级代理,并需要确保此网路可以访问到公开的 DNS 服务器。因此, GAEProxy 无法在一些典型的公司网络和 WAP 类型的移动网络中使用。
- 如何确认自己的 ROM 支持 iptables?
一般来说,只要系统原生支持 tether 的都支持 iptables。手动确认的方法是在 adb 下,执行 “iptables –L –t nat”,若提示找不到 module 则可以认为是不支持 iptables。
具体来说,GAEProxy 依赖于 kernel 中的 Netfilter / NAT 模块,并需要确保系统提供了 DNAT 和 REDIRECT 两种转发模式中的一种。
- 为什么播放 Youtube 总是断流?
GAEProxy 与 Youtube 官方客户端存在一定的兼容性问题,表现为无法播放,或播放到一半处出现卡顿或断流。作为一个临时的解决方案,请直接在浏览器中访问 Youtube 移动页面,经测试,大部分网页中的 Youtube 视频都可以正常播放。
- 为什么会无法访问一些 https 网站?
两种情况会导致访问 https 网站出错:1. 未导入 GAEProxy 的根证书;2. DNS 污染。对于第一种情况,只需要按照说明导入根证书即可。
而第二种情况则较为复杂,由于 Android 系统没有开放刷新 DNS 缓存的接口,一旦被 DNS 污染,需要尝试开启/关闭飞行模式,或直接重启系统。通过开启「自动启动」选项,可以确保手机的 DNS 解析处在被保护状态。
另外 GAEProxy 还提供了第三方的 HTTPS 代理功能,可以通过在设置界面中勾选「HTTPS 代理」选项启用此功能。需要注意的是,这一功能默认是关闭的,且只有经过签名的官方版本才支持此项功能。开启此功能后所有本地 HTTPS 流量将被转发到远程服务器,若您不明白这项功能是如何工作的,请不要打开此选项。更多细节请参考此文:http://blog.williamgates.net/2013/02/gaeproxy-analysis/
- 为什么无法访问 Twitter 或使用 Twitter 的官方客户端?
Twitter 移动页面及客户端对于 Google App Engine 做了并发限制,具体表现为访问 mobile.twitter.com 出现 403 错误。可以通过使用第三方 Twitter 客户端来解决此类问题,推荐 Twicca、Twidere 及 Tweedle 三款客户端。
- 开启 SuperSU 的完整记录功能后,为什么无法正常使用?
SuperSU 的完整日志记录功能会重定向标准输出,导致 GAEProxy 无法正常工作,因此请确认关闭 SuperSU 中 设置->记录方式->完整内容 选项。
- 用泰坦备份或其他备份工具恢复 App 后为什么无法使用?
请不要使用备份工具,备份和恢复 GAEProxy,因为会破坏数据区的执行文件和权限,造成 App 无法正常运行。
- 为什么开启代理之后依然无法 ping 通一些网站?
由于我们并没有转发 UDP 流量,因此也不会转发 ICMP 数据包。在无法直接连通的情况下,自然也无法正常 ping 到对方服务器。然而,无法 ping 通服务器并不代表无法与其通信。
- 为什么会有广告,如何去掉?
GAEProxy 中有置顶广告,收入会投入到 App 的再开发及相关服务器的部署(如 DNS 代理)。若实在觉得广告碍眼,可以从源代码自行编译没有广告的版本或利用 hosts 工具全局屏蔽广告。
- 如何获得源代码?
GAEProxy 是一个开源项目,且依照 GPLv3 发布源代码,源代码及文档见项目网站。
- 如何参与到项目中来?
参与到项目的方法包括:提交 Bug Report 或者改进建议;直接提交 patch。对于后者,我们会在第一时间做出反馈,并将修改合并到主分支中。
- 是否可以修改源代码后另行发布?
可以,只要修改后的项目也依照 GPLv3 发布即可。
- 是否可以捐助项目?
本项目不接受任何形式的捐赠,但欢迎各位参与到项目中(提交 issue 等)来帮助我们开发出更好的 App。
- 项目中都用到了哪些开源组件?
redsocks:与 iptables 配合实现转发功能。
dnsproxy:cmwrap的子项目,用来代理 DNS 流量。
proxylist: TorProject 中的代码,以实现分应用代理。
iptables: DroidWall 项目提供的二进制文件。
GAppProxy: GAppProxy 客户端代码。
GoAgent: GoAgent 客户端代码。
Python4Android:用来在 Android 系统中执行 Python 脚本的运行时环境,以依赖包形式发布。
另外还有一些发布在 StackOverflow 上的代码片段,在这里不再详细介绍。