GHProxy V1.5.0 更新介绍
我们很高兴地宣布 GHProxy V1.5.0 正式发布!这个版本带来了结构优化与功能更新,主要更新如下:
CHANGELOG(更新日志)
- CHANGE: 优化代码结构,提升性能
- CHANGE: 改进核心部分,即proxy模块的转发部分,对请求体处理与响应体处理进行优化
- CHANGE: 配置文件格式由yaml切换至toml,使其具备更好的可读性
- ADD: 黑白名单引入通配符支持,支持完全屏蔽或放行某个用户,例如
onwer/*
表示匹配owner
的所有仓库 - ADD: 新增API模块,新增配置开关状态接口,以在前端指示功能状态
- CHANGE: 由于API变动,对前端进行相应调整
- ADD: 日志模块引入日志级别,排障更加直观
- CHANGE: 改进黑白名单机制,若禁用相关功能,则不对相关模块进行初始化
主要更新内容
功能优化
- 对proxy模块的转发部分进行优化,对请求体处理与响应体处理进行优化,便于后续维护与扩展
- 日志模块引入日志级别,带来了[INFO],[WARNNING],[ERROR]日志级别,便于排障
大幅改进
- 黑白名单引入通配符支持,支持完全屏蔽或放行某个用户,例如
onwer/*
表示匹配owner
的所有仓库,这个新功能会带来更便利的配置管理 以下配置使用example/*
屏蔽example
用户的所有仓库,放行也是同理:
{
"blacklist": [
"black/list",
"test/test1",
"example/*"
]
}
新增API模块,改进路由定义,前端可查看黑白名单开关状态,具体可看后文图片
配置文件格式由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 服务器。
前端界面:
结语
我们感谢所有用户的支持与反馈,并期待 GhProxy v1.5.0 能为您的开发工作带来更大的便利和效率!若此项目对您有所帮助,请不要忘记 star 项目,您的支持是我们前进的动力!