# GO-HOSTS **Repository Path**: liumou_site/go-hosts ## Basic Information - **Project Name**: GO-HOSTS - **Description**: 使用go实现的主机hosts文件内容交互式管理工具 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-20 - **Last Updated**: 2025-11-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # GO-HOSTS

Version Go Version License Platform

## 📋 项目介绍 **go-hosts** 是一个使用 Go 语言编写的高效、跨平台的 hosts 文件管理工具。它提供了简单直观的命令行界面,让您能够轻松地查看、添加、删除和更新 hosts 记录,同时保持原始文件的注释和格式。 ## 📋 目录 - [项目介绍](#项目介绍) - [项目地址](#项目地址) - [功能特点](#功能特点) - [核心功能](#核心功能) - [高级特性](#高级特性) - [安装方法](#安装方法) - [使用说明](#使用说明) - [许可证](#许可证) - [提示](#提示) - [反馈](#反馈) ## 🔗 项目地址 - [Gitee 仓库](https://gitee.com/liumou_site/go-hosts) ## ✨ 功能特点 ### 🛠️ 核心功能 - **跨平台支持**:完美支持 Windows、Linux、macOS 和 BSD 系统 - **命令行参数**:支持通过命令行指定自定义 hosts 文件路径 - **保留注释**:修改 hosts 文件时保留原始注释和空行 - **智能验证**:自动验证 IP 地址和域名格式的有效性 - **自动去重**:智能清理重复和无效的记录 ### 🚀 高级特性 - **用户友好**:提供交互式菜单,操作简单直观 - **详细日志**:记录所有操作,便于追踪和排查问题 - **智能清理**:自动识别并清理无效格式的记录 - **安全操作**:保留系统必要的 localhost 映射 - **格式标准化**:统一格式化 IP-域名映射,提升可读性 ## 📦 安装方法 ### 📥 直接下载二进制文件 1. 从 [Releases](https://gitee.com/liumou_site/go-hosts/releases) 下载对应系统的二进制文件 2. 将下载的文件添加到系统 PATH 环境变量中 3. 验证安装: `hm -help` ### 🔨 从源码编译 ```bash # 克隆仓库 git clone https://gitee.com/liumou_site/go-hosts.git cd go-hosts # 安装依赖 go mod tidy # 编译 # Windows go build -o hm.exe main.go # Linux/macOS go build -o hm main.go # 使用 build.py 进行多平台构建 python build.py ``` ### 🌐 系统要求 - **操作系统**: Windows, Linux, macOS, BSD - **权限要求**: - Windows: 管理员权限 - Linux/macOS: root 权限 (可使用 sudo) - **Go 环境**: Go 1.22.0 及以上 (仅编译时需要) ## 🚀 使用说明 ### ⚙️ 命令行参数 ```bash # 查看帮助信息 hm -help # 使用默认 hosts 文件路径(根据系统自动选择) hm # 指定自定义 hosts 文件路径 hm -hosts /path/to/your/hosts ``` ### 📁 系统默认路径 - **Windows**: `C:\Windows\System32\drivers\etc\hosts` - **Linux/macOS/BSD**: `/etc/hosts` ### 🖥️ 操作界面 运行程序后,您将看到交互式菜单界面,可以通过输入对应的数字或字母进行操作。 ### 效果 运行程序后,您将看到以下菜单: ```bash PS E:\迅雷下载> .\hm_windows-X86_64.exe [2025-11-24 11:50:21] [INFO] [main:53] 使用hosts文件路径: C:\Windows\System32\drivers\etc\hosts [2025-11-24 11:50:21] [WARN] [menu:17] 在Windows系统上修改系统hosts文件需要管理员权限,请确保以管理员身份运行此程序 按Enter键继续... [2025-11-24 11:50:22] [INFO] [read:63] 成功读取hosts文件,共 3 条有效记录, 22 条注释行 [2025-11-24 11:50:22] [INFO] [menu:35] 当前读取文件路径: C:\Windows\System32\drivers\etc\hosts [2025-11-24 11:50:22] [INFO] [menu:36] 当前时间: 2025-11-24 11:50:22 [2025-11-24 11:50:22] [INFO] [menu:37] 记录总数: 3 ========== Hosts 管理工具 ========== 请选择需要进行的操作 1. 查看hosts文件 2. 新增条目 3. 删除条目 4. 更新条目 5. 清空条目 6. 优化条目(自动清理不符合格式的条目) q. 退出 =================================== 请输入选择: 1 [2025-11-24 11:50:23] [INFO] [read:63] 成功读取hosts文件,共 3 条有效记录, 22 条注释行 当前有效记录信息如下 10.1.33.252 pd.liumou.site 10.1.33.251 home.liumou.site 10.1.33.251 webos.liumou.site -------------------- 按Enter键返回主菜单... [2025-11-24 11:50:25] [INFO] [read:63] 成功读取hosts文件,共 3 条有效记录, 22 条注释行 [2025-11-24 11:50:25] [INFO] [menu:35] 当前读取文件路径: C:\Windows\System32\drivers\etc\hosts [2025-11-24 11:50:25] [INFO] [menu:36] 当前时间: 2025-11-24 11:50:25 [2025-11-24 11:50:25] [INFO] [menu:37] 记录总数: 3 ========== Hosts 管理工具 ========== 请选择需要进行的操作 1. 查看hosts文件 2. 新增条目 3. 删除条目 4. 更新条目 5. 清空条目 6. 优化条目(自动清理不符合格式的条目) q. 退出 =================================== 请输入选择: 2 请输入IP地址: 10.1.1.3 请输入域名: baidu.com [2025-11-24 11:50:40] [INFO] [write:58] 写入hosts文件成功,共写入 4 条记录和 22 条注释 [2025-11-24 11:50:40] [INFO] [add:35] 添加完成 [2025-11-24 11:50:40] [INFO] [read:63] 成功读取hosts文件,共 4 条有效记录, 23 条注释行 [2025-11-24 11:50:40] [INFO] [menu:35] 当前读取文件路径: C:\Windows\System32\drivers\etc\hosts [2025-11-24 11:50:40] [INFO] [menu:36] 当前时间: 2025-11-24 11:50:40 [2025-11-24 11:50:40] [INFO] [menu:37] 记录总数: 4 ========== Hosts 管理工具 ========== 请选择需要进行的操作 1. 查看hosts文件 2. 新增条目 3. 删除条目 4. 更新条目 5. 清空条目 6. 优化条目(自动清理不符合格式的条目) q. 退出 =================================== 请输入选择: 1 [2025-11-24 11:50:45] [INFO] [read:63] 成功读取hosts文件,共 4 条有效记录, 23 条注释行 当前有效记录信息如下 10.1.33.252 pd.liumou.site 10.1.33.251 home.liumou.site 10.1.33.251 webos.liumou.site 10.1.1.3 baidu.com -------------------- 按Enter键返回主菜单... ========== Hosts 管理工具 ========== 请选择需要进行的操作 1. 查看hosts文件 2. 新增条目 3. 删除条目 4. 更新条目 5. 清空条目 6. 优化条目(自动清理不符合格式的条目) q. 退出 =================================== 请输入选择: 3 请选择需要删除的记录 [ 0 ] -> [ 10.1.33.252 pd.liumou.site ] [ 1 ] -> [ 10.1.33.251 home.liumou.site ] [ 2 ] -> [ 10.1.33.251 webos.liumou.site ] [ 3 ] -> [ 10.1.1.3 baidu.com ] [b] 返回 [q] 退出程序 3 [2025-11-24 11:52:07] [INFO] [write:58] 写入hosts文件成功,共写入 3 条记录和 23 条注释 [2025-11-24 11:52:07] [INFO] [delete:57] 删除成功 请选择需要删除的记录 [ 0 ] -> [ 10.1.33.252 pd.liumou.site ] [ 1 ] -> [ 10.1.33.251 home.liumou.site ] [ 2 ] -> [ 10.1.33.251 webos.liumou.site ] [b] 返回 [q] 退出程序 1 [2025-11-24 11:52:09] [INFO] [write:58] 写入hosts文件成功,共写入 2 条记录和 23 条注释 [2025-11-24 11:52:09] [INFO] [delete:57] 删除成功 请选择需要删除的记录 [ 0 ] -> [ 10.1.33.252 pd.liumou.site ] [ 1 ] -> [ 10.1.33.251 webos.liumou.site ] [b] 返回 [q] 退出程序 b [2025-11-24 11:52:15] [INFO] [read:63] 成功读取hosts文件,共 2 条有效记录, 24 条注释行 [2025-11-24 11:52:15] [INFO] [menu:35] 当前读取文件路径: C:\Windows\System32\drivers\etc\hosts [2025-11-24 11:52:15] [INFO] [menu:36] 当前时间: 2025-11-24 11:52:15 [2025-11-24 11:52:15] [INFO] [menu:37] 记录总数: 2 ========== Hosts 管理工具 ========== 请选择需要进行的操作 1. 查看hosts文件 2. 新增条目 3. 删除条目 4. 更新条目 5. 清空条目 6. 优化条目(自动清理不符合格式的条目) q. 退出 =================================== 请输入选择: 1 [2025-11-24 11:52:16] [INFO] [read:63] 成功读取hosts文件,共 2 条有效记录, 24 条注释行 当前有效记录信息如下 10.1.33.252 pd.liumou.site 10.1.33.251 webos.liumou.site -------------------- 按Enter键返回主菜单... ``` #### 功能说明 1. **查看hosts文件**:显示所有有效的IP-域名映射记录 2. **新增条目**:添加新的IP-域名映射 3. **删除条目**:删除现有记录 4. **更新条目**:修改现有记录的IP或域名 5. **清空条目**:清空所有记录(保留localhost相关条目) 6. **优化条目**:自动清理无效格式的记录,移除重复项 ## 📄 许可证 本项目采用 MIT 许可证 - 详见 LICENSE 文件 ## 💡 提示 在 Windows 系统中编辑系统 hosts 文件时,可能需要以管理员权限运行程序。在 Linux/macOS 系统中,可能需要使用 `sudo` 命令。 ## 📧 反馈 如有问题或建议,请在项目仓库中提交 Issue 或 Pull Request。