开发者-导航 猿导航

轻量级跨平台 Hosts 管理工具(支持 Ping/TCP 测速 + 自定义命令扩展)

发布时间:

开源项目地址

Go Hosts 是一款基于 Go+fyne 开发的轻量级 Hosts 文件管理工具,适配 Windows 和 macOS 系统,作为 SwitchHosts(Electron)的轻量化替代方案;核心功能包含图形化 Hosts 规则管理、IP / 域名多绑定、Ping 测试(获取域名所有可访问 IP)、TCP 测速(筛选最快 IP),还支持自定义 CMD 命令按钮扩展,体积小巧且支持跨平台编译打包

为什么会重复造轮子呢? #

SwitchHosts 太大了(Electron),不太灵活。我对小工具的执念挺大,小工具就应该足够小(虽然还是不够小😊)。

  1. PING 测试,快速找到目标网站所有IP地址,例如 github.com。
  2. TCP 测试,快速找到当前网络环境连接最快的那个IP,配置 hosts 加速访问。
  3. 支持扩展 cmd 命令菜单,把系统一些常用工具給串起来
  4. 我就是玩!哈哈哈~

屏幕截图 #

go-hosts 首页

hosts 管理页面

PING

TCP

功能 #

基础功能 #

数据类型说明 #

进阶功能 #

Ping 测试 #

TCP 测速 #

自定义按钮(高级) #

支持通过 YAML 配置自定义操作按钮,用于执行系统或第三方命令。

示例 #

配置文件 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"

开发 & 打包 #

提示

Mac 应该是有限支持,为了支持 Mac 10.15.xfyne@v2.5.3+go 1.20
软件数据目录 window: %USERPROFILE%/.GoHosts,mac: ~/.GoHosts

  1. 安装 go 并配置环境变量
  2. 安装 tdm-gcc
  3. 安装 fyne
    go install fyne.io/fyne/v2/cmd/fyne@latest

执行以下命令打包:

go mod tidy
# 打包 Window
fyne package -os windows
# 打包 Mac 
fyne package -os darwin

注意事项 #

MacOS 权限问题 #

警告

MacOS 需修改 hosts 权限否则无法写入

执行以下命令修改权限

sudo chown $(whoami) /etc/hosts
# 或
sudo chmod u+w /etc/hosts

Cause: APIUnavailable: WGL: The driver does not appear to support OpenGL #

mesa3d 发布页面 下载 mesa3d

  1. 解压 mesa3d-25.3.3-release-msvc.7z
  2. 运行 perappdeploy.cmd 后,全部按回车键。
  3. 运行 systemwidedeploy.cmd 后,输入【1】然后按回车键。(在 cmd 执行,不要直接双击)