diff --git a/CHANGELOG.md b/CHANGELOG.md index 006230b..d323c99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,14 +1,5 @@ # 更新日志 -3.5.5 - 2025-06-14 ---- -- CHANGE: 修正新匹配器的覆盖问题, 同时增加test的覆盖 - -25w47a - 2025-06-14 ---- -- PRE-RELEASE: 此版本是v3.5.5预发布版本,请勿在生产环境中使用; -- CHANGE: 修正新匹配器的覆盖问题, 同时增加test的覆盖 - 3.5.4 - 2025-06-14 --- - CHANGE: 移植来自于[GHProxy-Touka](https://github.com/WJQSERVER-STUDIO/ghproxy-touka)的blob处理逻辑与302处理逻辑 diff --git a/DEV-VERSION b/DEV-VERSION index 55564ab..7b8b745 100644 --- a/DEV-VERSION +++ b/DEV-VERSION @@ -1 +1 @@ -25w47a \ No newline at end of file +25w46c \ No newline at end of file diff --git a/VERSION b/VERSION index 1947319..e5b8a84 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.5.5 \ No newline at end of file +3.5.4 \ No newline at end of file diff --git a/proxy/match.go b/proxy/match.go index f526461..896a99b 100644 --- a/proxy/match.go +++ b/proxy/match.go @@ -10,16 +10,14 @@ import ( ) var ( - githubPrefix = "https://github.com/" - rawPrefix = "https://raw.githubusercontent.com/" - gistPrefix = "https://gist.github.com/" - gistContentPrefix = "https://gist.githubusercontent.com/" - apiPrefix = "https://api.github.com/" - githubPrefixLen int - rawPrefixLen int - gistPrefixLen int - gistContentPrefixLen int - apiPrefixLen int + githubPrefix = "https://github.com/" + rawPrefix = "https://raw.githubusercontent.com/" + gistPrefix = "https://gist.github.com/" + apiPrefix = "https://api.github.com/" + githubPrefixLen int + rawPrefixLen int + gistPrefixLen int + apiPrefixLen int ) func init() { @@ -27,7 +25,6 @@ func init() { rawPrefixLen = len(rawPrefix) gistPrefixLen = len(gistPrefix) apiPrefixLen = len(apiPrefix) - gistContentPrefixLen = len(gistContentPrefix) //log.Printf("githubPrefixLen: %d, rawPrefixLen: %d, gistPrefixLen: %d, apiPrefixLen: %d", githubPrefixLen, rawPrefixLen, gistPrefixLen, apiPrefixLen) } @@ -117,23 +114,6 @@ func Matcher(rawPath string, cfg *config.Config) (string, string, string, *GHPro return user, "", "gist", nil } - // 匹配 "https://gist.githubusercontent.com/" - if strings.HasPrefix(rawPath, gistContentPrefix) { - remaining := rawPath[gistContentPrefixLen:] - i := strings.IndexByte(remaining, '/') - if i <= 0 { - // case: https://gist.githubusercontent.com/user - // 这种情况下, gist_id 缺失, 但我们仍然可以认为 user 是有效的 - if len(remaining) > 0 { - return remaining, "", "gist", nil - } - return "", "", "", NewErrorWithStatusLookup(400, "malformed gist url: missing user") - } - // case: https://gist.githubusercontent.com/user/gist_id... - user := remaining[:i] - return user, "", "gist", nil - } - // 匹配 "https://api.github.com/" if strings.HasPrefix(rawPath, apiPrefix) { if !cfg.Auth.ForceAllowApi && (cfg.Auth.Method != "header" || !cfg.Auth.Enabled) { diff --git a/proxy/matcher_test.go b/proxy/matcher_test.go index 0c35381..3293817 100644 --- a/proxy/matcher_test.go +++ b/proxy/matcher_test.go @@ -87,12 +87,6 @@ func TestMatcher_Compatibility(t *testing.T) { config: cfgWithAuth, expectedUser: "user", expectedRepo: "", expectedMatcher: "gist", }, - { - name: "Gist UserContent Path", - rawPath: "https://gist.githubusercontent.com/user/abcdef1234567890", - config: cfgWithAuth, - expectedUser: "user", expectedRepo: "", expectedMatcher: "gist", - }, { name: "API Repos Path (with Auth)", rawPath: "https://api.github.com/repos/owner/repo/pulls",