GHProxy V1.5.0 更新介绍

我们很高兴地宣布 GHProxy V1.5.0 正式发布!这个版本带来了结构优化与功能更新,主要更新如下:

CHANGELOG(更新日志)

  • CHANGE: 优化代码结构,提升性能
  • CHANGE: 改进核心部分,即proxy模块的转发部分,对请求体处理与响应体处理进行优化
  • CHANGE: 配置文件格式由yaml切换至toml,使其具备更好的可读性
  • ADD: 黑白名单引入通配符支持,支持完全屏蔽或放行某个用户,例如onwer/*表示匹配owner的所有仓库
  • ADD: 新增API模块,新增配置开关状态接口,以在前端指示功能状态
  • CHANGE: 由于API变动,对前端进行相应调整
  • ADD: 日志模块引入日志级别,排障更加直观
  • CHANGE: 改进黑白名单机制,若禁用相关功能,则不对相关模块进行初始化

项目地址

Demo

主要更新内容

功能优化

  • 对proxy模块的转发部分进行优化,对请求体处理与响应体处理进行优化,便于后续维护与扩展
  • 日志模块引入日志级别,带来了[INFO],[WARNNING],[ERROR]日志级别,便于排障

大幅改进

  1. 黑白名单引入通配符支持,支持完全屏蔽或放行某个用户,例如onwer/*表示匹配owner的所有仓库,这个新功能会带来更便利的配置管理 以下配置使用example/*屏蔽example用户的所有仓库,放行也是同理:
{
  "blacklist": [
    "black/list",
    "test/test1",
    "example/*"
  ]
}
  1. 新增API模块,改进路由定义,前端可查看黑白名单开关状态,具体可看后文图片

  2. 配置文件格式由yaml切换至toml,使其具备更好的可读性 新的toml配置文件如下:

[server]
host = "127.0.0.1" # 监听地址(小白请勿修改)
port = 8080 #监听端口(小白请勿修改)
sizelimit = 131072000 # 125MB

[log]
logfilepath = "/data/ghproxy/log/ghproxy.log"  # 日志文件路径(小白请勿修改)
maxlogsize = 5 # MB

[cors]
enabled = true # 是否开启CORS

[auth]
authtoken = "test"  # 鉴权Token
enabled = false  # 是否开启鉴权

[blacklist]
blacklistfile = "/data/ghproxy/config/blacklist.json" # 黑名单文件路径
enabled = false  # 是否开启黑名单

[whitelist]
enabled = false  # 是否开启白名单
whitelistfile = "/data/ghproxy/config/whitelist.json" # 白名单文件路径

项目特点回顾

GhProxy 是一个基于 Go 语言实现的工具,旨在加速特定地区对 GitHub 仓库的访问。它支持速率限制、用户鉴权,并且可以通过 Docker 部署。GhProxy 还支持自定义黑名单,符合 RFC 7234 的 HTTP 缓存标准,并使用 Caddy 作为 Web 服务器。

项目地址

Demo

前端界面: ghproxy-demo-v1.5.0.png

结语

我们感谢所有用户的支持与反馈,并期待 GhProxy v1.5.0 能为您的开发工作带来更大的便利和效率!若此项目对您有所帮助,请不要忘记 star 项目,您的支持是我们前进的动力!