Files
MemRelay/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/免费集播放后内存里有完整 BunnyCDN m3u8.md
T
memrelay 345079b00a update: 免费集播放后内存里有完整 BunnyCDN m3u8
MemRelay-Operation: memory-save:rapt-cdn-heap-revise-20260925
MemRelay-Resource: 19447a9a-2d0a-42d9-a258-ad9046bd1505
2026-09-25 23:15:12 +08:00

32 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 免费集播放后内存里有完整 BunnyCDN m3u8
type: experience
permalink: main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/免费集播放后内存里有完整-bunny-cdn-m3u8
stable_id: 19447a9a-2d0a-42d9-a258-ad9046bd1505
scope: project
memory_type: experience
project_id: 280dd2a0-d23d-4a71-91e1-dce4353163be
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 2
request_id: rapt-cdn-heap-revise-20260925
created_at: '2026-09-24T22:41:27.398226+00:00'
updated_at: '2026-09-25T15:15:08.390927+00:00'
tags:
- cdn
- playlistv2
- bunnycdn
---
后续更正:66 秒就是完整短视频,不是预览。playlistv2 改用 apasstk 和 JSON 之后,脚本已经能批量拿到免费集地址,不要再按本文末尾去扫堆或拦截 Dio。下面保留当时的抓包现象。
现象:即使 Google 登录后,外部用 Authorization Bearer 和 form 调 /app/video/playlistv2 仍返回 299;但 App 内播放免费集时播放器确实拿到了 CDN 地址。
Flutter 日志 PlayerPage url预览会把签名截成 bcdn_token=HS256...,完整串不在 logcat。用 Frida 16.5.9 扫进程 rw- 堆里的 bcdn_token= 可拿到完整 URL。
URL 形状:https://vz-<pull>.b-cdn.net/bcdn_token=<sig>&token_path=%2F<video-uuid>%2F&expires=<unix>/<video-uuid>/playlist.m3u8
这是 Bunny token authentication 路径前缀。token_path 覆盖该视频目录,同一前缀可访问子播放列表和 ts。
已验证:主播放列表 HTTP 200,指向 1080p/video.m3u8(1082x1920);子列表为 VOD,带 #EXT-X-ENDLIST。
不要把签名本体写进普通记忆。不要再走 mitmproxy transparent、reFlutter、iptables DNAT。