这是一个用于快速切换 hosts 文件的小程序,基于 Electron 开发,同时使用了 React 以及 CodeMirror 等框架/库。

SwitchHosts – 一款可以快速切换hosts的工具

 

功能特性:

  • 快速切换 hosts
  • hosts 文件语法高亮
  • 在线 hosts 方案
  • 系统托盘图标快速切换
  • macOS: 支持 Alfred workflow 快速切换

 

文件备份

SwitchHosts! 的数据文件在 ~/.SwitchHosts 目录下(Windows 用户为个人主目录下的 .SwitchHosts 目录下),其中 ~/.SwitchHosts/data.json 是 hosts 数据文件,~/.SwitchHosts/prefereces.json 是配置信息。

运行/打包方法

环境配置

  • 安装 Node.js 环境;
  • 在根目录 ./ 下,运行 npm install 命令,安装开发依赖库;
  • ./app 目录下,运行 npm install 命令,安装 App 运行依赖库;
    npm install
    cd app && npm install && cd ..

构建及运行

  • ./ 目录下,运行 npm run build 命令,构建所需文件;
  • ./ 目录下,运行 npm start 命令,即可运行程序。
    # build
    npm run build
    
    # start
    npm start
    
    # start in developer mode
    npm run dev

打包发布

  • 建议使用 electron-packager 进行打包
    # install electron-packager for use from cli
    npm install electron-packager -g
  • ./ 目录下,运行 npm run pack 命令,打包后的文件位于 ./dist 目录;
  • 首次执行此命令可能需要花费较多时间(需要下载对应的构建文件),也可先手动下载对应的发布版本(淘宝镜像),手动保存到 ~/.electron 目录下。更多信息请参考 Electron 文档。
    # pack
    npm run pack  # the packed files will be in ./dist
    
    # 也可以只打包特定平台的版本,如
    npm run pack-mac  # pack for macOS, the packed files will be in ./dist
    npm run pack-win  # pack for Windows, the packed files will be in ./dist
  • 打包完成后,可运行以下命令将生成的程序压缩为 zip 文件。
    # zip
    npm run zip  # the zipped files will be in ./dist

更新历史:

v3.3

  • 2017-04-01 代码重构,增加「分组」功能
  • 2017-04-03 支持通过 Alfred 快速切换(下载 workflow)

v3.2

  • 2016-09-06 使用 Electron 打包,增加 Windows 版下载。

v3.1

  • 2016-04-29 更新自动清除 DNS 缓存功能 #90。
  • 2016-01-15 搜索时增加模糊搜索支持(eg. go*le matches google)及正则支持(eg. /go.*le matches google)。
  • 2016-01-10 远程方案可以设置自动更新时间。
  • 2015-12-26 实现 Tray 菜单切换、Dock 图标隐藏、方案导入导出等功能。
  • 2015-12-20 从 Electron 切换至 MacGap 。

v3.0

  • 2015-11-30 完成 3.0 版基本功能。

v2.0

  • 2013-02-06 解决 Linux/Mac 下没有修改系统 hosts 文件权限的问题。
  • 2012-12-27 启动时检查是否为单一实例,禁止同时运行多个实例。
  • 2012-11-16 接受 @charlestang 网友的 pull request,同时参考了 @allenm 的修改,实现了 Common Hosts 功能。
  • 2012-11-09 简单优化:Common Hosts 不允许删除,不允许“切换到”,将右键菜单相关条目禁用,允许更换图标颜色。修复新增在线方案时,url 框默认禁用的小 bug。
  • 2012-10-09 增加 hosts 方案拖拽排序功能。
  • 2012-10-05 修复在中文目录下程序无法正常启动的问题。
  • 2012-09-30 初步完成 0.2.0 版。

v1.0

  • 2011-12-14 允许输入超长的 hosts 方案。
  • 2011-10-09 发布 0.1.6 版,修复若干 bug,增加自动检查最新版本的功能。
  • 2011-09-29 发布 0.1.5 版,新增 hosts 内容语法高亮。
  • 2011-09-28 发布 0.1.4 版,新增“添加”、“删除”按钮;hosts 内容修改后自动保存;修复若干 bug。
  • 2011-09-19 发布 0.1.3 版,修复若干 bug。
  • 2011-09-15 发布 0.1.2 版,添加主面板,可以在主面板上对 hosts 进行增加、删除、编辑、重命名等操作。
  • 2011-09-02 发布 0.1.0 版,完成基本功能。

小编在做一些新网站调试的时候,通常就比较喜欢让域名DNS不解析域名,而通过本地修改hosts来做到访问网站。从而进行一些在线调试工作,这样做呢相对就是省下网站调试结束后,还要往服务器上搬家的工序!

还有一些时候大家在本地开发过程中,还可能有多组不同的 hosts 需要绑定,比如前端开发环境,数据库对应的开发环境……。其结果就是,我们经常需要在各个 hosts 绑定之间切换,这会花掉不少时间,而且这个过程毫无乐趣可言。

所以这个时候一个可以快速切换hosts的工具就显得非常重要了。

SwitchHosts是使用 Python wxPython 开发的,因此在 Windows / Linux / Mac 上都可以运行。

下载地址

https://github.com/oldj/SwitchHosts/releases

Categories: 软件癖

辣司机

懒癌患者晚期√科技疯√ACG控√AV搬砖家

Leave a Reply