2 个版本

0.1.6 2021年11月14日
0.1.5 2021年10月26日

#1831 in 命令行工具

GPL-3.0-or-later

4MB
946

Contributors Forks Stargazers Issues GPLv3 License LinkedIn codecov_shield


Logo

Host EDitor

一个用于轻松管理您 hosts 文件的命令行工具。

查看演示 · 报告错误 · 请求功能

目录
  1. 关于此项目
  2. 入门
  3. 使用方法
  4. 路线图
  5. 贡献
  6. 许可证
  7. 联系信息
  8. 致谢

关于此项目

hed screencast

hed 允许您从命令行操作 hosts 文件。通过提供安全且易于使用的命令,您可以为环境添加新的主机和别名。

这个工具是受我的学生启发的,我教授他们一个基础网络安全课程。在这门课程中,我们使用 Hack The Box 作为学习平台,大多数学生在开始时都发现编辑 hosts 文件很困难。为了使他们更容易地做到这一点,我编写了一个工具,提供了一种安全的方式在文件中添加和删除主机。

该工具应以普通用户身份使用,当需要提升权限时,将通过调用 sudo 并重新启动进程来提升权限。

(返回顶部)

构建工具

(返回顶部)

入门

安装

使用 cargo

如果您已安装 rust 包管理器 cargo,则可以通过运行以下命令安装 hed

cargo install hed

它将拉取最新版本。

手动安装

  1. 创建您本地的 bin 目录
    mkdir ~/.local/bin
    
  2. 下载最新的二进制发布版
    wget https://github.com/credmp/hed/releases/latest/download/hed -O ~/.local/bin/hed
    
  3. 使其可执行
    chmod +x ~/.local/bin/hed
    
  4. 确保 bin 目录在您的路径中
    echo export PATH=\$PATH:~/.local/bin >> ~/.zshrc # if you use zsh
    echo export PATH=\$PATH:~/.local/bin >> ~/.bashrc # if you use bash
    

(返回顶部)

使用方法

hed screencast

查看当前的 hosts 文件

hed show 将以彩色打印当前 hosts 文件。

hed show

输出

#                    This is a comment
127.0.0.1	localhost	
::1	localhost	
127.0.1.1	pop-os.localdomain	pop-os

添加新条目

hed add example.com 127.1.1.1

将以下行添加到 hosts 文件中。

127.1.1.1	example.com

添加子域

hed add demo.example.com

将更新 hosts 文件,将子域添加为父域的别名。

127.1.1.1	example.com	demo.example.com

删除主机名

hed delete demo.example.com

如果是主要 name,则将选择最短的别名作为主机条目的新 name。如果没有别名,则删除整个记录。

hed delete 127.1.1.1

即使定义了多个别名,也会删除整个记录。

测试

使用--file参数测试在非hosts文件上的hed功能。

hed --file test.txt add example.com 127.0.0.1

(返回顶部)

路线图

查看开放问题,获取所有建议的功能(以及已知问题)的完整列表。

(返回顶部)

贡献

贡献是开源社区如此美妙的学习、灵感和创造之地的原因。您所做的任何贡献都受到高度赞赏。

如果您有改进此项目的建议,请fork仓库并创建一个pull request。您也可以简单地打开一个带有“enhancement”标签的问题。别忘了给项目点个star!再次感谢!

  1. fork项目
  2. 创建您的功能分支(git checkout -b feature/AmazingFeature
  3. 编写您美丽的代码
  4. 确保测试覆盖率没有降低(cargo tarpaulin --verbose --all-features --workspace --timeout 120 --out Lcov
  5. 提交您的更改(git commit -m 'Add some AmazingFeature'
  6. 推送到分支(git push origin feature/AmazingFeature
  7. 打开一个Pull Request

(返回顶部)

许可证

根据GPLv3许可证发布。有关更多信息,请参阅LICENSE.txt

(返回顶部)

联系信息

Arjen Wiersma - @credmp - 我的网站

项目链接: https://github.com/credmp/hed

(返回顶部)

致谢

  • 我的学生们,他们让我知道编辑hosts文件并不那么容易。

(返回顶部)

依赖关系

~6.5–9.5MB
~159K SLoC