From fb697007e069471f18fdddf274ff853b93280f7b Mon Sep 17 00:00:00 2001 From: Har01d Date: Mon, 1 Sep 2025 20:52:04 +0800 Subject: [PATCH 1/4] 189 Concurrency --- drivers/189pc/driver.go | 2 ++ drivers/189pc/meta.go | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/189pc/driver.go b/drivers/189pc/driver.go index 6516819c..236a3452 100644 --- a/drivers/189pc/driver.go +++ b/drivers/189pc/driver.go @@ -216,6 +216,8 @@ func (y *Cloud189PC) Link(ctx context.Context, file model.Obj, args model.LinkAr Header: http.Header{ "User-Agent": []string{base.UserAgent}, }, + Concurrency: y.Concurrency, + PartSize: y.ChunkSize * utils.KB, } /* // 获取链接有效时常 diff --git a/drivers/189pc/meta.go b/drivers/189pc/meta.go index 0713932a..cbfb6498 100644 --- a/drivers/189pc/meta.go +++ b/drivers/189pc/meta.go @@ -22,6 +22,9 @@ type Addition struct { AutoCheckin bool `json:"auto_checkin"` Cookie string `json:"cookie"` + + Concurrency int `json:"concurrency" type:"number" default:"1"` + ChunkSize int `json:"chunk_size" type:"number" default:"1024"` } var config = driver.Config{ From 2282a0f417b541c9e97b60160cffa07c0e78e012 Mon Sep 17 00:00:00 2001 From: Har01d Date: Mon, 1 Sep 2025 20:58:54 +0800 Subject: [PATCH 2/4] 189 Concurrency --- drivers/189pc/driver.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/189pc/driver.go b/drivers/189pc/driver.go index 236a3452..423bb7cf 100644 --- a/drivers/189pc/driver.go +++ b/drivers/189pc/driver.go @@ -212,7 +212,7 @@ func (y *Cloud189PC) Link(ctx context.Context, file model.Obj, args model.LinkAr exp := time.Hour like := &model.Link{ Expiration: &exp, - URL: downloadUrl.URL, + URL: downloadUrl.URL + fmt.Sprintf("#storageId=%d", y.ID), Header: http.Header{ "User-Agent": []string{base.UserAgent}, }, From ad11e7c31e188826dd06f4fe0f4422ec5f47e910 Mon Sep 17 00:00:00 2001 From: Har01d Date: Mon, 1 Sep 2025 21:03:21 +0800 Subject: [PATCH 3/4] 189 Concurrency --- drivers/189pc/driver.go | 4 ++-- drivers/189pc/extension.go | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/drivers/189pc/driver.go b/drivers/189pc/driver.go index 423bb7cf..00c6b684 100644 --- a/drivers/189pc/driver.go +++ b/drivers/189pc/driver.go @@ -210,7 +210,7 @@ func (y *Cloud189PC) Link(ctx context.Context, file model.Obj, args model.LinkAr } exp := time.Hour - like := &model.Link{ + link := &model.Link{ Expiration: &exp, URL: downloadUrl.URL + fmt.Sprintf("#storageId=%d", y.ID), Header: http.Header{ @@ -230,7 +230,7 @@ func (y *Cloud189PC) Link(ctx context.Context, file model.Obj, args model.LinkAr } } */ - return like, nil + return link, nil } func (y *Cloud189PC) MakeDir(ctx context.Context, parentDir model.Obj, dirName string) (model.Obj, error) { diff --git a/drivers/189pc/extension.go b/drivers/189pc/extension.go index cc33e538..49836e52 100644 --- a/drivers/189pc/extension.go +++ b/drivers/189pc/extension.go @@ -8,6 +8,7 @@ import ( "encoding/base64" "encoding/pem" "errors" + "fmt" "github.com/OpenListTeam/OpenList/v4/drivers/base" "github.com/OpenListTeam/OpenList/v4/internal/conf" "github.com/OpenListTeam/OpenList/v4/internal/model" @@ -120,10 +121,12 @@ func (y *Cloud189PC) GetShareLink(shareId int, file model.Obj) (*model.Link, err exp := time.Hour link := &model.Link{ Expiration: &exp, - URL: url, + URL: url + fmt.Sprintf("#storageId=%d", y.ID), Header: http.Header{ "User-Agent": []string{base.UserAgent}, }, + Concurrency: y.Concurrency, + PartSize: y.ChunkSize * utils.KB, } log.Debugf("使用直链播放:%v", url) return link, nil From 129541e92bed5a4c0e40e9f25daa860fe8ff2e2c Mon Sep 17 00:00:00 2001 From: Har01d Date: Mon, 1 Sep 2025 21:05:14 +0800 Subject: [PATCH 4/4] 189 Concurrency --- drivers/189_share/driver.go | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/189_share/driver.go b/drivers/189_share/driver.go index 4abf8ea1..1f5af5de 100644 --- a/drivers/189_share/driver.go +++ b/drivers/189_share/driver.go @@ -100,6 +100,7 @@ func (d *Cloud189Share) link(ctx context.Context, file model.Obj) (*model.Link, } fileObject, _ := file.(*FileObj) + log.Infof("[%v] 获取天翼云盘转存链接 %v %v", cloud189PC.ID, file.GetName(), file.GetID()) link, err = cloud189PC.Transfer(ctx, shareInfo.ShareId, fileObject.ID, fileObject.oldName) return link, err }