경량 크로스플랫폼 Hosts 관리 도구
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를 동시 검사하고 자동 선택
- Ping 테스트: 대상 사이트(예:
- 테마 전환·시스템 트레이
- 사용자 정의 버튼: 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