SwitchHosts! 3

2011 年时写了一个切换 hosts 的小工具 SwitchHosts!,2012 年时发布了第二版,一转眼 3 年过去了,在 2015 年即将结束之时,终于抽空编写了它的第三个版本

我在日常开发过程中经常会用到 SwitchHosts!,第二版虽然能满足大部分需求,但还是有一些不方便的地方,第三版在功能上主要有如下变化:

允许方案多选

我们日常开发过程中,有时会有很多公用的 hosts 希望总是生效,第二版的处理方法是提出一个单独的公共方案,但在一些复杂组合的情况下,单独的公共方案常会显得力不从心,于是,这一次索性将方案改为允许多选。自然,这样也就不再需要一个单独的公共方案了。

点击行号快速切换某一行的注释

有时我们只时临时想关闭或开启某一条 hosts 规则,如果单独将它作为一个方案就有点太重了,手动在行首加 # 进行注释又太麻烦,因此有了这个功能,帮助用户快速切换某一行的注释状态,从而达到关闭或开启某一行的效果。如下图:

click to comment

除此之外,第三版的一个很大的变化是技术上放弃了 Python + wxPython 的架构,采用了MacGap来构建。

之所以放弃 wxPython,主要是因为这个 UI 框架更新比较慢,社区也相对不活跃,我遇到不少问题都无从下手,比如第二版在 Retina 屏下有一些问题,同时 Mac 版的编辑区无法使用中文输入法等。最终,我决定在新版本中采用 Web 技术来开发界面。

一开始,我尝试了 Electron,并且做出了一个版本。但 Electron 生成的程序实在是太大了,无论 Mac 上还是 Windows 上都超过了 100M。SwitchHosts! 只是一个轻巧的小工具,虽然现在用户电脑的硬盘越来越大,但这么一个小工具要占用 100M+ 的空间还是让我觉得不太合适,于是我转而尝试了 MacGap。好处是现在的程序只有 1M 多点,坏处是第三版目前只适用于 Mac 了,Windows 用户暂时只能继续使用第二版。

目前这个版本仍有不少可提升的地方,不过既然它已经是一个可用的版本,那就让我遵循 MVP(minimum viable product)原则,先发布,再根据反馈进行迭代完善吧。

最后,贴一下项目主页:https://oldj.github.io/SwitchHosts/。欢迎下载试用反馈建议

分类:编程标签:SwitchHostsMacGapJavaScript

相关文章:

评论:

求windows版本

jacky

楼主的美工功底很厉害,项目的主页视觉效果很好,期待Windows版本 v3.

sunny

有些时候开发,需要的host非常的多,而且一旦更换了。千行里找这一个真是让人奔溃啊。 发现软件里不能模糊搜索。 迫切希望楼主加上这个功能。

oldj

感谢反馈。试试 v3.1.1.3039 或更新版?

现在支持使用“*”或正则进行搜索了,比如:

通配符:go*le 可以匹配 google

正则:/go.*le/i 可以匹配 google ,等等。

Samuel

特别希望能加入到项目组里一起做,设计狗一枚。主页 dribbble.com/imSamuel

mejustme

给力!

daly

最近用hosts 方式翻墙,但是把那一堆host信息放进去后,现在switchhosts 界面无法显示了,手动把hosts信息清掉后,依然无法运行软件界面,问题不知道在哪里~~

oldj

用的是哪个版本呢?
如果是 Mac 的话,把 ~/.SwitchHosts/ 目录备份、移除,再启动下试试?

daly

win 10 系统 程序是0.2.2.1785

hearme1991

感谢软件作者,简单实用的小工具。只是如何解决 hosts缓存的问题?总希望 切换后 能立即生效。

oldj

这个问题曾经解决过,但是随着浏览器的升级又失效了,暂时还没找到新的方法...

目前在每次切换 hosts 方案后会执行类似 sudo killall -HUP mDNSResponder 这样的系统命令,但现在似乎没有效果了。如果你知道什么能在命令行里执行的清除 hosts 缓存的命令,也麻烦告知一下。:-)

sss

打不开下载链接,能不能给个国内能打开的

小样

楼主有几个关于 Switch Hosts 的使用问题。
本人之前使用旧版本配置了几个 hosts,后面更新为最新版本后。无法在原来的配置上增加新的 hosts 配置了,原来配置了 3 个。想删除原来配置信息也失败 [删除之后,重新打开之前的配置又恢复了] ,修改也失败。顿时懵逼了,我使用的是 Win10 。是不是 SwitchHosts 有一个缓存文件。

发表评论: