Initial commit

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-15 13:57:10 +08:00
co-authored by Claude Opus 5
commit 8679200f41
1897 changed files with 257900 additions and 0 deletions
+130
View File
@@ -0,0 +1,130 @@
package proxy
import (
"fmt"
"strings"
)
const (
// 视频桶地址
BucketVideoAddressV1 = "http://ts.bbaazz.me"
BucketVideoAddressV2 = "http://tong3yuants.bbaazz.me"
// 图片桶地址
BucketImageAddressV1 = "http://img.bbaazz.me"
BucketImageAddressV2 = "http://tong3yuanimg.bbaazz.me"
// 上传路径
ImageUploadPathV1 = "/file/upload"
ImageUploadPathV2 = "/file/upload" // "/file/web/media/uploadImg"
VideoBodyPathV1 = "/file/web/proxy/videoBody"
VideoBodyPathV2 = "/file/web/proxy/videoBodyV2"
VideoOkPathV1 = "/file/web/proxy/videoOk"
VideoOkPathV2 = "/file/web/proxy/videoOkv2"
)
func DomainAddressRepair(domain string, defaultBucketAddress ...string) string {
if domain == "" {
if len(defaultBucketAddress) > 0 && defaultBucketAddress[0] != "" {
domain = defaultBucketAddress[0]
} else {
domain = BucketVideoAddressV2
}
}
return domain
}
func ImageUploadAddressRepair(domain string, defaultBucketAddress ...string) string {
domain = DomainAddressRepair(domain, defaultBucketAddress...)
if !strings.Contains(domain, ImageUploadPathV1) && !strings.Contains(domain, ImageUploadPathV2) {
if strings.HasPrefix(domain, BucketImageAddressV1) {
return domain + ImageUploadPathV1
} else if strings.HasPrefix(domain, BucketImageAddressV2) {
return domain + ImageUploadPathV2
}
return domain + ImageUploadPathV2
}
return domain
}
func VideoBodyAddressRepair(domain string, defaultBucketAddress ...string) string {
domain = DomainAddressRepair(domain, defaultBucketAddress...)
if strings.HasPrefix(domain, BucketVideoAddressV1) {
if !strings.Contains(domain, VideoBodyPathV1) {
return domain + VideoBodyPathV1
}
return domain
} else if strings.HasPrefix(domain, BucketVideoAddressV2) {
if !strings.Contains(domain, VideoBodyPathV2) {
return domain + VideoBodyPathV2
}
return domain
} else { // 未知存储桶,默认v2
if !strings.Contains(domain, VideoBodyPathV2) {
return domain + VideoBodyPathV2
}
return domain
}
}
func VideoOkAddressRepair(domain string, defaultBucketAddress ...string) string {
domain = DomainAddressRepair(domain, defaultBucketAddress...)
if strings.HasPrefix(domain, BucketVideoAddressV1) {
if !strings.Contains(domain, VideoOkPathV1) {
return domain + VideoOkPathV1
}
return domain
} else if strings.HasPrefix(domain, BucketVideoAddressV2) {
if !strings.Contains(domain, VideoOkPathV2) {
return domain + VideoOkPathV2
}
return domain
} else { // 未知存储桶,默认v2
if !strings.Contains(domain, VideoOkPathV2) {
return domain + VideoOkPathV2
}
return domain
}
}
func GetExistsUrlPathBucketAddress(path string) string {
if strings.HasPrefix(path, "v1/") {
return BucketVideoAddressV1
} else if strings.HasPrefix(path, "v2/") {
return BucketVideoAddressV2
} else if strings.HasPrefix(path, "v3/") {
return BucketVideoAddressV2
} else {
return BucketVideoAddressV1 // 欲漫涩、微博、快看禁漫 默认用桶2,其他的app,默认用桶1
}
}
func AppendV2PrefixToUrlPath(name string) string {
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
name = fmt.Sprintf("v2/%s", name)
}
return name
}
func AppendV1PrefixToUrlPath(name string) string {
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
name = fmt.Sprintf("v1/%s", name)
}
return name
}
func AppendsMediaS3Version(name string) string {
if strings.Contains(name, "bktadminup") ||
strings.Contains(name, "bktappupdata") ||
strings.Contains(name, "k12") ||
strings.Contains(name, "bktappup") {
return ""
}
// 默认使用V1
if name != "" && !strings.HasPrefix(name, "v2/") && !strings.HasPrefix(name, "v1/") && !strings.HasPrefix(name, "v3/") &&
!strings.HasPrefix(name, "/v2") && !strings.HasPrefix(name, "/v1") && !strings.HasPrefix(name, "/v3") {
return "/v2"
}
return ""
}