Android修改hosts访问Google Docs和Dropbox

 
GFW虽然屏蔽Google Docs和Dropbox,但是仍然能够通过更改hosts文件来访问。
PC修改hosts相对比较简单,到"C:\windows\system32\drivers\etc\"下找到hosts文件,用文本编辑工具编辑一下就好
但是Android比较罗嗦,因为本身是Linux的架构,权限设置比较麻烦,最好是通过命令行的方式修改
按照下面步骤基本都能够成功
1. 取得root权限,破解过的机器用超级终端或者terminal之类的工具起来以后执行"su"命令
2. 为将要进行的编辑行为取得读写系统文件的权限,执行"mount -o remount,rw /dev/block/mtdblock3 /system"
3. 进入host文件目录,执行"cd system/etc/"
4. 使用vi编辑hosts文件,执行"vi hosts"
5. 先按一下"i"键切换到编辑状态
6. 在文件的末端添加如下内容
"74.125.127.139 https://spreadsheets.google.com
209.85.225.101 docs.google.com
74.125.127.100 writely.google.com"
7. 切换回原始状态,按导航球+1。不同系统可能会有不一样,可以通过菜单查看
8. 关闭终端

这样能够在浏览器中通过https访问Google Docs和Dropbox,或者利用GDoc访问Docs。由于Dropbox的应用是通过http方式访问网站的,所以仍然会被屏蔽
 
 

android下修改hosts文件不起作用(无效)的解决办法

 

首先请确认你修改的是文件是 /system/etc/hosts ,如果不是,那你即使改了也无效。

其次,如果你是在windows下修改hosts文件,那就必须注意换行符的问题,以及hosts文件格式的问题:

android下的hosts文件必须像以下这样写:

IP 域名

注意:

  1. 在IP和域名之间保留一个空格 每行只能有一个域名,不能一个IP后面跟多个域名。
  2. android上的换行符(也就是回车)是LF,也就是\n,而windows上的换行符是CR LF,也就是\r\n
    所以在windows下用记事本之类的软件编辑了hosts文件,放到手机上肯定认不出来的!解决的办法就是用NotePad++之类的文本编辑器,再使用“查找替换”,将“\r\n”替换成“\n”(注意要在notepad++里把查找模式设置为扩展模式,才能识别转义字符\r\n)
  3. 如果是在windows下编辑hosts,要保证最后一行结尾也是“\n”

 

-------------------------------------

《GAE的API被屏蔽的解决方法,并分享三枚API及使用教程》
提供三个GAE的API地址分享给推友们使用:
Tweetforcn.appspot.com (名为TweetForCN)
Twiforcn.appspot.com (名为草泥马推特)
Followboatman.appspot.com (名为墙上的另一块砖)
此三个用来分享的API是由船夫@boatman搭建的基于GAE支持oauth的API,旨在让更多推友方便上推,重在分享。请不要将API密码设置为与twitter相同的密码,以保证帐户安全,本人一概不对此API使用者的帐户安全负责。当然并不是说我不值得信任,哪怕你信任我,我还是强烈建议你设置独立的API密码!如果是自己搭建的API,可以随意设。

由于GFW经常性屏蔽(墙)GAE,导致用GAE搭建的API和博客等无法正常使用,现提供一补救措施,目前来说还是比较凑效的,即修改hosts文件,将搭建的API和博客等指向一个固定的Google的IP地址,即可正常使用。但即便如此,此方法也只适用于电脑端,据几位推友反馈,手机端修改hosts并没有效果(本人并未亲自测试),也就是说走手机网络如GPRS、edge、3G都无法正常使用gae的api,但手机端使用wifi偶尔能连上(刚刚据一位热心推友反馈,在手机端修改hosts文件成功,安卓系统,文本的换行符修改为Linux的LF换行符就OK了。所以,具体手机端修改hosts是否有效,请自行研究测试)。你要明白,多个梯子翻墙总是一件好事,如果你有精力的话,搭建GAE的API还是比较有价值的。

下面说一下怎么使用GAE的API上推特,首先需要修改hosts,然后推特对API授权,最后在客户端验证API地址。

1.修改hosts文件:

以Windows系统为例,打开C:\Windows\System32\drivers\etc ,找到hosts,以记事本的方式打开hosts文件,在最尾端添加以下IP字符和gae程序地址(一个程序名只可对应一个IP地址):
74.125.153.104 替换为你的GAE程序名.appspot.com

例如:
74.125.153.104 tweetforcn.appspot.com
203.208.39.104 twiforcn.appspot.com
203.208.39.104 followboatman.appspot.com
其中第一个ip地址对应的API地址为https的(加密),第二个和第三个是http的(普通),https和http是什么意思呢?其实就是加密传输与明文传输的区别。说的明白些,你如果将gae的api绑定到第一个ip上了,以我搭建的一个名为TweetForCN的API为例,那么它对应的地址应为:https://tweetforcn.appspot.com,无论是验证api还是在客户端使用api,都必须使用https://加密方式的。同理,如果绑定到了第二个ip,那么对应的就是http://非加密的。但不能一个API同时使用这两个IP地址。本教程搭建的api都支持https和http,可按需使用。
我建议大家使用加密方式。以前我建议推友使用非加密的方式,是因为GAE的https加密传输被墙了,而http则未被墙,比较方便。虽然现在GAE也没完全被墙,但几乎快被方校长(你不知道方滨兴?)废了,所以既然无论怎样都要修改hosts了,那还不如绑定加密的IP地址,即使用https的方式使用API,这样的话,更有安全保障。当然,也可以使用普通传输,因为有的客户端不支持api加密传输的(比如twhirl)。
如果不想使用教程中的IP地址,可自己ping google.com获得IP,当然这个IP是否支持加密传输就要自己测试了。
其他系统修改hosts文件方法请自行Google。

2.推特对API授权
此步必须先翻墙才可完成认证。(建议验证时使用https加密方式) 
翻墙先,然后浏览器中打开你要使用的api地址 
如 https://tweetforcn.appspot.com
出现以下界面就说明搭建成功了。

最后的话,仔细看:点sign in with twitter,登陆后点Allow,在the new key里输入一个密码作为你使用这个API的密码,如果你使用的是我提供的API,请务必不要将API密码和twitter密码设置为相同的,当然并不是说我不值得信任,哪怕你信任我,我还是强烈建议你设置独立的API密码!如果是自己搭建的API,可以随意设。

设置完新密码后还会返回到这个界面,不用管它,设置一遍即可,这个api密码是以最后设置的KEY为准的。比如最早是一长串字符,你改成了123456退出,那么123456就是API的密码,但下一次再进去认证的话,这个KEY又变成了长串字符,它是变动的,你只需改了它然后退出就可以用了。想改api密码的时候再进,不改就不要进啦。 
如果想取消对API的授权,请在推特官网里的Settings里面的Connections取消即可。
3.在客户端使用GAE的API上推。
对tweetdeck的介绍我就不多说了,我主要是以tweetdeck为例,简单的说一下怎么使用api上推特,本教程说的是GAE的api,但twip搭建的api和这个使用方法是一样的。
首先,必须下载安装Adobe AIR,因为tweetdeck是基于air的软件
http://get.adobe.com/cn/air/
然后下载安装TweetDeck的桌面客户端
http://www.tweetdeck.com/desktop/
此步仍需翻墙才可成功设置!
先运行tweetdeck,添加twitter帐户和“twitter密码”,登录成功后,点击设置(图标为小扳手),再次添加推特账户,重新输入twitter账户和“设置的api密码”(如果你设置的api密码和推特密码不一样,一定要输入api密码才可使用此api),点开下面的Advanced Options,输入你搭建好的api地址,比如本教程中的: 
https://tweetforcn.appspot.com/
不要忘了最后的那个‘/’
然后点击Verify认证,不出意外的话,你应该已经刷出来推了,但字体可能不能正常显示,打开设置,colors/font 把字体改为international即可。如果还刷不出来就重新把这几个步骤来一遍。以后用tweetdeck不用翻墙就可以上推了,不信的话关闭翻墙软件,重新启动tweetdeck试试吧。API在其他客户端的应用和这个原理是一样的,具体别的软件怎么用自己慢慢琢磨吧,不知google之

-------------------------------------