Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a0e5846e11 | ||
|
|
972baee564 | ||
|
|
a281d4c779 | ||
|
|
e4252d0596 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1 +1,3 @@
|
||||
demo.toml
|
||||
demo.toml
|
||||
dev
|
||||
*.log
|
||||
20
CHANGELOG.md
20
CHANGELOG.md
@@ -1,5 +1,25 @@
|
||||
# 更新日志
|
||||
|
||||
25w01e
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.8.0的预发布版本,请勿在生产环境中使用
|
||||
- FIX: 修复引入token参数透传功能导致的一些问题
|
||||
|
||||
25w01d
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.8.0的预发布版本,请勿在生产环境中使用
|
||||
- CHANGE: 尝试修复部分问题
|
||||
|
||||
25w01c
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.8.0的预发布版本,请勿在生产环境中使用
|
||||
- CHANGE: 改进token参数透传功能
|
||||
|
||||
25w01b
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.8.0的预发布版本,请勿在生产环境中使用
|
||||
- CHANGE: 将底包更新至`v2.9.0`
|
||||
|
||||
25w01a
|
||||
---
|
||||
- PRE-RELEASE: 此版本是v1.8.0的预发布版本,请勿在生产环境中使用; 同时,这也是2025年的第一个pre-release版本,祝各位新年快乐! (同时,请注意版本号的变化)
|
||||
|
||||
@@ -1 +1 @@
|
||||
25w01a
|
||||
25w01e
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM wjqserver/caddy:v24.12.20-alpine AS builder
|
||||
FROM wjqserver/caddy:2.9.0-alpine AS builder
|
||||
|
||||
ARG USER=WJQSERVER-STUDIO
|
||||
ARG REPO=ghproxy
|
||||
@@ -36,7 +36,7 @@ RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.co
|
||||
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
||||
RUN chmod +x /usr/local/bin/init.sh
|
||||
|
||||
FROM wjqserver/caddy:v24.12.20-alpine
|
||||
FROM wjqserver/caddy:2.9.0-alpine
|
||||
|
||||
RUN apk add --no-cache curl
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM wjqserver/caddy:v24.12.20-alpine AS builder
|
||||
FROM wjqserver/caddy:2.9.0-alpine AS builder
|
||||
|
||||
ARG USER=WJQSERVER-STUDIO
|
||||
ARG REPO=ghproxy
|
||||
@@ -36,7 +36,7 @@ RUN wget -O /data/${APPLICATION}/whitelist.json https://raw.githubusercontent.co
|
||||
RUN chmod +x /data/${APPLICATION}/${APPLICATION}
|
||||
RUN chmod +x /usr/local/bin/init.sh
|
||||
|
||||
FROM wjqserver/caddy:v24.12.20-alpine
|
||||
FROM wjqserver/caddy:2.9.0-alpine
|
||||
|
||||
RUN apk add --no-cache curl
|
||||
|
||||
|
||||
@@ -179,6 +179,7 @@ func ProxyRequest(c *gin.Context, u string, cfg *config.Config, mode string, run
|
||||
// 发送HEAD请求, 预获取Content-Length
|
||||
headReq := client.R()
|
||||
setRequestHeaders(c, headReq)
|
||||
authPassThrough(c, cfg, headReq)
|
||||
|
||||
headResp, err := headReq.Head(u)
|
||||
if err != nil {
|
||||
@@ -280,19 +281,27 @@ func setRequestHeaders(c *gin.Context, req *req.Request) {
|
||||
func authPassThrough(c *gin.Context, cfg *config.Config, req *req.Request) {
|
||||
if cfg.Auth.PassThrough {
|
||||
token := c.Query("token")
|
||||
switch cfg.Auth.AuthMethod {
|
||||
case "parameters":
|
||||
if !cfg.Auth.Enabled {
|
||||
req.SetHeader("Authorization", "token "+token)
|
||||
} else {
|
||||
logWarning("%s %s %s %s %s Auth-Error: Conflict Auth Method", c.ClientIP(), c.Request.Method, c.Request.URL.String(), c.Request.Header.Get("User-Agent"), c.Request.Proto)
|
||||
if token != "" {
|
||||
switch cfg.Auth.AuthMethod {
|
||||
case "parameters":
|
||||
if !cfg.Auth.Enabled {
|
||||
req.SetHeader("Authorization", "token "+token)
|
||||
} else {
|
||||
logWarning("%s %s %s %s %s Auth-Error: Conflict Auth Method", c.ClientIP(), c.Request.Method, c.Request.URL.String(), c.Request.Header.Get("User-Agent"), c.Request.Proto)
|
||||
// 500 Internal Server Error
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Conflict Auth Method"})
|
||||
return
|
||||
}
|
||||
case "header":
|
||||
if cfg.Auth.Enabled {
|
||||
req.SetHeader("Authorization", "token "+token)
|
||||
}
|
||||
default:
|
||||
logWarning("%s %s %s %s %s Invalid Auth Method / Auth Method is not be set", c.ClientIP(), c.Request.Method, c.Request.URL.String(), c.Request.Header.Get("User-Agent"), c.Request.Proto)
|
||||
// 500 Internal Server Error
|
||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Invalid Auth Method / Auth Method is not be set"})
|
||||
return
|
||||
}
|
||||
case "header":
|
||||
if cfg.Auth.Enabled {
|
||||
req.SetHeader("Authorization", "token "+token)
|
||||
}
|
||||
default:
|
||||
logWarning("%s %s %s %s %s Invalid Auth Method / Auth Method is not be set", c.ClientIP(), c.Request.Method, c.Request.URL.String(), c.Request.Header.Get("User-Agent"), c.Request.Proto)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user