SwitchHosts! v0.2 版发布

2012-10-15

去年写了一个快速切换 hosts 的软件 SwitchHosts!,这一年里接到很多反馈意见,综合考虑了大家的意见以及自己能投入的时间之后,我终于在它的 v0.1 版发布马上一周年之际发布了 v0.2 版。

新版本 SwitchHosts! 的截图见下面:

SwitchHosts! v0.2

这次升级主要的改进有:

  1. 改进界面;
  2. 添加在线方案,允许用户引入网络上的 hosts 方案;
  3. 支持方案导入及导出,方便分享自己的配置方案;
  4. 优化语法高亮控件,修复渲染长 hosts 时闪屏的问题;
  5. 修复程序在中文目录下无法运行的问题;
  6. 支持 hosts 排序(拖拽排序);

希望大家喜欢这个新版本,也欢迎继续提意见!:-)

(2015-12-20 更新:SwitchHosts! 第三版已发布。

分类:编程标签:SwitchHosts工具产品PythonwxPython
前一篇在 JavaScript 中进行大整数计算
后一篇关于页面停留时间

相关文章:

评论:

xstar
在 2012-10-19 04:01 写道:
切换后查看Hosts里的注释中文显示为乱码,请这个怎么解决呢?
回复
oldj
在 2012-10-19 04:01 写道:
SwitchHosts! 在打开 hosts 文件时会尝试自动检测编码,保存时会统一使用用 utf-8 编码保存。可能是打开你的那个文件时检测编码出错了?这个应该是一次性的,你新写的中文注释应该不会再显示为乱码了。
回复
Charles
在 2012-10-25 17:25 写道:
非常喜欢新版本,老的版本闪得那是一个厉害,不影响使用,但是太闪了。新版棒极了!!但是,还是没有我要的功能,就是common host的功能,所以我fork了一个出来,自己加了这个功能。想请教一下楼主,怎样制作Windows绿色版,还望赐教,不胜感激。源代码地址为:https://github.com/charlestang/SwitchHosts
回复
oldj
在 2012-10-25 17:25 写道:
那个Common hosts的功能我也想过,但是没想好交互怎么设计,所以这个版本没做,我先参考下你的分支,嘿嘿。:-)
制作成exe文件可以使用py2exe或<a href="http://www.pyinstaller.org/" rel="nofollow">pyInstaller</a>,我用的是pyInstaller。
比如你的pyInstaller目录在 D:toolspyinstaller-2.0,SwitchHosts!源码在 D:studioSwitchHosts,那么只需要在命令行下使用类似下面的命令就可以打包成绿色exe了:
D:toolspyinstaller-2.0&gt; pyinstaller.py -w -F --icon=D:studioSwitchHostsuiimgicon_0.ico --name=SwitchHosts --out=D:studioSwitchHostsdist D:studioSwitchHostssrcSwitchHosts.py
回复
Charles
在 2012-10-26 14:10 写道:
我今天用py2exe折腾了一中午,硬是没有弄成功,太烦了,缺这缺那的。老说我缺少MSVCP90.dll,然后exclude dll,还是不行,后来下了个GUI2Exe,就是py2exe的UI版本,结果编出来了,但是不能运行……崩溃啊……希望尽快看到原作的功能,这样我这个山寨版就可以下岗了。我做完才看明白,原来host文件可以从云端下发,太先进了。我顿时就后悔了,应该把common host的功能设计成既支持云端,又支持本地,或者干脆用两个。那样更灵活。唉……等我学会打包再试试。
回复
Charles
在 2012-10-26 16:00 写道:
终于编译出来了,https://github.com/charlestang/SwitchHosts/downloads 到这里可以下载,内牛满面啊!!!谢谢老杰〜 XD
回复
dolly
在 2012-11-23 14:47 写道:
提示无权限修改 hosts 文件。程序在 D 盘根目录下,系统是 win 8 x64 英文版。
在 Win 7 下没有权限问题么?还是用之前都要手动获取 hosts 文件权限?
回复
oldj
在 2012-11-23 15:29 写道:
是以管理员权限运行的吗?
回复
victorwoo
在 2012-12-05 03:54 写道:
在线Host有没有推荐的地址?
回复
oldj
在 2012-12-05 14:43 写道:
还真没有,呵呵……
回复
forest
在 2012-12-11 06:15 写道:
Python开发的必然好啊,可惜生态圈太小。。顶作者!
PS: 一年前我开发过一个Python应用程序,底层逻辑用py棒极了,可是前台展示却成了问题。当时我是用的Qt GUI,真的很受限制。wx一开始考虑过,但是总觉得不够漂亮就没去用。现在想通了,既然大家都往web里钻,当时真的应该做成个webapp的
回复
oldj
在 2012-12-11 15:01 写道:
WebAPP也有很多限制,比如切换系统hosts这个功能好像就很难做成WebAPP。貌似TideSDK不错,能兼有WebAPP的漂亮和Python的强大,不过和wx以及pyQt一样,打包之后的尺寸比较大。
回复
绝望生鱼片
在 2012-12-13 04:45 写道:
建议加入开机启动最小化的功能!!还有同时应用多个HOST方案,
回复
绝望生鱼片
在 2012-12-13 06:46 写道:
在WIN8下,单击托盘的图标界面弹不出来,要双击才弹出来,建议增加全局自定义快捷键切换到指定方案!
回复
杨富平
在 2012-12-23 11:02 写道:
好东西,正需要!!老季出品,必是精品。。
回复
oldj
在 2012-12-23 15:09 写道:
多谢支持!:-D
回复
mlj
在 2013-01-23 05:30 写道:
同学 从其他HOST切换到 当前系统host时 貌似 当前系统host不太对吧
回复
郑哲友
在 2013-03-22 20:03 写道:
感谢分享这么好的作品,正需要这个工具。。
回复
SmallAnt
在 2013-04-09 08:25 写道:
您好!我是一名Ubuntu爱好者,接触Python不多,想要在Ubuntu 12.10上运行SwitchHosts! v0.2,从git上下载了您的程序。但无论是直接用Python 2.7.3直接运行SwitchHosts.py,还是根据提示先用pyinstaller打包后再运行,都有错误提示。
其中,直接运行SwitchHosts.py的提示为:
Traceback (most recent call last):
File "SwitchHosts.py", line 127, in
main()
File "SwitchHosts.py", line 123, in main
sh.run()
File "SwitchHosts.py", line 56, in run
taskbar_icon=self.taskbar_icon,
File "/home/dukeant/SwitchHosts/src/libs/MainFrame.py", line 71, in __init__
title or self.default_title, pos, size, style)
File "/home/dukeant/SwitchHosts/src/libs/ui.py", line 147, in __init__
self.m_textCtrl_content = self.makeTextCtrl(bSizer6)
File "/home/dukeant/SwitchHosts/src/libs/ui.py", line 224, in makeTextCtrl
txt_ctrl.SetMaxLength(0)
AttributeError: 'HostsCtrl' object has no attribute 'SetMaxLength'

用pyinstaller打包的命令为:
python pyinstaller.py -w -F --icon=/home/dukeant/SwitchHosts/src/img/logo.ico --name=SwitchHosts --out=/home/dukeant/SwitchHosts/src/dist /home/dukeant/SwitchHosts/src/SwitchHosts.py
运行打包生成的程序,报错为:
Traceback (most recent call last):
File "", line 127, in
File "", line 123, in main
File "", line 56, in run
File "/home/dukeant/SwitchHosts/src/dist/build/pyi.linux2/SwitchHosts/out00-PYZ.pyz/libs.MainFrame", line 71, in __init__
File "/home/dukeant/SwitchHosts/src/dist/build/pyi.linux2/SwitchHosts/out00-PYZ.pyz/libs.ui", line 147, in __init__
File "/home/dukeant/SwitchHosts/src/dist/build/pyi.linux2/SwitchHosts/out00-PYZ.pyz/libs.ui", line 224, in makeTextCtrl
AttributeError: 'HostsCtrl' object has no attribute 'SetMaxLength'
(dukeant是我自己的账户名)
不知道哪里出了问题,求教!
回复
oldj
在 2013-04-10 03:56 写道:
是不是wxPython的版本太低啊?你的wxPython是什么版本?
回复
navy
在 2013-04-09 09:15 写道:
感谢分享,能把需要的wx,chardet,simplejson的包也放到代码里面么?O(∩_∩)O谢谢
回复
oldj
在 2013-04-10 03:55 写道:
wx太庞大了,chardet、simplejson等第三方包可以通过easy_install或pip安装啊。
回复
wiley
在 2014-06-19 10:50 写道:
我看了下在线配置方案,对于http下载这些Host信息,对服务器有什么要求吗?
我用一个txt去存放配置文件,结果URL无法访问的问题
但是我在浏览器里面又能正常打开,请问这是什么问题。有没有对在线配置方案有更加具体的介绍呢?
回复
kk
在 2014-10-12 06:08 写道:
很好用,,没权限不能保存,,,能加个 host 解锁功能吗,,
,HostsX有这个
回复
secrecy153
在 2014-10-28 10:20 写道:
新建“在线方案”的时候,提示“### URL无法访问! ###”

https://smarthosts.googlecode.com/svn/trunk/hosts
https://raw.githubusercontent.com/zxdrive/imouto.host/master/imouto.host.txt
这2个hosts可以在浏览器打开,但新建在线方案时总是提示URL无法访问。
是不支持https,还是不支持中文内容?
回复
oldj
在 2014-10-29 03:37 写道:
看了一下,问题应该是这样:

<blockquote>在下载在线URL之前,SwitchHosts!会先尝试快速地判断一下这个URL是否存在,因为如果直接去打开URL,并且这个URL刚好打不开的话,用户就会等待很久。

判断URL是否存在的方法是<a href="https://github.com/oldj/SwitchHosts/blob/master/src/libs/common_operations.py#L126" rel="nofollow">httpExist(url)</a>,它实际上是向站点的域名(根目录)发一个HEAD请求。你给的第一个链接没问题,但第二个链接的域名(https://raw.githubusercontent.com)不能直接访问,会返回404状态,所以SwitchHosts!以为这个链接无法访问。
</blockquote>


简单来说是一个代码上的缺陷,我会在下一个版本修复,感谢反馈!

顺便问一下,你用的是Windows版还是Mac版啊?
回复
ike
在 2017-02-08 03:33 写道:
你好,首先感谢你和你的SwitchHosts。
这两天用SwitchHosts时遇到了点问题,一直提示hosts未能成功切换,以前都是正常的,过完年回来就不行了。
版本是0.1.6.1755
回复
oldj
在 2017-02-08 05:08 写道:
你好,可能是操作系统更新了?

0.1.6.1755 已经很久不维护了,现在最新的版本是 3.2.3 ,可以在 <a href="https://github.com/oldj/SwitchHosts/releases" rel="nofollow">这儿</a> 下载,备用下载地址:<a href="https://pan.baidu.com/share/link?shareid=150951&amp;uk=3607385901" target="_blank" rel="nofollow noopener noreferrer">百度网盘</a> 。
回复
puck
在 2017-07-17 08:39 写道:
windows的放弃了?
回复
oldj
在 2017-07-17 08:45 写道:
现在改用 Electron 来打包,有 Windows、Mac、Linux 版,可以从 <a href="https://github.com/oldj/SwitchHosts/releases" target="_blank" rel="nofollow noopener noreferrer">https://github.com/oldj/SwitchHosts/releases</a> 下载。
回复

发表评论:

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