chore: scrub internal references and tighten README
URLs → git.sulkta.com. Audit-ticket prefixes (SPEC §N, audit Track X, vc=N audit-fix, FIX (audit ...), PORT DEVIATION) stripped from comments — technical reasoning retained. Crafting-table LAN refs softened to 'Sulkta build host'. README sheds marketing scaffolding + stale status tables.
This commit is contained in:
parent
0ffa140af5
commit
0a45e0a0cc
23 changed files with 80 additions and 106 deletions
21
README.md
21
README.md
|
|
@ -2,26 +2,7 @@
|
|||
|
||||
Rust port of [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) (v0.26.2), YouTube-only. Plugs into [Straw](https://git.sulkta.com/Sulkta-OSS/straw) via UniFFI.
|
||||
|
||||
## Why this exists
|
||||
|
||||
`rustypipe` regex-parses YouTube's `player.js` and reimplements the signature deobfuscator in Rust. Every YT player rotation breaks it. NPE embeds Mozilla Rhino and executes the JS function live — resilient by design, and that's the architecture we're mirroring.
|
||||
|
||||
The rustypipe-backed Straw build (vc=15..17) also routed playback through iOS-progressive URLs, which hit a server-side ~917 KiB end-byte cap. NPE uses the Android client + po_token → DASH manifest path, which doesn't see the cap. Same fix, different layer.
|
||||
|
||||
See `memory/npe-audit-2026-05-24/SPEC.md` in the workspace repo for the full plan.
|
||||
|
||||
## Status
|
||||
|
||||
| Phase | Subsystem | Status |
|
||||
|---|---|---|
|
||||
| 1 | Foundation (downloader + service spine) | **in progress** |
|
||||
| 2 | JS engine (rquickjs + ress) | pending |
|
||||
| 3 | InnerTube + itag table | pending |
|
||||
| 4 | Stream extractor + DASH | pending |
|
||||
| 5 | PoTokenProvider trait + Android JNI bridge | pending |
|
||||
| 6 | Search + Channel + Playlist + Kiosks | pending |
|
||||
| 7 | UniFFI surface swap | pending |
|
||||
| 8 | Delete rustypipe everywhere | pending |
|
||||
`rustypipe` regex-parses YouTube's `player.js` and reimplements the signature deobfuscator in Rust — every YT player rotation breaks it. NPE embeds a JS engine and executes the function live, which survives rotations. strawcore mirrors that architecture on QuickJS via rquickjs.
|
||||
|
||||
## Build + test
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue