Total Pageviews

Thursday, 8 August 2013

用sshtunnel不能正常翻墙的解决办法

我的联想手机root了,不过我在装了sshtunnel后,虽然提示连上了服务器,但依然翻不了墙,访问显示ip的网站,依然显示国内ip. 我怀疑是我的手机不支持iptables导致的,但如何验证我的手机是否支持iptables 呢?

解决方法:
安装终端模拟器https://play.google.com/store/apps/details?id=jackpal.androidterm,运行:
先输入 su (回车)
chmod 755 /system/bin/iptables

以后如果用sshtunnel又翻不了墙了,记得打开 root explorer,确保其中显示为“已挂载为读/写”。如果还不行,就运行终端模拟器,然后输入 su (回车)
chmod 755 /system/bin/iptables
这样用sshtunnel就可正常翻墙了。同时gaeproxy也可正常翻墙了.

可能是因为之前没有赋予iptables执行权的缘故,导致iptables不能发挥作用,从而使得sshtunnel也不正常,因为sshtunnel要用到iptables,所以iptables非有执行权限不可。
----------------------------



安卓手机通过GAE代理实现翻墙
确保你的手机已经root过,不知道root去 安卓论坛找方法。即便没有root也可以试一试。

第一步:安装GAE翻墙代理到手机 下载地址 :http://yunfile.com/file/chunxuehua/bf25b57f/
直接在豌豆荚 搜索 GAE 就会有了。

强烈建议在豌豆荚下载最新版本GAE.

豌豆荚安装地址       www.wandoujia.com

第二步:安装好过后,在手机上操作,在安装/卸载后面√(会下载几M大小的支持模块)《最新版已经不需要下载支持模块了》,电子市场后面√,全局代理后面√。https 勾选上。。代理类型选择GoAgent,最要注意的地方代理地址填写http://你的appid.appspot.com/fetch.py.特别注意fetch.py不要忘记了且去掉https的s。。。比如我的AppID是007那么相应代理地址就是 http://007.appspot.com/fetch.py。 接着代理端口和电脑上相同。本地端口填写 8087就OK了。。好吧最后打开代理开关,连接GAE代理成功后就可以运行facebook和twitter客户端了(豌豆荚可以下载)。   (如果还没有APPid,可以在这里找几个试试用。不能保证当天流量是否超标。所以最好还是自己去   这里  学习下建立自己的appid)  建立的APPID 必须是在电脑上上传成功了的才行。

PS:UC浏览器经常抽风国产的大家都懂得。手机自带浏览器可以,最好用opera mobile 。其他浏览器未做测试。客户端测试没问题。 要方便还可以在手机桌面上添加GAE的小工具。想翻就翻如此简单!! 同样的一个APPID每天1G免费流量。还有就是手机接入网络模式要用wifi或者net 不要用wap。。。

小的修改:有人反映安装好代理后直接twitter等客户端登不上去。。一个小的解决办法。。下载一个海豚浏览器。。  用自带的或者海豚打开 m.facebook.com 这个打开一次成功过后客户端以后就好使了。想上国外网的同时又想用UC浏览国内网。那就不要用全局代理。。选择gfw列表或者为部分应用(客户端)选择代理.
----------------------------------------------------------------
很多GoAgent用户都不知道如何在Android手机上使用它翻墙(包括我自己在内,我也是最近才知道),就算知道了网上也很难找到相关的教程。其实只要安装了GAE Proxy这款App,在Android手机配置GoAgent翻墙比PC上还要容易。 话说前段时间介绍了再PC上如何使用Chrome加GAE实现翻墙,今天来介绍下在Android手机上如何实现GAE代理上网。

首先在手机上登录Play商店,搜索GAE,首个便是GAEproxy,下载安装即可。

然后打开该应用,进行简单的设置,主要是代理类型选择goagent,代理地址里填写自己appid,其他的自己定义修改。设置完毕后,勾选代理开关,即表示代理打开。好了,畅游网络吧。

使用体验:facebook正常访问操作、twitter不是很稳定,有时提示流量超标,不知何故;youtube正常访问,看视频超级爽。用过youtube才知道优酷、土豆到底有多坑爹:广告泛滥、视频模糊,而youtube零广告且都是高清,最要紧的是可以看到你想看的。
-------------------------------------------------------------
利用 SSHTunnel 给安卓手机翻墙

在Android上就要麻烦一点了,因为需要网络通讯的不仅仅是浏览器,很多Android application都需要访问网络,但是它们并不支持proxy——连HTTP proxy都不支持,更不用说SOCKS了。它们只会直接连接目标站点,如图中虚线所示,然后撞墙。

但是Linux有iptables,可以设置iptables规则(需要root权限),将HTTP/HTTPS请求forward到一个 transparent SOCKS proxy去。transparent SOCKS proxy的作用是将任意TCP连接转成SOCKS连接,这样就可以走SSH tunnel出去了。我分析过几乎所有的Android应用访问网络都是走HTTP/HTTPS协议的,所有仅仅处理HTTP/HTTPS就够了。

去作者项目主页下载最新版sshtunnel,分为root版的和non-root的,根据实际情况下载安装.

启动并设置 SSHTunnel ,如图一所示,分别填入主机地址(Host)、端口号(Port)、用户名(User)、密码(Password)、本地监听端口(Local Port)、以及远程代理服务器端口(Remote Port)。点击 Connect 进行连接,显示Success 后切换到后台运行。(其中本地监听端口任意填写,作者说因为android系统限制要填1024以上的,远程代理服务器端口填写你在服务器端配置的端口


使用 PublicKey 登录的用户,请先更新到 1.0.7 以上版本,并把你的 Key 保存成 /sdcard/sshtunnel/key 文件即可——————我的ssh使用pubkey的,但是我没有连接成功

对于已经 Root 并对 SSHTunnel 应用进行授权的用户,可以跳过此步:

#############root版跳过部分####1.21版可以跳过###############

未授予 SSHTunnel Root 权限的用户需要设置好你的 Proxy 地址。图二中对APN进行设置,Settings(设置) –> Wireless & networks (无线与网络)–> Mobile Networks(移动网络)–> Access Point Names (接入点)–> 相应的接入点(限 CMNET 或 3GNET),设置 Proxy 为 127.0.0.1,Port 为第二步中设置的 Local Port。Wifi 设置类似,对于个别用户可能需要用到Transproxy 这个软件-http://forum.xda-developers.com/showthread.php?t=766569(需要 Root)。

#############root版跳过部分结束###1.21版可以跳过##############

这样我们就能用android手机翻墙啦.