경량 크로스플랫폼 Hosts 관리 도구

발행: (2026년 1월 19일 오후 12:09 GMT+9)
4 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 테스트: 대상 사이트(예: github.com)의 모든 IP를 빠르게 조회
    • 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

관련 글

더 보기 »