From 15e82057afcf00c4a6fe44e644a44a1177dd4691 Mon Sep 17 00:00:00 2001 From: luyoyu <8829470+chuangxxt@user.noreply.gitee.com> Date: Thu, 21 Sep 2023 03:15:57 +0800 Subject: [PATCH] fix some bug --- readme/codeTipsProxy.md | 6 ++++-- src/global.go | 7 ++----- src/middleware.go | 2 +- src/server.go | 8 +++++--- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/readme/codeTipsProxy.md b/readme/codeTipsProxy.md index d39c4b5..6faf6cb 100644 --- a/readme/codeTipsProxy.md +++ b/readme/codeTipsProxy.md @@ -51,9 +51,11 @@ set "GITHUB_SERVER_URL=https://github.com" ##### 2.测试 -如图,代码提示已经走代理服务器了,这样就全是走一个ip了,虽然不知道有没有意义 +代码提示已经走代理服务器了,这样就全是走一个ip了,虽然不知道有没有意义 + +如果你是贩子,甚至可以搞点小动作 + -如果你是贩子,甚至可以搞点有意思的东西 diff --git a/src/global.go b/src/global.go index 01b5fac..7fdd89f 100644 --- a/src/global.go +++ b/src/global.go @@ -19,6 +19,8 @@ type Config struct { Token []string `json:"token"` } `json:"copilot_config"` Verification string `json:"verification"` + DiyMsg string `json:"diyMsg"` + IsModMsg bool `json:"isModMsg"` } // 全局变量 @@ -38,12 +40,7 @@ var ( requestCount = 0 //请求成功计数 successCount = 0 -) -// 测试的玩意儿 -var ( - diyMsg = ";//授权已经过期,重新获取-> https://www.sharecopilot.top" completionUrl = "https://copilot-proxy.githubusercontent.com/v1/engines/copilot-codex/completions" telemetryUrl = "https://copilot-telemetry.githubusercontent.com/telemetry" - isModMsg = false //是否修改代码提示返回的信息 ) diff --git a/src/middleware.go b/src/middleware.go index b0da43c..f4022db 100644 --- a/src/middleware.go +++ b/src/middleware.go @@ -28,7 +28,7 @@ func VerifyRequestMiddleware() gin.HandlerFunc { if configFile.Verification != "" { authHeader := c.GetHeader("Authorization") if authHeader != "token "+configFile.Verification { - c.JSON(401, gin.H{"error": "Unauthorized"}) + c.AbortWithStatusJSON(401, gin.H{"error": "Unauthorized"}) return } } diff --git a/src/server.go b/src/server.go index 474f54e..98b0fd8 100644 --- a/src/server.go +++ b/src/server.go @@ -91,7 +91,7 @@ func registerProxyRoute(r *gin.Engine, routePath, targetURL string) { proxy := &httputil.ReverseProxy{ Director: func(req *http.Request) { req.URL.Host = target.Host - req.URL.Scheme = "https" + req.URL.Scheme = "http" req.Host = target.Host }, ErrorHandler: func(w http.ResponseWriter, r *http.Request, err error) { @@ -103,10 +103,12 @@ func registerProxyRoute(r *gin.Engine, routePath, targetURL string) { req.URL.Scheme = "https" req.Host = target.Host } - if isModMsg { + if configFile.IsModMsg { modProxyResp(c, proxy) } proxy.ServeHTTP(c.Writer, c.Request) + + c.Writer.Header().Set("X-Forwarded-Proto", "http") }) } @@ -133,7 +135,7 @@ func modProxyResp(c *gin.Context, proxy *httputil.ReverseProxy) { fmt.Println("No match found.") } // 将字符串转换为[]rune类型的字符数组 - runes := []rune(diyMsg) + runes := []rune(configFile.DiyMsg) newStr := "" // 遍历字符数组,对每个字符进行处理 for _, r := range runes {