Rust port of NewPipeExtractor (YT-only). Plugs into Straw via UniFFI.
Find a file
kayos a7b06de629
All checks were successful
gitleaks / scan (push) Successful in 15s
ci: add gitleaks workflow (Sulkta canonical)
2026-05-27 22:15:00 -07:00
.forgejo/workflows ci: add gitleaks workflow (Sulkta canonical) 2026-05-27 22:15:00 -07:00
src Public-flip audit: scrub audit-ticket prefixes + LAN refs + tighten README 2026-05-27 13:29:52 -07:00
tests Public-flip audit: scrub audit-ticket prefixes + LAN refs + tighten README 2026-05-27 13:29:52 -07:00
.gitignore Initial commit 2026-05-24 16:26:57 -07:00
Cargo.lock Rename package to strawcore-core 2026-05-24 17:28:38 -07:00
Cargo.toml Public-flip audit: scrub audit-ticket prefixes + LAN refs + tighten README 2026-05-27 13:29:52 -07:00
LICENSE Initial commit 2026-05-24 16:26:57 -07:00
README.md Public-flip audit: scrub audit-ticket prefixes + LAN refs + tighten README 2026-05-27 13:29:52 -07:00

strawcore

Rust port of NewPipeExtractor (v0.26.2), YouTube-only. Plugs into Straw via UniFFI.

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

cargo build
cargo test --lib                          # offline unit tests
cargo test --features online-tests        # full smoke incl. live httpbin.org

License

GPL-3.0-or-later. NPE is GPL-3.0; this port inherits.