自制工具:修改hosts文件,访问google等网站


由于工作原因,需要经常访问google等网站查询问题,因此常见的方法就是使用vpn或者通过修改hosts文件来实现对google 的访问。

但一般情况下免费的vpn很难找到,收费的vpn仅仅是访问google也不划算,因此常用的就是修改hosts的方式,修改hosts的方法也很简单,主要就是找到有效的hosts文件,然后替换掉系统的hosts文件即可,常用系统的host文件的路径如下:

  • windows系统的host文件路径:C:\WINDOWS\system32\drivers\etc
  • Android(安卓)系统hosts路径: /etc/hosts
  • Mac(苹果电脑)系统hosts路径: /etc/hosts
  • iPhone(iOS)系统hosts路径: /etc/hosts
  • Linux系统hosts路径: /etc/hosts
  • 绝大多数Unix系统路径: /etc/hosts

针对windows系统我这边编写了一个工具,用来更新和替换hosts文件,下载地址:
https://whonee.net/wp-content/uploads/2017/06/google-2-1-1.zip


下面针对工具的逻辑和编写思路记录一下,以作后续参考:

  • 首先需要找到一个有效的hosts文件,搜索发现github上热心的好人上传了hosts文件,路径如下:https://raw.githubusercontent.com/racaljk/hosts/master/hosts。

github单独下载一个文件方法:
1. 打开网页,找到要下载的文件,点击进入单独显示此文件的页面,如下图:

在raw图标上点击右键,复制链接地址,就可以得到单独文件的下载地址。

2. 需要windows cmd下的下载工具,推荐使用wget,下载wget需要使用带有ssl功能的版本。

3. 编写脚本,脚本如下所示:

@echo off
echo # 
echo # 保存旧hosts
echo # 

if exist "%~dp0hosts\hosts" (
    move "%~dp0hosts\hosts" "%~dp0hosts\hosts_%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%";
    echo # 
    echo # hosts 保存成功,即将更新hosts。
    echo # 
)else (
    echo # 
    echo # hosts文件不存在,将下载更新hosts文件。
    echo # 
)
echo #  
echo #  开始下载更新hosts文件
echo #  
wget.exe -q -P hosts --no-check-certificate https://raw.githubusercontent.com/racaljk/hosts/master/hosts

if exist "%~dp0hosts\hosts" (
    echo # 
    echo # 更新hosts文件完毕!
    echo # 
    goto start_update
)else (
    echo # 
    echo # 更新文件失败,请检查地址是否有效。
    echo #  
    goto end
)
cls
:start_update
echo # 
echo # 暂停后,需要更新hosts,请继续,若不想更新,请直接关闭窗口。
echo # 
pause

echo #
echo # 开始更新hosts文件到系统
echo #
copy /y "%~dp0hosts\hosts" "%SystemRoot%\System32\drivers\etc\hosts"
ipconfig /flushdns
echo # 
echo # 您的hosts已更新,已可以用登录以下地址访问google等网站:
echo #
echo # https://www.google.com/ # 必须是https加密连接。
echo #
goto end

:end
pause>nul

4. 若需要还原hosts文件,只需要输入如下指令即可:

@echo 127.0.0.1 localhost > %SystemRoot%\System32\drivers\etc\hosts

《自制工具:修改hosts文件,访问google等网站》有3个想法

    1. 现在这个方法已经不好用了,我现在改用蓝灯,免费的蓝灯访问google的网页还能用。这个方法失效的几率比较大,毕竟github树大招风,IP容易被屏蔽。

      蓝灯地址:https://github.com/getlantern/forum

发表评论

电子邮件地址不会被公开。 必填项已用*标注