轻量级跨平台 Hosts 管理工具

发布: (2026年1月19日 GMT+8 11:09)
3 min read
原文: Dev.to

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,并自动选出
  • 主题切换、系统托盘
  • 自定义按钮:通过 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

安装与构建

  1. 安装 Go 并配置环境变量

  2. 安装 TDM‑GCC(如有需要)

  3. 安装 Fyne CLI

    go install fyne.io/fyne/v2/cmd/fyne@latest
  4. 准备项目

    go mod tidy
  5. 打包

    • 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,可按以下步骤操作:

  1. 前往 Mesa3D 发布页面下载 mesa3d-25.3.3-release-msvc.7z 并解压。
  2. 运行 perappdeploy.cmd,全部按回车键。
  3. 运行 systemwidedeploy.cmd,输入 1 并回车(请在 cmd 窗口中执行,不要直接双击)。

License: Apache-2.0

Back to Blog

相关文章

阅读更多 »