请确认以下事项
OpenList 版本(必填)
v4.2.1(有bug) v4.1.10(无bug) f542187 (无bug) 5d9fc83 (有bug)
使用的存储驱动(必填)
115
问题描述(必填)
从v4.1.10升级到v4.2.1后,通过Filebar/SenPlayer/EplayerX -> emby -> openlist strm -> 115播放视频报错,回退回v4.1.10恢复可播。询问copilot及排查下,定位到#2068 这个PR之后出现的问题,前一个PR #2034 正常播放。
具体情况:
strm文件内的链接https://openlistxxx/d/115/media/xxx.mp4可直接下载,可浏览器隐私模式未登录下载
可通过openlist webUI在线播放视频
emby网页端可在线播放视频
Filebar可播放部分视频,另一部分停在缓冲UI;
SenPlayer全部无法播放,提示Server return 5XX Server Error reply;
EplayerX全部无法播放,提示服务端错误
fix(115_share): adjust 115 share driver for official API update #2068 起的镜像无法播放,前一个commit fix(drivers/teldrive): enhance file listing and upload functionality with pagination and random chunk naming #2034 及之前的镜像可以播放
由于openlist DEBUG模式也看不到原始请求头,我无法进一步判断Filebar/SenPlayer/EplayerX发出的请求与浏览器下载/emby网页端有什么区别
使用镜像:
[有bug] openlistteam/openlist:v4.2.1-aio
[无bug] openlistteam/openlist:v4.1.10-aio
[有bug][#2068 ][镜像来源] openlistteam/openlist@sha256:15e5a93668e567e9b7dc5b5a91871e40cd90c3058a66741a2d5bfbd954c7e39b
[无bug][#2034 ][镜像来源] openlistteam/openlist@sha256:c40f845cfa40142c57690ddf2df8a3b884583599140c7154948a6acc1579ff3f
copilot的判断我不是很认同,其认为 #2068 :
- func (d *Pan115) DownloadWithUA(pickCode, ua string) (*driver115.DownloadInfo, error) {
- ...
- req.Header.Set("Cookie", d.Cookie)
- ...
}
// 被替换为:
+ downloadInfo, err := d.client.DownloadWithUA(file.(*FileObj).PickCode, userAgent)
替换为SDK实现可能某些情况下舍弃了cookie
// internal/net/serve.go L212-226
func ProcessHeader (origin , override http.Header ) http.Header {
result := http.Header {}
// 从客户端请求头中复制
for h , val := range origin {
if utils .SliceContains (conf .SlicesMap [conf .ProxyIgnoreHeaders ], strings .ToLower (h )) {
continue // ⚠️ 关键:这里会过滤掉某些header
}
result [h ] = val
}
// 从驱动返回的header中合并
for h , val := range override {
result [h ] = val
}
return result
}
由于问题比较复杂,我的能力只能探寻到此,希望上述描述能有助于尽快修复相关问题
日志(必填)
[有bug][#2068 ][镜像来源]
2026/04/11 ██████ /home/runner/work/OpenList/OpenList/internal/db/settingitem.go:20
[0.228ms] [rows:1] SELECT * FROM `x_setting_items` WHERE `key` = "forward_direct_link_params" ORDER BY `x_setting_items`.`key` LIMIT 1
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/net/serve.go:256 github.com/OpenListTeam/OpenList/v4/internal/net.RequestHttp() {"status":403,"request_id":"██████████","message":"no cookie value"}
ERRO[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/server/common/common.go:51 github.com/OpenListTeam/OpenList/v4/server/common.ErrorPage() http request [https://cdnfhnfile.115cdn.net/██████/██████.mp4?t=███&u=███&s=███&d=███&c=██&f=██&k=███&us=███&uc=███&v=███] failure,status: 403|Forbidden response:{"status":403,"request_id":"██████","message":"no cookie value"}
[GIN] 2026/04/11 - ██████ | 403 | 7.224676795s | 172.17.0.1 | GET "/d/115/media/████████.mp4"
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/fs.go:134 github.com/OpenListTeam/OpenList/v4/internal/op.Get() op.Get /media/████████.mp4
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/net/serve.go:256 github.com/OpenListTeam/OpenList/v4/internal/net.RequestHttp() {"request_id":"████████","message":"no cookie value","status":403}
ERRO[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/server/common/common.go:51 github.com/OpenListTeam/OpenList/v4/server/common.ErrorPage() http request [https://cdnfhnfile.115cdn.net/██████/██████.mp4?t=███&u=███&s=███&d=███&c=██&f=██&k=███&us=███&uc=███&v=███] failure,status: 403|Forbidden response:{"request_id":"████████","message":"no cookie value","status":403}
[GIN] 2026/04/11 - ██████ | 403 | 396.387594ms | 172.17.0.1 | GET "/d/115/media/████████.mp4"
[无bug][#2034 ][镜像来源]
2026/04/11 ██████ /home/runner/work/OpenList/OpenList/internal/db/settingitem.go:20
[0.179ms] [rows:1] SELECT * FROM `x_setting_items` WHERE `key` = "forward_direct_link_params" ORDER BY `x_setting_items`.`key` LIMIT 1
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
DEBU[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/internal/op/path.go:27 github.com/OpenListTeam/OpenList/v4/internal/op.GetStorageAndActualPath() use storage: /115
ERRO[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/server/handles/down.go:149 github.com/OpenListTeam/OpenList/v4/server/handles.proxy() GET /d/115/media/████████.mp4 local proxy error: context canceled
[GIN] 2026/04/11 - ██████ | 200 | 7.571571497s | 172.17.0.1 | GET "/d/115/████████.mp4"
ERRO[2026-04-11 ██████]/home/runner/work/OpenList/OpenList/server/handles/down.go:149 github.com/OpenListTeam/OpenList/v4/server/handles.proxy() GET /d/115/media/████████.mp4 local proxy error: context canceled
[GIN] 2026/04/11 - ██████ | 206 | 7.177572539s | 172.17.0.1 | GET "/d/115/media/████████.mp4"
Filebar可播放部分视频,另一部分停在缓冲UI;
SenPlayer全部无法播放,提示Server return 5XX Server Error reply;
EplayerX全部无法播放,提示服务端错误
配置文件内容(必填)
docker-compose
services :
openlist :
image : openlistteam/openlist@sha256:15e5a93668e567e9b7dc5b5a91871e40cd90c3058a66741a2d5bfbd954c7e39b # 2068
user : ' 0:0'
ports :
- 5244:5244
- 5246:5246
environment :
- TZ=Asia/Shanghai
- http_proxy=http://mydomain:7890
- https_proxy=http://mydomain:7890
- all_proxy=http://mydomain:7890
- no_proxy=localhost,127.0.0.1
volumes :
- /media:/media
command : sh -c './openlist server --debug'
115驱动:本机代理✔网页代理✔
strm驱动:本机代理✔编码路径✔除去URL❌携带签名❌保存strm到本地✔
设置 -> 全局 -> 签名所有❌
复现链接(可选)
No response
请确认以下事项
我已确认阅读并同意 AGPL-3.0 第15条 。
本程序不提供任何明示或暗示的担保,使用风险由您自行承担。
我已确认阅读并同意 AGPL-3.0 第16条 。
无论何种情况,版权持有人或其他分发者均不对使用本程序所造成的任何损失承担责任。
我确认我的描述清晰,语法礼貌,能帮助开发者快速定位问题,并符合社区规则。
我已确认阅读了OpenList文档。
我已确认没有重复的问题或讨论。
我已确认是
OpenList的问题,而不是其他原因(例如 网络 ,依赖或操作)。我认为此问题必须由
OpenList处理,而非第三方。我已确认这个问题在最新版本中没有被修复。
我没有阅读这个清单,只是闭眼选中了所有的复选框,请关闭这个 Issue 。
OpenList 版本(必填)
v4.2.1(有bug) v4.1.10(无bug) f542187(无bug) 5d9fc83(有bug)
使用的存储驱动(必填)
115
问题描述(必填)
从v4.1.10升级到v4.2.1后,通过Filebar/SenPlayer/EplayerX -> emby -> openlist strm -> 115播放视频报错,回退回v4.1.10恢复可播。询问copilot及排查下,定位到#2068 这个PR之后出现的问题,前一个PR #2034 正常播放。
具体情况:
https://openlistxxx/d/115/media/xxx.mp4可直接下载,可浏览器隐私模式未登录下载SenPlayer全部无法播放,提示
Server return 5XX Server Error reply;EplayerX全部无法播放,提示服务端错误
由于openlist DEBUG模式也看不到原始请求头,我无法进一步判断Filebar/SenPlayer/EplayerX发出的请求与浏览器下载/emby网页端有什么区别
使用镜像:
[有bug] openlistteam/openlist:v4.2.1-aio
[无bug] openlistteam/openlist:v4.1.10-aio
[有bug][#2068][镜像来源] openlistteam/openlist@sha256:15e5a93668e567e9b7dc5b5a91871e40cd90c3058a66741a2d5bfbd954c7e39b
[无bug][#2034][镜像来源] openlistteam/openlist@sha256:c40f845cfa40142c57690ddf2df8a3b884583599140c7154948a6acc1579ff3f
copilot的判断我不是很认同,其认为 #2068:
替换为SDK实现可能某些情况下舍弃了cookie
由于问题比较复杂,我的能力只能探寻到此,希望上述描述能有助于尽快修复相关问题
日志(必填)
[有bug][#2068][镜像来源]
[无bug][#2034][镜像来源]
Filebar可播放部分视频,另一部分停在缓冲UI;
SenPlayer全部无法播放,提示
Server return 5XX Server Error reply;EplayerX全部无法播放,提示服务端错误
配置文件内容(必填)
docker-compose
115驱动:本机代理✔网页代理✔
strm驱动:本机代理✔编码路径✔除去URL❌携带签名❌保存strm到本地✔
设置 -> 全局 -> 签名所有❌
复现链接(可选)
No response