功能类似于 Chrome 的 host 插件,只是我用 Ubuntu 系统时会引起权限问题,而且有时候感觉和 Chrome 绑在一起不利于其他浏览器的使用,索性就写了这个程序。
项目地址:https://github.com/b3log/JHosts
项目利用了一个非常漂亮的 JavaFX 扩展——JFoenix
其有相当丰富的组件演示。我为了省事儿直接用了 Demo 的主界面。
目前已经基本能够使用,只不过还欠缺更精细的完善,比如保存失败的提示,对于 Host 中的纯注释的提示(目前的实现逻辑将只获取 IP 和 Domain 并重新生成一个列表进行写文件,这意味着纯注释会丢失,所以注释很重要的话要备份原文件)
文件路径目前是写进了代码里,理想的情况应该是有个配置文件
增加和删除功能并没有实现,目前只有改写
原计划左侧列表有个类别(现在也能看到),分别代表所有,生产环境,测试环境,预发环境,本地环境,这是为了更直观的查看 host 文件,对 host 进行一个一级分组,暂时没有实现(因为通过搜索就可以快速定位了,这个需求也就成了锦上添花之用)
实际使用的时候仍然避不开权限,Ubuntu 下(这是我主要的使用场景),写一个脚本带 sudo 执行即可,mac 和 win 没有试验。
代码的结构还是有点混乱(尽可能的分离了不同功能的类),希望将来能从 spring 获得启发并加以实践。同时,目前代码仍然保留了 Demo 的全部源码(可以直接运行 MainDemo 查看 JFoenix 的全部示例),这是为了开发的时候查看方便,将来会把与本应用无关的代码移除,并作为分支存在(主干将保留 Demo)
总之,这是个初步成品,日后慢慢改进吧 😂
主界面:
查询 IP 或 domain:
保存
PS. 从图上能看出一个 bug,有没有人能发现,发现者奖励 100 积分,先到先得呀
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于