Skip to content

[BUG] 光鸭云盘(GuangYaPan) 302 直链被签发为限速档 ms=1024,实测 4KB/s,同一文件客户端直链 21MB/s #3328

Open

Description

@wibi8bo

请确认以下事项

  • 我已确认阅读并同意 AGPL-3.0 第15条 。
    本程序不提供任何明示或暗示的担保,使用风险由您自行承担。

  • 我已确认阅读并同意 AGPL-3.0 第16条 。
    无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。

  • 我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。

  • 我已确认阅读了OpenList文档。

  • 我已确认没有重复的问题或讨论。

  • 我已确认是OpenList的问题,而不是其他原因(例如 网络 ,依赖或操作)。

  • 我认为此问题必须由OpenList处理,而非第三方。

  • 我已确认这个问题在最新版本中没有被修复。

  • 我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。

OpenList 版本(必填)

v4.2.9(Commit 见官网最新 release,前端 v4.2.9)

使用的存储驱动(必填)

光鸭云盘(GuangYaPan)

问题描述(必填)

现象

光鸭云盘存储,WebDAV 策略为 302 重定向(proxy 关闭,流量确实不经过 OpenList 服务器),302 的 Location 也确认是光鸭的直链 hwbj0x-httpdown.guangyacdn.com/download/?fid=...,但实际下载速度只有 4 KB/s 左右。

同一个文件,用光鸭官方客户端「生成直链」得到的链接下载,速度 21 MB/s。两条链接最终落点是同一个 CDN 节点、同一个对象。

实测对比(同一台机器、同一时刻,Range: 0-20MB,8 秒超时)

链接来源 结果
OpenList 302 的 Location 4093 B/s(8 秒只拿到 32768 字节)
光鸭客户端生成的直链(6uri.cn/... 短链) 21493225 B/s(20MB 用时约 1 秒)

两条链的核心首部一致,可以确认是同一个对象、同一个节点,只有签名参数不同:

  • 浏览器/客户端下载响应均为 HTTP/2 200、server: nginx、content-type: video/x-matroska
  • 同一文件:etag: "045ca630971e9c7655efb3fbb11a66da"、x-obs-meta-gcid: E785DE78D99ADCD5C95B2E4B9CA318226B4E63761AB8CD67

客户端直链的跳转链

https://6uri.cn/aeWfOAh3mcEVHMdR/1963155331690491944
  → 307  https://dlink.guangyacdn.com/nd.bizuserres.s/v1/direct_link/aeWfOAh3mcEVHMdR/1963155331690491944?p=...
  → 307  https://hwbj02-httpdown.guangyacdn.com/download/?...&ms=104857600&th=104857600&threshold=102400&...

OpenList 驱动拿到的链接

驱动 Link() 调用 /nd.bizuserres.s/v1/get_res_download_url,返回的直链是:

https://hwbj02-httpdown.guangyacdn.com/download/?fid=...&mid=666&threshold=1&...&ms=1024&th=1024&...&ts=...&s=...&at=...

两条链接的差异集中在 ms / th / threshold 三个参数:

参数 OpenList(get_res_download_url) 客户端(direct_link)
ms 1024 104857600
th 1024 104857600
threshold 1 102400

fid、mid、srcid、verno、g、文件大小 f 等参数完全一致。

已做的排除

  1. 不是网络/带宽问题:同一时刻、同一台机器,客户端直链能跑 21 MB/s。
  2. 不是 302 没生效:Location 已是光鸭直链,OpenList 服务器不参与传输。
  3. 不是本地改参数可以绕过:手动把 OpenList 链接的 ms/th 改成 104857600 后请求,服务端直接返回 HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR,说明签名与这几个限速参数绑定。

结论与建议

光鸭对两种取链方式签发了不同限速档位的链接:普通下载接口(get_res_download_url)签发 ms=1024 的低速档,直链分享接口(direct_link)签发 ms=104857600 的高速档。

建议 GuangYaPan 驱动增加一个配置项(例如「使用直链分享通道 / Direct Link」),在需要高速直链时改用 /nd.bizuserres.s/v1/direct_link/...(或等价接口)取链;或者至少在该驱动的文档中说明 302 直链会被限速、需要开启会员直链权益。

日志(必填)

$ curl -L -o /dev/null --max-time 8 -r 0-20971519 -w "speed=%{speed_download} B/s\n" \
  "https://hwbj02-httpdown.guangyacdn.com/download/?...&ms=1024&th=1024&threshold=1&..."
curl: (28) Operation timed out after 8004 milliseconds with 32768 out of 20971520 bytes received
speed=4093 B/s

$ curl -L -o /dev/null --max-time 8 -r 0-20971519 -w "speed=%{speed_download} B/s\n" \
  "https://6uri.cn/aeWfOAh3mcEVHMdR/1963155331690491944"
speed=21493225 B/s

$ curl -sS -D - -o /dev/null -r 0-0 "<OpenList 直链>"
HTTP/2 200
server: nginx
content-type: video/x-matroska
content-disposition: attachment; filename="Marry.My.Dead.Body.2022.2160p.2Audio.WEB-DL.HEVC.DDP5.1-Q66.mkv"
accept-ranges: bytes
etag: "045ca630971e9c7655efb3fbb11a66da"

$ curl -sS -I -L "https://6uri.cn/aeWfOAh3mcEVHMdR/1963155331690491944"
HTTP/2 307
location: https://dlink.guangyacdn.com/nd.bizuserres.s/v1/direct_link/aeWfOAh3mcEVHMdR/1963155331690491944?p=...
HTTP/2 307
location: https://hwbj02-httpdown.guangyacdn.com/download/?...&ms=104857600&th=104857600&threshold=102400&...

配置文件内容(必填)

存储配置(敏感字段已脱敏):

  • 驱动:GuangYaPan(光鸭云盘)
  • 挂载路径:/光鸭
  • WebDAV 策略:302 重定向,未开启 proxy
  • Client ID / Phone Number / Access Token / Refresh Token:已脱敏
  • Device ID / Device Sign:留空(由驱动自动生成 wdi10.<随机32位>)
  • Page Size 100、Order By 3、Sort Type 1(默认值)

OpenList config.json 其余均为默认值,last_launched_version 为 v4.2.9。

复现链接(可选)

两条链接均为临时签名链接,可能已过期,仅作参数对比用:

  • OpenList 302 直链(低速档,ms=1024&th=1024&threshold=1):
https://hwbj02-httpdown.guangyacdn.com/download/?fid=UIZcJnT7wEMv05utqyRjQ627FYTFEsEJAwAAAKtFpmeps6c5DCmLkgcRWgovMtZ0&mid=666&threshold=1&tid=9D3DBC6E2A7E6D5A955A4D8AE6ED370A&srcid=0&verno=2&ms=1024&th=1024&p=KicWL6p18pBfqtTFhy6AefXgM-Bhb9OA5AgB1_b0F0Y_usnA_ndKZHY8sY13rvOb1hUx4tgJ9RlzvjI4jzuT6Nc-YFdhPkNhBjK3oJFosfPuSkWcRmiJqKDUGCxtsZpq5S164idYX1B5SAzfg4geXiqNinMMzbdnCLMGZ239e-HRCOvEU-1QYAFyNPpDivB2-DFDEA_caBUzbRkJTyN11Oud1ePAYSFRrtRbKXy_0On2xPWB_6AAngk8SoMgnIDmWni0VWZhlnlhNLciZWNAIOmXckjexgYXwohTY_vDm-yJYLZ9z674l_mlstbF&g=AB45A667A9B3A7390C298B9207115A0A2F32D674&f=13048550085&ts=1793348343&s=3ff514e278c9322&at=BE2F22F76EBBDBFBE7CBDE060DA1716E
  • 光鸭客户端直链(高速档,ms=104857600):https://6uri.cn/aeWfOAh3mcEVHMdR/1963155331690491944

AI生成内容

  • 我使用了AI工具生成此内容
  • 我没有使用AI工具生成此内容

AI模型是

DeepSeek-V4.1-Flash

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions