diff --git a/drivers/bitqiu/driver.go b/drivers/bitqiu/driver.go index 3aff8153..048377fe 100644 --- a/drivers/bitqiu/driver.go +++ b/drivers/bitqiu/driver.go @@ -8,6 +8,7 @@ import ( "net/http/cookiejar" "path" "strconv" + "strings" "time" "github.com/alist-org/alist/v3/drivers/base" @@ -48,6 +49,8 @@ const ( chunkSize = int64(1 << 20) ) +const defaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36" + type BitQiu struct { model.Storage Addition @@ -79,6 +82,7 @@ func (d *BitQiu) Init(ctx context.Context) error { d.client.SetBaseURL(baseURL) d.client.SetCookieJar(jar) } + d.client.SetHeader("user-agent", d.userAgent()) return d.login(ctx) } @@ -504,6 +508,7 @@ func (d *BitQiu) uploadFileInChunks(ctx context.Context, tmpFile model.File, siz "hash": md5sum, "len": strconv.FormatInt(chunkLen, 10), "offset": strconv.FormatInt(offset, 10), + "user-agent": d.userAgent(), } var chunkResp ChunkUploadResponse @@ -715,10 +720,18 @@ func (d *BitQiu) commonHeaders() map[string]string { "x-requested-with": "XMLHttpRequest", "referer": baseURL + "/", "origin": baseURL, + "user-agent": d.userAgent(), } return headers } +func (d *BitQiu) userAgent() string { + if ua := strings.TrimSpace(d.Addition.UserAgent); ua != "" { + return ua + } + return defaultUserAgent +} + func (d *BitQiu) resolveParentID(dir model.Obj) string { if dir != nil && dir.GetID() != "" { return dir.GetID() diff --git a/drivers/bitqiu/meta.go b/drivers/bitqiu/meta.go index 0aa0c8fc..63cb0334 100644 --- a/drivers/bitqiu/meta.go +++ b/drivers/bitqiu/meta.go @@ -13,6 +13,7 @@ type Addition struct { OrderType string `json:"order_type" type:"select" options:"updateTime,createTime,name,size" default:"updateTime"` OrderDesc bool `json:"order_desc"` PageSize string `json:"page_size" default:"24" help:"Number of entries to request per page."` + UserAgent string `json:"user_agent" default:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36"` } var config = driver.Config{