/fetch-github-hosts

🌏 同步github的hosts工具,支持多平台的图形化和命令行,内置客户端和服务端两种模式~ | Synchronize GitHub hosts tool, support multi-platform graphical and command line, built-in client and server modes

Primary LanguageGoGNU General Public License v3.0GPL-3.0

简体中文 | English

Fetch GitHub Hosts

LOGO

fetch-github-hosts 是主要为解决研究及学习人员访问 Github 过慢或其他问题而提供的 Github Hosts 同步工具

Release Build Linux & Windows Build MacOS

原理

此项目是通过部署此项目本身的服务器来获取 github.comhosts,而不是通过第三方ip地址接口来进行获取,例如 ipaddress.com 等。

使用方法

图形化界面

Releases 中下载您的系统版本(目前支持Windows/Linux/MacOS

下载完成解压tar.gz压缩包,运行对应平台的执行文件即可运行( ⚠️ 注意:Linux下需要用sudo进行启动,Windows和MacOS会自动进行提权操作。)

客户端模式

client

客户端启动

client-start

客户端hosts源选择

client-select

客户端hosts源自定义

client-custom

服务端模式

server

命令行终端

Releases 中下载您的系统版本(目前支持Windows/Linux/MacOS

参数

参数名 缩写 默认值 必填 描述
mode m 启动模式 server(服务端) / client(客户端)
interval i 60 获取记录值间隔(分钟)
port p 9898 服务模式监听端口以访问HTTP服务
url u https://hosts.gitcdn.top/hosts.txt 客户端模式远程hosts获取链接
lang l zh-CN 界面语言

启动客户端:

注意:

Linux下需要使用sudo运行;

Windows和MacOS会自动进行提权操作。

  • 直接运行
# Linux/Macos
sudo fetch-github-hosts -m=client

# Windows
fetch-github-hosts.exe -m=client
  • 自定义获取时间间隔
# Linux/Macos(10分钟获取一次)
sudo fetch-github-hosts -i=10

# Windows(10分钟获取一次)
fetch-github-hosts.exe -i=10
  • 自定义获取链接
# Linux/Macos
sudo fetch-github-hosts -u=http://127.0.0.1:9898/hosts.json

# Windows
fetch-github-hosts.exe -u=http://127.0.0.1:9898/hosts.json

启动服务端:

  • 直接运行
# Linux/Macos
fetch-github-hosts -m=server

# Windows
fetch-github-hosts.exe -m=server
  • 自定义监听端口
# Linux/Macos
fetch-github-hosts -m=server -p=6666

# Windows
fetch-github-hosts.exe -m=server -p=6666

手动

添加hosts

访问 https://hosts.gitcdn.top/hosts.txt , 将其全部内容粘贴到你的hosts文件中,即可。

  • Linux / MacOS hosts路径:/etc/hosts
  • Windows hosts路径:C:\Windows\System32\drivers\etc\hosts

刷新生效

  • Linux: /etc/init.d/network restart
  • Windows: ipconfig /flushdns
  • Macos: sudo killall -HUP mDNSResponder

Unix/Linux 一键使用

sed -i "/# fetch-github-hosts begin/Q" /etc/hosts && curl https://hosts.gitcdn.top/hosts.txt >> /etc/hosts

提示:可以设置crontab定时任务定时获取更新即可,解放双手!

私有部署

下载最新的发行版(到 Releases 进行下载) ,并选择您的系统对应版本,直接以服务模式运行即可:fetch-github-hosts -m=server -p=9898,会自动监听0.0.0.0:9898,您可以直接浏览器访问 http://127.0.0.1:9898 以访问您自定义服务。 (具体方法可参见【启动服务端】小节详细说明)

注意:因网络影响,尽量部署到海外服务器节点!

趋势

Stargazers over time

开源协议

GPL 3.0