自动更新 hosts 文件上谷歌
2017-02-23 本文已影响626人
远飞的大雁2010
在国内上谷歌还是蛮困难的,正常通过域名访问谷歌基本上是不可能的。但好在谷歌的 ip 比较多,通过修改 hosts 文件就可以访问。并且有人已经整理好了 hosts 文件,供大家定期下载。我们可以通过如下的代码来自动下载或更新 hosts 文件。
更新 hosts 文件
主要的代码如下:
# 项目:standard library
# 模块:fuck gfw
# License:GPL
# Email:huangtao.sh@icloud.com
# 创建:2017-02-05 19:16
# 修订:2017-02-22
'''
功夫网是档在我们和外部世界之间的一堵墙。幸好有好人提供了一把梯子,供我们翻墙
'''
import os
url='git@github.com:racaljk/hosts.git'
def main():
if os.name=='posix':
src=os.path.expanduser('~/.fkgfw')
dest='/private/etc/hosts'
else:
src=os.path.expandvars('%appdata%\\fkgfw')
dest=os.path.expandvars('%SystemRoot%\\System32\\drivers\\etc\\hosts')
if not os.path.isdir(src):
os.mkdir(src)
os.chdir(src)
if not os.path.isdir('hosts'):
os.system('git clone %s'%(url))
os.chdir('hosts')
else:
os.chdir('hosts')
os.system('git pull')
if os.name=='posix':
os.system('sudo cp %s %s'%('hosts',dest))
else:
os.system('copy %s %s'%("hosts",dest))
os.system('ipconfig /flushdns')
if __name__=='__main__':
main()
其他说明
- 上面程序可以在 Windows 和 Mac OS 上运行。运行该程序需要在系统中安装 git 软件。在 Linux 下是否可以运行不知道,不过修改一下 dest 目录就可以了。
- 直接在浏览器地址栏输入 https://www.google.com 会跳转到谷歌香港,这样就没办法访问了。所有要先打开一次 https://www.google.com/ncr ,打开一次之后,就可以输入上面的网址进入了。
- 上面的程序运行需要管理员权限,在 Windows 下需要以管理员身份来运行; 在 MacOS 下运行程序会提示输入当前用户的密码来提升权限。