JHost进化 -> KHostAdmin

之前用 JavFX 以及第三方 UI 库 JFoenix 写了一个JHosts
结果因为有 bug 以及跟 Chrome 插件一样而且不如后者好用而抛弃了
现推出新版,使用朴素的 UI,实现的 KHostAdmin

KHostAdmin

使用 Kotlin 编写的 Host 管理工具

虽然 Chrome 插件可以切换,但是由于一个项目的启动可能依赖其他项目,相应的 IP 地址也可能需要配置多个

为了方便批量切换,产生 profile 概念,先将 host 进行环境分类,再通过选中与否进行批量更换

同时,只在应用启动时 host 生效,应用关闭时即恢复初始状态,如此避免 host 混乱,可以在原 host 文件中,只写入常用的必须的 host 配置,而在 profile 加入临时的配置

Git 地址: KHostAdmin

使用说明

主界面如下
khost1

左侧为 profile 列表,右侧为 host 列表,默认为空
应用启动时,将在用户目录下的.khost 文件夹中,生成一个 host 文件的备份,并在关闭时还原

点击 Add Profile 出现如下图的对话框

khost3

填入 Profile 名称后即可在左侧点击,并在右侧点击 AddHost 可出现如下对话框

khost2

此时即可添加 host,默认均生效

激活 profile 时点击 Active(如有变动请进行激活否则不会保存)

本应用主要依赖于如下项目

尚未实现的功能

  • host 搜索
  • 默认 host 配置,即不管什么 profile 均有的配置,不应手动填入(如 127.0.0.1 localhost)
  • 未选中 profile 时,右侧表单禁用
  • 鼠标停在 host 行上时,tip 提示该 host 的注释信息(如果有)
  • 出于安全考虑为放开导出功能(即将修改保留到原 host 文件),在程序稳定时放开
  • profile 删除,host 批量删除
  • 对于同一 domain 的不同 ip,可以考虑下拉列表框单选,而非列出通过勾选控制

可能存在的 bug

  • 在测试期间,偶尔出现 host 文件未能还原的情况,由于未能稳定重现,暂时压下,使用时,先自行保留一个备份文件,避免程序错误丢失

以上的坑,如果自己用的没啥问题,估计就不填了……

PS SwitchHosts好像也挺好用的,我收回我之前的话。本项目就当是为了练手吧,我自己也必然使用自己的东西……