diff --git a/CHANGELOG.md b/CHANGELOG.md index cb0a95f..a9a1114 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # 更新日志 +3.3.2 - 2025-05-18 +--- +- CHANGE: 默认主题改为`design` + +25w38a - 2025-05-18 +--- +- PRE-RELEASE: 此版本是v3.3.2预发布版本,请勿在生产环境中使用; +- CHANGE: 默认主题改为`design` + 3.3.1 - 2025-05-16 - CHANGE: 为`target`放宽限制, 支持自定义 - CHANGE: 更新`hertz`, `0.9.7`=>`0.10.0` diff --git a/DEV-VERSION b/DEV-VERSION index cd31a95..5c77f30 100644 --- a/DEV-VERSION +++ b/DEV-VERSION @@ -1 +1 @@ -25w37a \ No newline at end of file +25w38a \ No newline at end of file diff --git a/README.md b/README.md index 871c644..9df6f2b 100644 --- a/README.md +++ b/README.md @@ -17,12 +17,13 @@ - 🌐 **使用字节旗下的 [HertZ](https://github.com/cloudwego/hertz) 作为 Web 框架** - 📡 **使用 [Touka-HTTPC](https://github.com/satomitouka/touka-httpc) 作为 HTTP 客户端** - 📥 **支持 Git clone、raw、releases 等文件拉取** +- 🐳 **支持反代Docker, GHCR等镜像仓库** - 🎨 **支持多个前端主题** - 🚫 **支持自定义黑名单/白名单** - 🗄️ **支持 Git Clone 缓存(配合 [Smart-Git](https://github.com/WJQSERVER-STUDIO/smart-git))** -- 🐳 **支持 Docker 部署** -- 🐳 **支持自托管** +- 🐳 **支持自托管与Docker容器化部署** - ⚡ **支持速率限制** +- ⚡ **支持带宽速率限制** - 🔒 **支持用户鉴权** - 🐚 **支持 shell 脚本多层嵌套加速** @@ -34,7 +35,9 @@ [相关文章](https://blog.wjqserver.com/categories/my-program/) -[项目文档](https://github.com/WJQSERVER-STUDIO/ghproxy/blob/main/docs/menu.md) +[GHProxy项目文档](https://github.com/WJQSERVER-STUDIO/ghproxy/blob/main/docs/menu.md) + +[GHProxy项目文档Next(仍在建设中)](https://ghproxy-docs.pages.dev/) ### 使用示例 diff --git a/VERSION b/VERSION index 712bd5a..5436ea0 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.3.1 \ No newline at end of file +3.3.2 \ No newline at end of file diff --git a/docs/config.md b/docs/config.md index c146ca4..e5de161 100644 --- a/docs/config.md +++ b/docs/config.md @@ -68,13 +68,20 @@ rateMethod = "total" # "ip" or "total" ratePerMinute = 180 burst = 5 +[rateLimit.bandwidthLimit] + enabled = false + totalLimit = "100mbps" + totalBurst = "100mbps" + singleLimit = "10mbps" + singleBurst = "10mbps" + [outbound] enabled = false url = "socks5://127.0.0.1:1080" # "http://127.0.0.1:7890" [docker] enabled = false -target = "ghcr" # ghcr/dockerhub +target = "ghcr" # ghcr/dockerhub or "xx.example.com" ``` ### 配置项详细说明 @@ -291,6 +298,27 @@ target = "ghcr" # ghcr/dockerhub * 类型: 整数 (`int`) * 默认值: `5` * 说明: 允许在短时间内超过 `ratePerMinute` 的突发请求数。 + * **`[rateLimit.bandwidthLimit]` 带宽速率限制** + * `enabled`: 是否启用带宽速率限制。 + * 类型: 布尔值 (`bool`) + * 默认值: `false` (禁用) + * 说明: 启用后,`ghproxy` 将根据配置的策略限制带宽使用,防止服务被滥用。 + * `totalLimit`: 全局带宽限制。 + * 类型: 字符串 (`string`) + * 默认值: `"100mbps"` + * 说明: 设置全局最大带宽使用量。支持的单位有 "kbps", "mbps", "gbps"。 + * `totalBurst`: 全局突发带宽。 + * 类型: 字符串 (`string`) + * 默认值: `"100mbps"` + * 说明: 设置全局突发带宽使用量。支持的单位有 "kbps", "mbps", "gbps"。 + * `singleLimit`: 单个连接带宽限制。 + * 类型: 字符串 (`string`) + * 默认值: `"10mbps"` + * 说明: 设置单个连接的最大带宽使用量。支持的单位有 "kbps", "mbps", "gbps"。 + * `singleBurst`: 单个连接突发带宽。 + * 类型: 字符串 (`string`) + * 默认值: `"10mbps"` + * 说明: 设置单个连接的突发带宽使用量。支持的单位有 "kbps", "mbps", "gbps"。 * **`[outbound]` - 出站代理配置** @@ -318,6 +346,7 @@ target = "ghcr" # ghcr/dockerhub * 说明: 指定要代理的 Docker 注册表。 * `"ghcr"`: 代理 GitHub Container Registry (ghcr.io)。 * `"dockerhub"`: 代理 Docker Hub (docker.io)。 + * 自定义, 支持传入自定义target, 例如`"docker.example.com"` ## `blacklist.json` - 黑名单配置 diff --git a/main.go b/main.go index 2cb9ac4..a9c37ae 100644 --- a/main.go +++ b/main.go @@ -206,8 +206,8 @@ func loadEmbeddedPages(cfg *config.Config) (fs.FS, fs.FS, error) { case "mino": pages, err = fs.Sub(pagesFS, "pages/mino") default: - pages, err = fs.Sub(pagesFS, "pages/bootstrap") // 默认主题 - logWarning("Invalid Pages Theme: %s, using default theme 'bootstrap'", cfg.Pages.Theme) + pages, err = fs.Sub(pagesFS, "pages/design") // 默认主题 + logWarning("Invalid Pages Theme: %s, using default theme 'design'", cfg.Pages.Theme) } if err != nil {