@@ -79,6 +79,12 @@ func (d *BaiduNetdisk) request(furl string, method string, callback base.ReqCall
7979 return retry .Unrecoverable (err2 )
8080 }
8181 }
82+
83+ if 31023 == errno && d .DownloadAPI == "crack_video" {
84+ result = res .Body ()
85+ return nil
86+ }
87+
8288 return fmt .Errorf ("req: [%s] ,errno: %d, refer to https://pan.baidu.com/union/doc/" , furl , errno )
8389 }
8490 result = res .Body ()
@@ -131,7 +137,16 @@ func (d *BaiduNetdisk) getFiles(dir string) ([]File, error) {
131137 if len (resp .List ) == 0 {
132138 break
133139 }
134- res = append (res , resp .List ... )
140+
141+ if d .OnlyListVideoFile {
142+ for _ , file := range resp .List {
143+ if file .Isdir == 1 || file .Category == 1 {
144+ res = append (res , file )
145+ }
146+ }
147+ } else {
148+ res = append (res , resp .List ... )
149+ }
135150 }
136151 return res , nil
137152}
@@ -187,6 +202,34 @@ func (d *BaiduNetdisk) linkCrack(file model.Obj, _ model.LinkArgs) (*model.Link,
187202 }, nil
188203}
189204
205+ func (d * BaiduNetdisk ) linkCrackVideo (file model.Obj , _ model.LinkArgs ) (* model.Link , error ) {
206+ param := map [string ]string {
207+ "type" : "VideoURL" ,
208+ "path" : fmt .Sprintf ("%s" , file .GetPath ()),
209+ "fs_id" : file .GetID (),
210+ "devuid" : "0%1" ,
211+ "clienttype" : "1" ,
212+ "channel" : "android_15_25010PN30C_bd-netdisk_1523a" ,
213+ "nom3u8" : "1" ,
214+ "dlink" : "1" ,
215+ "media" : "1" ,
216+ "origin" : "dlna" ,
217+ }
218+ resp , err := d .request ("https://pan.baidu.com/api/mediainfo" , http .MethodGet , func (req * resty.Request ) {
219+ req .SetQueryParams (param )
220+ }, nil )
221+ if err != nil {
222+ return nil , err
223+ }
224+
225+ return & model.Link {
226+ URL : utils .Json .Get (resp , "info" , "dlink" ).ToString (),
227+ Header : http.Header {
228+ "User-Agent" : []string {d .CustomCrackUA },
229+ },
230+ }, nil
231+ }
232+
190233func (d * BaiduNetdisk ) manage (opera string , filelist any ) ([]byte , error ) {
191234 params := map [string ]string {
192235 "method" : "filemanager" ,
0 commit comments