Total Pageviews

Thursday 30 July 2015

Ios上的翻墙工具 :GFWInterceptor


What is GFWInterceptor

For the time period, GFWInterceptor includes a mobilesubstrate plugin for iOS device used to intercept and forward requests and a rest style API service running on GAE for remote content fetching.

什么是 GFWInterceptor

GFWInterceptor 是 iPhone/iPad/iPod touch 设备上的自动代理插件,应用程序不需要支持API Proxy,也能够强制将请求通过第三方服务器中转。 现阶段已经能够适用于Twitter, facebook等不少应用。
GFWInterceptor 包括两个部分,第一部分为mobilesubstrate插件,用于拦截并将所有特定的http请求转发,第二部分为运行在GAE上的服务端版本,服务器仅仅做中转。其中第二部分基于 twitter-api-proxy 的代码实现 http://code.google.com/p/twitter-api-proxy/
只支持越狱后的各iOS设备。不适用于 Safari 与 用到 Webview 的部分。不能用于看视频。

项目贡献者

@overboming @luosheng 以及感谢各位帮忙测试的朋友们 有问题请反馈给 @gfwinterceptor 专用帐号

客户端支持情况

Tweetings 有问题。其它一些采用网页 OAuth 的客户端应该在登录过一次后能行。Twitter for iPhone 因为 API 调用方式的关系会超出 GAE 的 Limit, 所以有些功能会时好时坏。 其余的客户端应该支持基本完美。

如何安装

在cydia中添加源

http://cydia.ifuckgfw.com (感谢gokeeper)

或者

http://gfwinterceptor.googlecode.com/svn/trunk/cydia

安装源内包既可,gfwinterceptor 依赖于 mobilesubstrate 和 preferenceloader。如果安装完毕没有在 Preference 中看到设置,说明没有正确安装。

内置服务器随时被墙

所 以建议大家搭建自己的 api-proxy server,可以下载 gae-api-proxy-server-0.5.zip 获得源码。GAE服务搭建方式请自行 Google, 只需要修改 app.yaml 中的应用名字就可以。 感谢 @luosheng 和 @scalarize 和 @gokeeper 的倾力协助,PHP版server源码已经可以下载 api-proxy-php-0.3.zip

如何使用

安装后respring,gfwinterceptor即刻生效,可以试着打开 Twitter 应用直接使用(不用设置API,如果以前设置了可以去除)。在 Settings.app 会出现 gfwinterceptor 的设置选项。

FAQ

为什么我的 Twitter for iPhone 无法看 Profile, conversation 和 搜索?
Twitter for iPhone 调用 search api,检查是否follow,查看profile的问题,是因为其软件自身设计的问题导致 (没有发出 Authorization Header),最彻底的解决方法是别用它了。 详细解释在这里:http://codeleaks.net/2010/08/19/说说-twitter-for-iphone-的-n-宗-“罪”/
为什么不做 SBSettings 开关呢?
因为 gfwinterceptor 的代码只有在程序启动时才会载入,而没有后台进程,所以不能制作 SBSettings 开关。包括一些会后台的应用,也得重启以后才能生效。

GFWInterceptor 工作原理