Hosts 相关的小工具着实不少,大家需求最多的肯定是 hosts 切换工具了。SwitchHosts! 是一款可以方便你管理和一键切换多个 hosts 方案的免费开源工具,跨平台支持 Windows、macOS 和 Linux 系统。
SwitchHosts官网:https://oldj.github.io/SwitchHosts/#cn
SwitchHosts 除了可以帮助你快速切换不同的 hosts 设置、编辑 hosts 文件外,它还有着一些很不错的特性,比如:
免费、开源、支持三大操作系统
系统托盘快速「一键切换」不同的 hosts 方案
支持 hosts 文件语法高亮,可以方便用户更直观地阅读和修改 Hosts 内容;
编辑 hosts 时,可以点击行号可以对行进行快速注释或取消注释
支持远程 hosts,直接从指定网址读取 hosts 内容,方便多台机器同步 hosts 设置,这是一个很赞的特性!
支持 hosts 配置的导入、导出备份
macOS 系统下可以支持 Alfred workflow 快速切换
基本上,有了 SwitchHosts,你就可以对 hosts 为所欲为了,轻松一键切换毫无鸭梨。而且,远程 hsots 方案也可以非常方便经常换电脑使用的人,配置一次到处使用!这一点也是它的亮点。
不过值得注意的是,由于 SwitchHosts 修改 hosts 文件是属于修改系统文件的行为,比如macOS 和 Linux系统需要输入开机密码,Windows系统下某些安全软件可能会提示“有风险”,有问题的话试试将 SwitchHosts加入排除列表或者信任列表里即可。
修改 hosts 后不生效怎么解决?
无论是手工修改 hosts 还是使用软件来修改,很多人都会遇到修改 hosts 后不生效的情况。其实,这一般是由于 DNS 缓存的原因导致的。
因为系统为了加快用户打开网站的速度,在首次访问网站成功之后,会把 DNS 解析的结果暂时性地保存在本地缓存 (称为 DNS 缓存) 里一小段时间,如果浏览器在“这段时间里”再次打开同一个网址,则会自动从 DNS 缓存里取出结果,而不会请求远程的 DNS 服务器,也不会查询hosts 文件,从而节省时间提高打开速度。因此用户会遇到有时修改了 hosts 文件但并不生效的情况,一般这时候我们想办法清空 (刷新)一下系统的 DNS 缓存即可。
怎样清空 DNS 缓存?
在 Windows 下命令行执行:ipconfig /flushdns
在 macOS 下执行命令:sudo killall -HUP mDNSResponder
如果你使用 Chrome 浏览器,那么可以访问:chrome://net-internals/#dns,然后点击「Clear host cache」按钮来清空浏览器里的 DNS 缓存。
如果这样还不生效,那么只能再试试重启电脑了,一般都OK了。要这样还是不行,可能就是你的 hosts 写错了。
hosts文件在哪?什么修改?另附Windows7/8/10 Mac/iPhone原版hosts文件
Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析
Windows系统hosts位于C:\Windows\System32\drivers\etc\hosts
Android(安卓)系统hosts位于 /system/etc/hosts
Mac(苹果电脑)系统hosts跟Linux一样位于/etc/hosts
iPhone(iOS)系统hosts跟Linux Mac一样位于/etc/hosts
Linux系统hosts位于/etc/hosts
你可以用记事本打开并修改
PC建议用Notepad++进行编辑。
注意:hosts文件属于系统核心文件之一,所以Windows用户必须用管理员身份打开才能修改保存,如果遇到无法保存,请右键文件hosts并找到“属性” -> “安全”,然后选择你登陆的用户名,最后点击编辑,勾选“写入”即可。
Android(安卓)必须Root才能修改,Root Explorer管理器或ES文件浏览器装载/system可写状态,找到/system/etc/hosts的文件,使用文本编辑器打开编辑后保存。
Linux系统使用Root权限vi编辑
而iPhone、iPad也必须越狱才能修改!Windows系统跟苹果系统的hosts文件文本编码和换行符格式一样,而Android(安卓)则不一样,这点你需要注意。