diff --git a/drivers/123/util.go b/drivers/123/util.go index c9ddb5c7..e9eb6337 100644 --- a/drivers/123/util.go +++ b/drivers/123/util.go @@ -1,14 +1,10 @@ package _123 import ( - "crypto/md5" "errors" "fmt" - "math/rand" "net/http" - "net/url" "strconv" - "time" "github.com/alist-org/alist/v3/drivers/base" "github.com/alist-org/alist/v3/pkg/utils" @@ -19,9 +15,10 @@ import ( // do others that not defined in Driver interface const ( + Api = "https://www.123pan.com/api" AApi = "https://www.123pan.com/a/api" BApi = "https://www.123pan.com/b/api" - MainApi = BApi + MainApi = Api SignIn = MainApi + "/user/sign_in" Logout = MainApi + "/user/logout" UserInfo = MainApi + "/user/info" @@ -37,7 +34,7 @@ const ( S3Auth = MainApi + "/file/s3_upload_object/auth" UploadCompleteV2 = MainApi + "/file/upload_complete/v2" S3Complete = MainApi + "/file/s3_complete_multipart_upload" - AuthKeySalt = "8-8D$sL8gPjom7bk#cY" + //AuthKeySalt = "8-8D$sL8gPjom7bk#cY" ) func (d *Pan123) login() error { @@ -59,9 +56,10 @@ func (d *Pan123) login() error { SetHeaders(map[string]string{ "origin": "https://www.123pan.com", "referer": "https://www.123pan.com/", - "platform": "web", - "app-version": "3", - "user-agent": base.UserAgent, + "user-agent": "Dart/2.19(dart:io)", + "platform": "android", + "app-version": "36", + //"user-agent": base.UserAgent, }). SetBody(body).Post(SignIn) if err != nil { @@ -75,19 +73,19 @@ func (d *Pan123) login() error { return err } -func authKey(reqUrl string) (*string, error) { - reqURL, err := url.Parse(reqUrl) - if err != nil { - return nil, err - } - - nowUnix := time.Now().Unix() - random := rand.Intn(0x989680) - - p4 := fmt.Sprintf("%d|%d|%s|%s|%s|%s", nowUnix, random, reqURL.Path, "web", "3", AuthKeySalt) - authKey := fmt.Sprintf("%d-%d-%x", nowUnix, random, md5.Sum([]byte(p4))) - return &authKey, nil -} +//func authKey(reqUrl string) (*string, error) { +// reqURL, err := url.Parse(reqUrl) +// if err != nil { +// return nil, err +// } +// +// nowUnix := time.Now().Unix() +// random := rand.Intn(0x989680) +// +// p4 := fmt.Sprintf("%d|%d|%s|%s|%s|%s", nowUnix, random, reqURL.Path, "web", "3", AuthKeySalt) +// authKey := fmt.Sprintf("%d-%d-%x", nowUnix, random, md5.Sum([]byte(p4))) +// return &authKey, nil +//} func (d *Pan123) request(url string, method string, callback base.ReqCallback, resp interface{}) ([]byte, error) { req := base.RestyClient.R() @@ -95,9 +93,10 @@ func (d *Pan123) request(url string, method string, callback base.ReqCallback, r "origin": "https://www.123pan.com", "referer": "https://www.123pan.com/", "authorization": "Bearer " + d.AccessToken, - "platform": "web", - "app-version": "3", - "user-agent": base.UserAgent, + "user-agent": "Dart/2.19(dart:io)", + "platform": "android", + "app-version": "36", + //"user-agent": base.UserAgent, }) if callback != nil { callback(req) @@ -105,11 +104,11 @@ func (d *Pan123) request(url string, method string, callback base.ReqCallback, r if resp != nil { req.SetResult(resp) } - authKey, err := authKey(url) - if err != nil { - return nil, err - } - req.SetQueryParam("auth-key", *authKey) + //authKey, err := authKey(url) + //if err != nil { + // return nil, err + //} + //req.SetQueryParam("auth-key", *authKey) res, err := req.Execute(method, url) if err != nil { return nil, err