Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b1a60017e4 | ||
|
|
96bd4a2c18 | ||
|
|
43c576bd82 | ||
|
|
580865d082 | ||
|
|
c2af045019 | ||
|
|
d297f785db | ||
|
|
f6f1ff7362 | ||
|
|
920b025fda | ||
|
|
59428e47aa | ||
|
|
e3f9a0d4c6 |
25
CHANGELOG.md
25
CHANGELOG.md
@@ -1,5 +1,30 @@
|
||||
# 更新日志
|
||||
|
||||
24w25b
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.7.6的预发布版本,请勿在生产环境中使用
|
||||
- 说明: 本版本为24w25a-fix0
|
||||
- FIX: 进一步修正 H2C相关配置逻辑问题
|
||||
|
||||
24w25a
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.7.6的预发布版本,请勿在生产环境中使用
|
||||
- 说明: 本版本为v1.7.6的其中一个候选与开发测试版本,相关改动不一定实装
|
||||
- FIX: 进一步修正 H2C相关配置逻辑问题
|
||||
- CHANGE: 对Caddy配置进行实验性修改,优化H2C配置
|
||||
- CHANGE: 更新相关依赖库
|
||||
|
||||
v1.7.5
|
||||
---
|
||||
- FIX: 修复 v1.7.4 版本 Docker 镜像默认配置导致的 403 问题
|
||||
- ADD: `Rate`模块加入`IP`速率限制,可限制单个IP的请求速率 (需要更多测试)
|
||||
- CHANGE: 处理积攒的依赖库更新
|
||||
|
||||
24w24c
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.7.5的预发布版本,请勿在生产环境中使用
|
||||
- CHANGE: 更新依赖
|
||||
|
||||
24w24b
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.7.5的预发布版本,请勿在生产环境中使用
|
||||
|
||||
@@ -1 +1 @@
|
||||
24w24b
|
||||
24w25b
|
||||
@@ -81,7 +81,7 @@ wget -O install.sh https://raw.githubusercontent.com/WJQSERVER-STUDIO/ghproxy/ma
|
||||
host = "127.0.0.1" # 监听地址
|
||||
port = 8080 # 监听端口
|
||||
sizeLimit = 125 # 125MB
|
||||
enableH2C = false # 是否开启H2C传输
|
||||
enableH2C = true # 是否开启H2C传输(latest和dev版本请开启)
|
||||
|
||||
[pages]
|
||||
enabled = false # 是否开启内置静态页面(Docker版本请关闭此项)
|
||||
@@ -109,6 +109,7 @@ whitelistFile = "/data/ghproxy/config/whitelist.json" # 白名单文件路径
|
||||
|
||||
[rateLimit]
|
||||
enabled = false # 是否开启速率限制
|
||||
rateMrthod = "total" # "ip" or "total" 速率限制方式
|
||||
ratePerMinute = 180 # 每分钟限制请求数量
|
||||
burst = 5 # 突发请求数量
|
||||
```
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
roll_keep 10
|
||||
}
|
||||
}
|
||||
servers :80 {
|
||||
protocols h1 h2c
|
||||
}
|
||||
}
|
||||
|
||||
(log) {
|
||||
@@ -68,8 +71,11 @@
|
||||
|
||||
:80 {
|
||||
reverse_proxy {
|
||||
to h2c://127.0.0.1:8080
|
||||
to 127.0.0.1:8080
|
||||
import header_realip
|
||||
transport http {
|
||||
versions 1.1 h2c
|
||||
}
|
||||
}
|
||||
import log ghproxy
|
||||
import cache 0s 300s
|
||||
|
||||
@@ -19,7 +19,7 @@ type ServerConfig struct {
|
||||
Port int `toml:"port"`
|
||||
Host string `toml:"host"`
|
||||
SizeLimit int `toml:"sizeLimit"`
|
||||
EnableH2C bool `toml:"enableH2C"`
|
||||
EnableH2C string `toml:"enableH2C"`
|
||||
}
|
||||
|
||||
type PagesConfig struct {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
host = "127.0.0.1"
|
||||
port = 8080
|
||||
sizeLimit = 125 # MB
|
||||
enableH2C = true
|
||||
enableH2C = "on" # "on" or "off"
|
||||
|
||||
[pages]
|
||||
enabled = false
|
||||
|
||||
6
go.mod
6
go.mod
@@ -11,7 +11,7 @@ require (
|
||||
|
||||
require (
|
||||
github.com/andybalholm/brotli v1.1.1 // indirect
|
||||
github.com/bytedance/sonic v1.12.4 // indirect
|
||||
github.com/bytedance/sonic v1.12.5 // indirect
|
||||
github.com/bytedance/sonic/loader v0.2.1 // indirect
|
||||
github.com/cloudflare/circl v1.5.0 // indirect
|
||||
github.com/cloudwego/base64x v0.1.4 // indirect
|
||||
@@ -23,7 +23,7 @@ require (
|
||||
github.com/go-playground/validator/v10 v10.23.0 // indirect
|
||||
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
|
||||
github.com/goccy/go-json v0.10.3 // indirect
|
||||
github.com/google/pprof v0.0.0-20241122213907-cbe949e5a41b // indirect
|
||||
github.com/google/pprof v0.0.0-20241128161848-dc51965c6481 // indirect
|
||||
github.com/hashicorp/errwrap v1.1.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
||||
github.com/json-iterator/go v1.1.12 // indirect
|
||||
@@ -36,7 +36,7 @@ require (
|
||||
github.com/onsi/ginkgo/v2 v2.22.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
|
||||
github.com/quic-go/qpack v0.5.1 // indirect
|
||||
github.com/quic-go/quic-go v0.48.1 // indirect
|
||||
github.com/quic-go/quic-go v0.48.2 // indirect
|
||||
github.com/refraction-networking/utls v1.6.7 // indirect
|
||||
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
|
||||
github.com/ugorji/go/codec v1.2.12 // indirect
|
||||
|
||||
6
go.sum
6
go.sum
@@ -4,6 +4,8 @@ github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7X
|
||||
github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA=
|
||||
github.com/bytedance/sonic v1.12.4 h1:9Csb3c9ZJhfUWeMtpCDCq6BUoH5ogfDFLUgQ/jG+R0k=
|
||||
github.com/bytedance/sonic v1.12.4/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk=
|
||||
github.com/bytedance/sonic v1.12.5 h1:hoZxY8uW+mT+OpkcUWw4k0fDINtOcVavEsGfzwzFU/w=
|
||||
github.com/bytedance/sonic v1.12.5/go.mod h1:B8Gt/XvtZ3Fqj+iSKMypzymZxw/FVwgIGKzMzT9r/rk=
|
||||
github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
|
||||
github.com/bytedance/sonic/loader v0.2.1 h1:1GgorWTqf12TA8mma4DDSbaQigE2wOgQo7iCjjJv3+E=
|
||||
github.com/bytedance/sonic/loader v0.2.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU=
|
||||
@@ -48,6 +50,8 @@ github.com/google/pprof v0.0.0-20241101162523-b92577c0c142 h1:sAGdeJj0bnMgUNVeUp
|
||||
github.com/google/pprof v0.0.0-20241101162523-b92577c0c142/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
|
||||
github.com/google/pprof v0.0.0-20241122213907-cbe949e5a41b h1:SXO0REt4iu865upYCk8aKBBJQ4BqoE0ReP23ClMu60s=
|
||||
github.com/google/pprof v0.0.0-20241122213907-cbe949e5a41b/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
|
||||
github.com/google/pprof v0.0.0-20241128161848-dc51965c6481 h1:yudKIrXagAOl99WQzrP1gbz5HLB9UjhcOFnPzdd6Qec=
|
||||
github.com/google/pprof v0.0.0-20241128161848-dc51965c6481/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
|
||||
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
|
||||
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
|
||||
@@ -88,6 +92,8 @@ github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
|
||||
github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg=
|
||||
github.com/quic-go/quic-go v0.48.1 h1:y/8xmfWI9qmGTc+lBr4jKRUWLGSlSigv847ULJ4hYXA=
|
||||
github.com/quic-go/quic-go v0.48.1/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs=
|
||||
github.com/quic-go/quic-go v0.48.2 h1:wsKXZPeGWpMpCGSWqOcqpW2wZYic/8T3aqiOID0/KWE=
|
||||
github.com/quic-go/quic-go v0.48.2/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs=
|
||||
github.com/refraction-networking/utls v1.6.7 h1:zVJ7sP1dJx/WtVuITug3qYUq034cDq9B2MR1K67ULZM=
|
||||
github.com/refraction-networking/utls v1.6.7/go.mod h1:BC3O4vQzye5hqpmDTWUqi4P5DDhzJfkV1tdqtawQIH0=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
|
||||
12
main.go
12
main.go
@@ -91,9 +91,19 @@ func init() {
|
||||
gin.SetMode(gin.ReleaseMode)
|
||||
|
||||
router = gin.Default()
|
||||
if cfg.Server.EnableH2C {
|
||||
//H2C默认值为true,而后遵循cfg.Server.EnableH2C的设置
|
||||
if cfg.Server.EnableH2C == "on" {
|
||||
router.UseH2C = true
|
||||
} else if cfg.Server.EnableH2C == "" {
|
||||
router.UseH2C = true
|
||||
} else {
|
||||
router.UseH2C = false
|
||||
}
|
||||
/*if !cfg.Server.EnableH2C {
|
||||
router.UseH2C = false
|
||||
} else {
|
||||
router.UseH2C = true
|
||||
}*/
|
||||
|
||||
setupApi(cfg, router, version)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user