SwitchHosts! 3

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

 

Logo with title

Capture 1

我在日常开发过程中经常会用到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/。欢迎下载试用反馈建议

11 Replies to “SwitchHosts! 3”

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

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

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

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

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

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

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

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

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

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s