Lightweight cross-platform Hosts management tool 轻量级跨平台 Hosts 管理工具
Source: Dev.to
简介
Go Hosts 是一款使用 Go + Fyne 开发的轻量级跨平台 Hosts 管理工具,支持 Windows 与 macOS(Intel)。相较于体积庞大的 Electron 应用(如 SwitchHosts),Go Hosts 体积更小、编译打包灵活,适合对小工具有执念的用户。
- GitHub 开源地址:
- 下载地址:
功能特性
- 图形化管理:增、删、改、刷新 Hosts 规则
- 多域名/多 IP 绑定
- IP 类型:一个 IP 对应多个域名,可同时启用多个规则
- Domain 类型:一个域名对应多个 IP,同一时间只启用一个
- 网络测试
- Ping 测试:快速获取目标站点的所有 IP(如
github.com) - TCP 测试:并发检测当前网络环境下的最快 IP,并自动选出
- Ping 测试:快速获取目标站点的所有 IP(如
- 主题切换、系统托盘
- 自定义按钮:通过 YAML 配置执行系统或第三方命令,支持参数注入(
%s)和图标显示 - 跨平台编译:支持 Windows 与 macOS(Intel)
自定义按钮示例(config.yaml)
cus_buttons:
- name: "刷新 DNS"
icon: "ViewRefreshIcon"
cmd: "ipconfig /flushdns"
- name: "打开配置"
cmd: "cmd /c start %USERPROFILE%/.GoHosts"
- name: "打开 hosts 文件"
cmd: "notepad C:/Windows/System32/drivers/etc/hosts"
# 若需要输入框注入参数使用 %s 可以注入输入的参数
- name: "端口扫描"
cmd: "fscan -h %s"
- name: "注册表"
icon: "ListIcon"
cmd: "cmd /c regedit"
- name: "控制面板"
cmd: "control"
- name: "网络连接"
cmd: "cmd /c ncpa.cpl"
注意
- Windows 下路径使用正斜杠
/(如C:/Windows/...)- macOS 路径示例:
%USERPROFILE%/.GoHosts→~/.GoHosts
安装与构建
-
安装 Go 并配置环境变量
-
安装 TDM‑GCC(如有需要)
-
安装 Fyne CLI
go install fyne.io/fyne/v2/cmd/fyne@latest -
准备项目
go mod tidy -
打包
-
Windows
fyne package -os windows -
macOS
fyne package -os darwin
-
重要:macOS 10.15.x 需要使用
fyne@v2.5.3以上并配合 Go 1.20。
权限设置
在修改系统 Hosts 前,需要确保对 /etc/hosts(macOS/Linux)拥有写权限:
sudo chown $(whoami) /etc/hosts
# 或者
sudo chmod u+w /etc/hosts
Mesa3D(可选)
如果需要使用 Mesa3D,可按以下步骤操作:
- 前往 Mesa3D 发布页面下载
mesa3d-25.3.3-release-msvc.7z并解压。 - 运行
perappdeploy.cmd,全部按回车键。 - 运行
systemwidedeploy.cmd,输入1并回车(请在 cmd 窗口中执行,不要直接双击)。
License: Apache-2.0