AlistGo / alist

🗂️A file list/WebDAV program that supports multiple storages, powered by Gin and Solidjs. / 一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。
https://alist.nn.ci
GNU Affero General Public License v3.0
44.21k stars 5.73k forks source link

pikpak无法正常显示图片或播放视频 #7207

Open roymecat opened 2 months ago

roymecat commented 2 months ago

Please make sure of the following things

AList Version / AList 版本

v3.37.3

Driver used / 使用的存储驱动

pikpak

Describe the bug / 问题描述

如题,在挂载pikpak后能够正常获取账户内存储的文件,但如果尝试播放其中的视频文件、查看图片文件亦或是编辑txt文档时就会报错 IMG_0886 IMG_0887 IMG_0888 IMG_0889

经测试,从pikpak客户端获取的文件可以正常下载,而alist获取则会提示404 以下是同一文件分别从pikpak客户端获取到的下载链接与alist获取的链接对比: Url1(pikpak客户端): https://dl-a04-3770.mypikpak.net/download/?fid=5_e5W0OkXc-wxxjM2tuIo8zVJqD4Se8lIyGxDe70US10Az-PZWgm4kdO-4qXviPYx-OUquZhT553vhfP6-GGwmDoZzT-vUu_tJ2oJhKlEDU=&from=5&verno=3&prod=pikpak&expire=1726666033&g=17E29F52DA3C020A4BB36BC6972552200C5794F3&ui=YpmSs-7z7x68mS12&t=0&ms=5662310&th=5662310&f=1914935080&alt=0&us=0&hspu=&po=0&fileid=VO6v6YaJ95VTTYFrZss99nbto1&userid=YpmSs-7z7x68mS12&pr=XQPkPvr9WWiIuMvELmrVev4nb18FZYW16G-fzRiELwkXeh-yGZDz9uxLOlm9o6GIOinnhy9-af2xuIdMf3_8Autklp32B6ieCTbp1u8ugi0Q8CzS2my0gPKVIk5mTHq2yJBs8AAfjV0IfzYbxHcEk8hlyg0Tp6GNknsW4IJt9rEqSCoIlauDWQFzS0B19PLC_mD2oM1aDLzCDy4_P4Wl1yYKjhAHWeMmEyqOTChV0YliQy4AbRKLAz9Y-BeX_Hysso8UD4gXQK3CfRDnPeBHnkFfM622IaPclKwiG5Pcv-vWgBhPcsoFykzwvHyTDwDUophfCT66tHayUG940bW0LnUR6yq7tEczBeXfPHasfl8wB7MlOaFbVLA_gTwsNWQfQdIpXOaN2gyFC8-hwJS_ig==&sign=D43C8793C1D9A13F547FE55BF7FB1E55

Url2(alist获取):https://dl-a04-3765.mypikpak.net/download/?fid=5_e5W0OkXc-wxxjM2tuIo8zVJqD4Se8lIyGxDe70US10Az-PZWgm4kdO-4qXviPYx-OUquZhT553vhfP6-GGwmDoZzT-vUu_tJ2oJhKlEDU=&from=5&verno=3&prod=pikpak&expire=1726667090&g=17E29F52DA3C020A4BB36BC6972552200C5794F3&ui=YpmSs-7z7x68mS12&t=0&ms=102400&th=0&f=1914935080&alt=0&us=0&hspu=&po=0&fileid=VO6v6YaJ95VTTYFrZss99nbto1&userid=YpmSs-7z7x68mS12&pr=XQPkPvr9WWiIuMvELmrVev4nb18FZYW16G-fzRiELwkXeh-yGZDz9uxLOlm9o6GIOinnhy9-af2xuIdMf3_8Autklp32B6ieCTbp1u8ugi0Q8CzS2my0gPKVIk5mTHq2vVltOqGKlR7xz8TkBhX9dA2uLCuOvyya3Ln-jtIDqB1MWhvnS1zK0teyNCa0C7RQpiJyGrPUC0R8Khk-qaSvK2hj8lS6Q99jarsahio03mOVI1LUokPOR2ZP5P-sYTBdeoAXxzOODCVRGzL6q0pH0QQMkp49woSiBvhnWjxAl9NXb2NIGdNVfHv5IMQDDorQQo54uZInB88MGXxymcdTCp60duDOstLyC8xd8Ulo-OuqwThaBrAx7Zi8Cdj1ckI3rxgLn3O2CzHGOnmbQyq5L60-lB3mz9d5ie2tmew0Spc=&sign=AD107B48634B85D9F36F4A093764673B%0A 对比可发现th值和pr值不同

Reproduction / 复现链接

https://dl-a04-3765.mypikpak.net/download/?fid=5_e5W0OkXc-wxxjM2tuIo8zVJqD4Se8lIyGxDe70US10Az-PZWgm4kdO-4qXviPYx-OUquZhT553vhfP6-GGwmDoZzT-vUu_tJ2oJhKlEDU=&from=5&verno=3&prod=pikpak&expire=1726667090&g=17E29F52DA3C020A4BB36BC6972552200C5794F3&ui=YpmSs-7z7x68mS12&t=0&ms=102400&th=0&f=1914935080&alt=0&us=0&hspu=&po=0&fileid=VO6v6YaJ95VTTYFrZss99nbto1&userid=YpmSs-7z7x68mS12&pr=XQPkPvr9WWiIuMvELmrVev4nb18FZYW16G-fzRiELwkXeh-yGZDz9uxLOlm9o6GIOinnhy9-af2xuIdMf3_8Autklp32B6ieCTbp1u8ugi0Q8CzS2my0gPKVIk5mTHq2vVltOqGKlR7xz8TkBhX9dA2uLCuOvyya3Ln-jtIDqB1MWhvnS1zK0teyNCa0C7RQpiJyGrPUC0R8Khk-qaSvK2hj8lS6Q99jarsahio03mOVI1LUokPOR2ZP5P-sYTBdeoAXxzOODCVRGzL6q0pH0QQMkp49woSiBvhnWjxAl9NXb2NIGdNVfHv5IMQDDorQQo54uZInB88MGXxymcdTCp60duDOstLyC8xd8Ulo-OuqwThaBrAx7Zi8Cdj1ckI3rxgLn3O2CzHGOnmbQyq5L60-lB3mz9d5ie2tmew0Spc=&sign=AD107B48634B85D9F36F4A093764673B%0A

Config / 配置

{ "force": false, "site_url": "", "cdn": "", "jwt_secret": "", "token_expires_in": 48, "database": { "type": "sqlite3", "host": "", "port": 0, "user": "", "password": "", "name": "", "db_file": "data/data.db", "tableprefix": "x", "ssl_mode": "", "dsn": "" }, "meilisearch": { "host": "http://localhost:7700", "api_key": "", "index_prefix": "" }, "scheme": { "address": "0.0.0.0", "http_port": 10000, "https_port": -1, "force_https": false, "cert_file": "", "key_file": "", "unix_file": "", "unix_file_perm": "" }, "temp_dir": "data/temp", "bleve_dir": "data/bleve", "dist_dir": "", "log": { "enable": true, "name": "data/log/log.log", "max_size": 50, "max_backups": 30, "max_age": 28, "compress": false }, "delayed_start": 0, "max_connections": 0, "tls_insecure_skip_verify": true, "tasks": { "download": { "workers": 5, "max_retry": 1, "task_persistant": true }, "transfer": { "workers": 5, "max_retry": 2, "task_persistant": true }, "upload": { "workers": 5, "max_retry": 0, "task_persistant": false }, "copy": { "workers": 5, "max_retry": 2, "task_persistant": true } }, "cors": { "allow_origins": [ "" ], "allow_methods": [ "" ], "allow_headers": [ "*" ] }, "s3": { "enable": false, "port": 5246, "ssl": false }

Logs / 日志

No response

welcome[bot] commented 2 months ago

Thanks for opening your first issue here! Be sure to follow the issue template!

roymecat commented 2 months ago

补充一点个人的瞎猜测(纯小白不会go语言),但大概看了下是先调用getfiles向服务器请求文件ID与路径,再根据文件id与路径和预设的Dladdr地址组合再发http request得到下载链接,而上文中得到的两个URL中fileid与userid值是相同的,猜测可能是UA版本问题导致获取到的pr和th值不同