栗子糕的BOX

主题

所有项目
成品 已发布 桌面应用 起 2026年6月

GitHub 加速器

通过修改系统 Hosts 文件,智能测速选 IP,加速 GitHub 及常见开发站点访问。

#python #tkinter #desktop #network

起因

国内访问 GitHub、GitLab、Docker Hub、Hugging Face 等开发站点时,经常遇到 DNS 污染或 IP 被阻断的问题。手动改 hosts 文件太繁琐,每次都要查 IP、编辑、刷新 DNS。

GitHub 加速器 想做的就是把这件事一键化——可视化勾选要加速的站点,自动测速选最快的 IP,写入 hosts,刷新 DNS。

做了什么

  • 智能测速:更新 IP 前 TCP 测速,自动选延迟最低的 5 个 IP 写入 Hosts
  • 多站点组:GitHub、GitLab、Docker Hub、Hugging Face、PyPI 等 7 组,每组内子站点独立勾选
  • 一键启用 / 恢复:写入前自动备份原始 hosts,支持一键恢复
  • 12h 后台自动刷新:静默线程每 12h 拉取测速更新 IP,日志提示
  • 用户偏好持久化:勾选状态、展开状态、窗口位置保存到本地,下次打开恢复
  • 管理员权限自动提升:检测并以管理员权限重新启动

技术栈

语言:Python 3.11
GUI:tkinter + ttk(自定义 ModernScrollbar 圆角滚动条)
打包:PyInstaller 6.21.0(onedir 模式)
配置:sites.json(可扩展)
配色:深色主题 (#1a1b1d 背景 + 莫兰迪淡青主调)

当前进度

  • 多站点组勾选
  • 智能测速选 IP
  • 一键写入 / 恢复 hosts
  • 自动管理员权限提升
  • 用户偏好持久化
  • 12h 后台自动刷新
  • 自定义圆角滚动条
  • 日志面板(复制 / 清空)
  • 打包成 zip 分发(10.3 MB)

一些有意思的细节

测速用 TCP connect 测延迟,不依赖 HTTP,更快更稳。选最快的 5 个 IP 写入 hosts,避免单 IP 失效时全挂。

深色主题滚动条用 Canvas 自绘制圆角长条,悬停时滑块高亮变色,比 ttk 原生样式更现代。

站内有专文讲实现,持续更新。

💬 留言

评论未启用

src/consts.tsGISCUS 常量里填入 giscus.app 生成的 repoIdcategoryId 即可启用。


← 返回所有项目