mirror of https://github.com/Xhofe/alist
chore: fix xunlei some minor problems
parent
b00dcdec0d
commit
537ca030b2
|
@ -62,13 +62,13 @@ func (x *XunLei) Init(ctx context.Context, storage model.Storage) (err error) {
|
||||||
"j",
|
"j",
|
||||||
"4scKJNdd7F27Hv7tbt",
|
"4scKJNdd7F27Hv7tbt",
|
||||||
},
|
},
|
||||||
DeviceID: "9aa5c268e7bcfc197a9ad88e2fb330e5",
|
DeviceID: "9aa5c268e7bcfc197a9ad88e2fb330e5",
|
||||||
ClientID: "Xp6vsxz_7IYVw2BB",
|
ClientID: "Xp6vsxz_7IYVw2BB",
|
||||||
ClientSecret: "Xp6vsy4tN9toTVdMSpomVdXpRmES",
|
ClientSecret: "Xp6vsy4tN9toTVdMSpomVdXpRmES",
|
||||||
ClientVersion: "7.51.0.8196",
|
ClientVersion: "7.51.0.8196",
|
||||||
PackageName: "com.xunlei.downloadprovider",
|
PackageName: "com.xunlei.downloadprovider",
|
||||||
UserAgent: "ANDROID-com.xunlei.downloadprovider/7.51.0.8196 netWorkType/5G appid/40 deviceName/Xiaomi_M2004j7ac deviceModel/M2004J7AC OSVersion/12 protocolVersion/301 platformVersion/10 sdkVersion/220200 Oauth2Client/0.9 (Linux 4_14_186-perf-gddfs8vbb238b) (JAVA 0)",
|
UserAgent: "ANDROID-com.xunlei.downloadprovider/7.51.0.8196 netWorkType/5G appid/40 deviceName/Xiaomi_M2004j7ac deviceModel/M2004J7AC OSVersion/12 protocolVersion/301 platformVersion/10 sdkVersion/220200 Oauth2Client/0.9 (Linux 4_14_186-perf-gddfs8vbb238b) (JAVA 0)",
|
||||||
DownUserAgent: "Dalvik/2.1.0 (Linux; U; Android 12; M2004J7AC Build/SP1A.210812.016)",
|
DownloadUserAgent: "Dalvik/2.1.0 (Linux; U; Android 12; M2004J7AC Build/SP1A.210812.016)",
|
||||||
},
|
},
|
||||||
refreshTokenFunc: func() error {
|
refreshTokenFunc: func() error {
|
||||||
// 通过RefreshToken刷新
|
// 通过RefreshToken刷新
|
||||||
|
@ -142,13 +142,13 @@ func (x *XunLeiExpert) Init(ctx context.Context, storage model.Storage) (err err
|
||||||
Common: &Common{
|
Common: &Common{
|
||||||
client: base.NewRestyClient(),
|
client: base.NewRestyClient(),
|
||||||
|
|
||||||
DeviceID: x.DeviceID,
|
DeviceID: x.DeviceID,
|
||||||
ClientID: x.ClientID,
|
ClientID: x.ClientID,
|
||||||
ClientSecret: x.ClientSecret,
|
ClientSecret: x.ClientSecret,
|
||||||
ClientVersion: x.ClientVersion,
|
ClientVersion: x.ClientVersion,
|
||||||
PackageName: x.PackageName,
|
PackageName: x.PackageName,
|
||||||
UserAgent: x.UserAgent,
|
UserAgent: x.UserAgent,
|
||||||
DownUserAgent: x.DownUserAgent,
|
DownloadUserAgent: x.DownloadUserAgent,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,7 +158,7 @@ func (x *XunLeiExpert) Init(ctx context.Context, storage model.Storage) (err err
|
||||||
}
|
}
|
||||||
|
|
||||||
// 签名方法
|
// 签名方法
|
||||||
if x.SignType == "capcha_sign" {
|
if x.SignType == "captcha_sign" {
|
||||||
x.Common.Timestamp = x.Timestamp
|
x.Common.Timestamp = x.Timestamp
|
||||||
x.Common.CaptchaSign = x.CaptchaSign
|
x.Common.CaptchaSign = x.CaptchaSign
|
||||||
} else {
|
} else {
|
||||||
|
@ -210,6 +210,8 @@ func (x *XunLeiExpert) Init(ctx context.Context, storage model.Storage) (err err
|
||||||
x.SetCaptchaToken(x.CaptchaToken)
|
x.SetCaptchaToken(x.CaptchaToken)
|
||||||
x.CaptchaToken = ""
|
x.CaptchaToken = ""
|
||||||
}
|
}
|
||||||
|
x.XunLeiCommon.UserAgent = x.UserAgent
|
||||||
|
x.XunLeiCommon.DownloadUserAgent = x.DownloadUserAgent
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -249,7 +251,7 @@ func (xc *XunLeiCommon) Link(ctx context.Context, file model.Obj, args model.Lin
|
||||||
link := &model.Link{
|
link := &model.Link{
|
||||||
URL: lFile.WebContentLink,
|
URL: lFile.WebContentLink,
|
||||||
Header: http.Header{
|
Header: http.Header{
|
||||||
"User-Agent": {xc.DownUserAgent},
|
"User-Agent": {xc.DownloadUserAgent},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ type ExpertAddition struct {
|
||||||
driver.RootID
|
driver.RootID
|
||||||
|
|
||||||
LoginType string `json:"login_type" type:"select" options:"user,refresh_token" default:"user"`
|
LoginType string `json:"login_type" type:"select" options:"user,refresh_token" default:"user"`
|
||||||
SignType string `json:"sign_type" type:"select" options:"algorithms,capcha_sign" default:"algorithms"`
|
SignType string `json:"sign_type" type:"select" options:"algorithms,captcha_sign" default:"algorithms"`
|
||||||
|
|
||||||
// 登录方式1
|
// 登录方式1
|
||||||
Username string `json:"username" required:"true" help:"login type is user,this is required"`
|
Username string `json:"username" required:"true" help:"login type is user,this is required"`
|
||||||
|
@ -25,8 +25,8 @@ type ExpertAddition struct {
|
||||||
// 签名方法1
|
// 签名方法1
|
||||||
Algorithms string `json:"algorithms" required:"true" help:"sign type is algorithms,this is required" default:"HPxr4BVygTQVtQkIMwQH33ywbgYG5l4JoR,GzhNkZ8pOBsCY+7,v+l0ImTpG7c7/,e5ztohgVXNP,t,EbXUWyVVqQbQX39Mbjn2geok3/0WEkAVxeqhtx857++kjJiRheP8l77gO,o7dvYgbRMOpHXxCs,6MW8TD8DphmakaxCqVrfv7NReRRN7ck3KLnXBculD58MvxjFRqT+,kmo0HxCKVfmxoZswLB4bVA/dwqbVAYghSb,j,4scKJNdd7F27Hv7tbt"`
|
Algorithms string `json:"algorithms" required:"true" help:"sign type is algorithms,this is required" default:"HPxr4BVygTQVtQkIMwQH33ywbgYG5l4JoR,GzhNkZ8pOBsCY+7,v+l0ImTpG7c7/,e5ztohgVXNP,t,EbXUWyVVqQbQX39Mbjn2geok3/0WEkAVxeqhtx857++kjJiRheP8l77gO,o7dvYgbRMOpHXxCs,6MW8TD8DphmakaxCqVrfv7NReRRN7ck3KLnXBculD58MvxjFRqT+,kmo0HxCKVfmxoZswLB4bVA/dwqbVAYghSb,j,4scKJNdd7F27Hv7tbt"`
|
||||||
// 签名方法2
|
// 签名方法2
|
||||||
CaptchaSign string `json:"captcha_sign" required:"true" help:"sign type is capcha_sign,this is required"`
|
CaptchaSign string `json:"captcha_sign" required:"true" help:"sign type is captcha_sign,this is required"`
|
||||||
Timestamp string `json:"timestamp" required:"true" help:"sign type is capcha_sign,this is required"`
|
Timestamp string `json:"timestamp" required:"true" help:"sign type is captcha_sign,this is required"`
|
||||||
|
|
||||||
// 验证码
|
// 验证码
|
||||||
CaptchaToken string `json:"captcha_token"`
|
CaptchaToken string `json:"captcha_token"`
|
||||||
|
@ -39,8 +39,8 @@ type ExpertAddition struct {
|
||||||
PackageName string `json:"package_name" required:"true" default:"com.xunlei.downloadprovider"`
|
PackageName string `json:"package_name" required:"true" default:"com.xunlei.downloadprovider"`
|
||||||
|
|
||||||
//不影响登录,影响下载速度
|
//不影响登录,影响下载速度
|
||||||
UserAgent string `json:"user_agent" required:"true" default:"ANDROID-com.xunlei.downloadprovider/7.51.0.8196 netWorkType/4G appid/40 deviceName/Xiaomi_M2004j7ac deviceModel/M2004J7AC OSVersion/12 protocolVersion/301 platformVersion/10 sdkVersion/220200 Oauth2Client/0.9 (Linux 4_14_186-perf-gdcf98eab238b) (JAVA 0)"`
|
UserAgent string `json:"user_agent" required:"true" default:"ANDROID-com.xunlei.downloadprovider/7.51.0.8196 netWorkType/4G appid/40 deviceName/Xiaomi_M2004j7ac deviceModel/M2004J7AC OSVersion/12 protocolVersion/301 platformVersion/10 sdkVersion/220200 Oauth2Client/0.9 (Linux 4_14_186-perf-gdcf98eab238b) (JAVA 0)"`
|
||||||
DownUserAgent string `json:"down_user_agent" required:"true" default:"Dalvik/2.1.0 (Linux; U; Android 12; M2004J7AC Build/SP1A.210812.016)"`
|
DownloadUserAgent string `json:"download_user_agent" required:"true" default:"Dalvik/2.1.0 (Linux; U; Android 12; M2004J7AC Build/SP1A.210812.016)"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// 登录特征,用于判断是否重新登录
|
// 登录特征,用于判断是否重新登录
|
||||||
|
@ -52,7 +52,7 @@ func (i *ExpertAddition) GetIdentity() string {
|
||||||
hash.Write([]byte(i.Username + i.Password))
|
hash.Write([]byte(i.Username + i.Password))
|
||||||
}
|
}
|
||||||
|
|
||||||
if i.SignType == "capcha_sign" {
|
if i.SignType == "captcha_sign" {
|
||||||
hash.Write([]byte(i.CaptchaSign + i.Timestamp))
|
hash.Write([]byte(i.CaptchaSign + i.Timestamp))
|
||||||
} else {
|
} else {
|
||||||
hash.Write([]byte(i.Algorithms))
|
hash.Write([]byte(i.Algorithms))
|
||||||
|
|
|
@ -45,13 +45,13 @@ type Common struct {
|
||||||
Timestamp, CaptchaSign string
|
Timestamp, CaptchaSign string
|
||||||
|
|
||||||
// 必要值,签名相关
|
// 必要值,签名相关
|
||||||
DeviceID string
|
DeviceID string
|
||||||
ClientID string
|
ClientID string
|
||||||
ClientSecret string
|
ClientSecret string
|
||||||
ClientVersion string
|
ClientVersion string
|
||||||
PackageName string
|
PackageName string
|
||||||
UserAgent string
|
UserAgent string
|
||||||
DownUserAgent string
|
DownloadUserAgent string
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Common) SetCaptchaToken(captchaToken string) {
|
func (c *Common) SetCaptchaToken(captchaToken string) {
|
||||||
|
|
Loading…
Reference in New Issue