docs(android-spike): Q2 JS-runtime findings + verdict (RISKY)
External JS runtime now a hard yt-dlp dependency (Python jsinterp deprecated for YouTube 2025.11.12); QuickJS-ng via NDK or HLahwani/yt-dlp-android is the path. Also fixes a markdown line starting with '#'. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
d739fd76ee
commit
0021dd7516
2 changed files with 219 additions and 3 deletions
|
|
@ -7,8 +7,8 @@ Each section ends with a verdict: **proven / risky / unsolved**.
|
|||
|
||||
**Verdict: RISKY.** yt-dlp *runs* on-device in shipping apps (Seal, YTDLnis,
|
||||
SealPlus) — proven. But Catacomb's specific need is the asterisk: **`curl_cffi`
|
||||
TLS impersonation is documented broken on Android** (yt-dlp #15505 Jan 2026;
|
||||
#14106 aarch64 Linux), and impersonation is the exact reason Catacomb pins
|
||||
TLS impersonation is documented broken on Android** (yt-dlp issues #15505 Jan
|
||||
2026 and #14106 aarch64 Linux), and impersonation is the exact reason Catacomb pins
|
||||
nightly yt-dlp. The yt-dlp *binary* update story is good — **youtubedl-android**
|
||||
(yausername) exposes `UpdateChannel.NIGHTLY` to pull fresh builds post-install,
|
||||
no app-store release, across all four ABIs. Chaquopy is ruled out: no runtime
|
||||
|
|
@ -22,7 +22,22 @@ update path.
|
|||
|
||||
## Q2 — JS runtime (deno's job)
|
||||
|
||||
_pending_
|
||||
**Verdict: RISKY.** An external JS runtime is now a **hard dependency** —
|
||||
yt-dlp **deprecated its built-in Python jsinterp for YouTube in 2025.11.12**
|
||||
because YouTube's n-sig/PO-token JS exceeds what it can handle, so "no Deno on
|
||||
Android" cannot be sidestepped by the pure-Python path. A concrete on-device
|
||||
path exists: cross-compile **QuickJS-ng** via NDK (arm64-v8a, NDK 26+) and pass
|
||||
`--js-runtimes quickjs:/path/to/qjs`; or use **HLahwani/yt-dlp-android** (May
|
||||
2026), a purpose-built lib already embedding QuickJS via JNI across all four
|
||||
ABIs (~1.6 MB AAR). It's "risky" because this is the live breakage frontier —
|
||||
Seal users have hit 403/missing-format bugs since Jan 2026 on the deprecated
|
||||
path.
|
||||
|
||||
- **Recommended approach:** QuickJS-ng (`--js-runtimes quickjs:...`), or adopt
|
||||
HLahwani/yt-dlp-android which bundles it.
|
||||
- **Note vs Q1:** this newer lib may supersede youtubedl-android as the
|
||||
mechanism since it solves Q1+Q2 together — weigh in synthesis.
|
||||
- Full evidence + sources: `q2-js-runtime-android-report.md`.
|
||||
|
||||
## Q3 — POT / Proof-of-Origin
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue