GHProxy v1.7.0 更新介绍

我们很高兴地宣布 GHProxy v1.7.0 正式发布!这个版本带来了性能侧与用户侧的优化,主要更新如下:

CHANGLOG (更新日志)

  • ADD: 加入rate模块,实现内置速率限制
  • CHANGE: 优化blacklistwhitelist模块的匹配算法,提升性能;由原先的完整匹配改为切片匹配,提升匹配效率
  • ADD: 加入version相关表示与API接口
  • ADD: 加入rate相关API接口
  • CHANGE: 优化前端界面,优化部分样式
  • CHANGE: 更新相关依赖库
  • CHANGE: 对编译打包进行改进,此后不再提供独立可执行文件,请改为拉取tar.gz压缩包
  • ADD: 在前端新增重定向到转换后的地址的按钮

项目地址

Demo

TG讨论群组

v1.7.0 Release

v1.7.0 发布说明

前端界面: ghproxy-v1.7.0-mobile-night.png

主要更新

性能优化

我们对blacklistwhitelist模块的匹配算法进行了优化,由原先的完整匹配改为切片匹配,提升匹配效率。原先需要完整匹配user/repo,在改进后,会先对user进行匹配,匹配成功后再对repo进行匹配,这样可以减少不必要的匹配。

速率限制

1.7.0 版本加入了rate模块,实现了内置速率限制,rate基于Go的golang.org/x/time/rate实现。

rate模块的配置如下:

[rateLimit]
enabled = false  # 是否开启速率限制
ratePerMinute = 180  # 每分钟限制的请求数量
burst = 5    # 突发请求的数量

版本相关

我们在程序内的main加入了version string变量,用于显示当前程序的版本号。并开启了对应的HTTP路径以供前端获取版本号。

前端新增

我们在前端新增了重定向到转换后的地址的按钮,方便部分用户查看与下载文件。

配置变动

在此版本,我们只增加了[rateLimit]块,您可以直接升级而无需改动配置。此版本并未进行破坏性的配置变动。

[server]
host = "127.0.0.1" 
port = 8080 
sizeLimit = 125 # MB

[pages]
enabled = false
staticDir = "/data/www" 

[log]
logFilePath = "/data/ghproxy/log/ghproxy.log" 
maxLogSize = 5 # MB

[cors]
enabled = true

[auth]
authToken = "token"
enabled = false

[blacklist]
blacklistFile = "/data/ghproxy/config/blacklist.json"
enabled = false

[whitelist]
enabled = false
whitelistFile = "/data/ghproxy/config/whitelist.json"

[rateLimit]
enabled = false
ratePerMinute = 180
burst = 5

结语

GHProxy v1.7.0 是一个完善功能的版本,在性能侧与用户侧均进行了优化。

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

本文最初发表于 WJQSERVER的博客 ;WJQserver-Studio旗下所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载需注明出处!