前言
国内无法访问Google实在感觉不幸福,之前一直想通过搭建一个vps+shadowsocks来实现科学上网,但是需要一定的花费,今天偶然在Cnode社区上发现有人分享了一个关于修改hosts的repositories。
地址:https://github.com/racaljk/hosts。
修改方法
首先clone或者download整个项目
1 | $ git clone https://github.com/racaljk/hosts.git |
或者在github上download这个项目
更换本地hosts文件
!!!注意: 更换hosts文件时注意备份原hosts文件
hosts路径:
windows:
%SystemRoot%\System32\drivers\etc\hosts
Linux:
/etc/hosts
其他具体平台请参见: 这里
对照上面具体系统的host路径,使用github上下载的hosts文件覆盖替换本地的hosts文件
关于在linux系统下,我是使用github项目中提供的工具进行替换的,下文在详细介绍
关于linux(ubuntu)系统使用工具替换hosts文件
在我们从github下载的文件中有一个叫做tools的文件夹,这里我们使用lhosts这个工具。
lhosts这个工具是一个Linux平台自动部署脚本
#1 首先我们为脚本添加科执行权限
1 | $ chmod u+x lhosts |
#2 然后执行
1 | $ ./lhosts -h |
这条命令可以看到这个工具的帮助信息,在帮助信息中其实已经详细说明了这个软件的使用方法,如图:
我们可以看到lhosts软件为我们提供了一些选项,并给出了参考,自定义源的实例
接下来我们在terminal中继续输入
1 | $ ./lhosts -qu https://coding.net/u/scaffrey/p/hosts/git/raw/master/hosts |
此时我们已经替换了linux系统的hosts文件,现在小伙伴们可以尝试访问一下Google,是不是感觉终于可以愉快的与Google玩耍了
等等。。。。
为什么我访问google并不能成功?
关于部分在替换了hosts文件后依旧无法正常访问Google问题
之前,我也遇到了相同的问题,但是小伙伴们可以尝试访问一下这里:
https://play.google.com
你一定会说:咦?google商店怎么就可以访问了呢???
没事,不急,我们来看看是哪里出了问题。
我是这样做的,在Terminal中去ping Google的域名
1 | $ ping www.google.com |
发现这是可以ping通的,这是因为Google走的是https,而我们自己的浏览器默认的却是http,所以无法连接。
解决方法:
HSTS(HTTP STRICT Transport Security)设置通过https访问Google
HSTS 允许一个https网站,要求浏览器总是通过https来访问它
详细步骤:
#1 在chrome的地址栏输入
1 | chrome://net-internals/#hsts |
进入HSTS管理界面
#2 在HSTS选项卡下的Domain中输入www.google.com(或 www.google.com.hk)
,然后点击Add按钮,这样就可以通过https来访问Google了
备注: 普通的http浏览时不安全,用户和服务器之前的通讯会被第三方监听和干扰,对于Google来说,在进行Google搜索词语时会被第三方截获。在https的Google搜索中,用户的信息无法被第三方获取,也不会出现数据泄露的问题。还有一个好处就是可以搜索任意关键词而不被重置。
总结
以上就是通过修改hosts文件来实现Google的访问,但是目前还一些问题,比如youtube视频可能会比较慢,甚至无法观看。不过也有一些实现了可以全速观看Youtube视频,不过作者说安全性不高,使用请慎重
Youtube全速播放解决方案地址:https://github.com/fengixng/google-hosts
参考
感谢分享hosts介绍:
http://www.wikiwand.com/zh/Hosts文件#hosts项目分享(github地址):
https://github.com/racaljk/hostshosts项目分享(coding地址):
https://coding.net/u/scaffrey/p/hosts/githosts修改后依旧无法访问问题解决方案:
http://blog.csdn.net/qq_21398167/article/details/51462590