Public-flip audit: scrub audit-ticket prefixes + LAN refs + 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
75bc7dc6bf
commit
c8dfc8a34a
24 changed files with 82 additions and 108 deletions
23
README.md
23
README.md
|
|
@ -1,27 +1,8 @@
|
|||
# strawcore
|
||||
|
||||
Rust port of [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) (v0.26.2), YouTube-only. Plugs into [Straw](http://192.168.0.5:3001/Sulkta-Coop/straw) via UniFFI.
|
||||
Rust port of [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) (v0.26.2), YouTube-only. Plugs into [Straw](https://git.sulkta.com/Sulkta-Coop/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