release: 0.11.4-sulkta.1 — soft-fail sig + iOS-first default order

Smoke-tested against current YT player c2f7551f (May 2026):

  test ios_player_returns_streams ........... ok
  test default_client_order_returns_streams . ok  (audio Range-GET 206 Partial Content, 1024 bytes)
  test tv_player_returns_streams ............ ok (or env-skipped on IP-banned egress)

Fork changes since upstream v0.11.4:
- client::ClientType::needs_deobf: skip player.js deobf for Android too
- client::player::player_client_order: prefer iOS first (no botguard),
  iOS/Android/Tv/Desktop (with botguard)
- deobfuscate::DeobfData::extract_fns: soft-fail sig_fn/nsig_fn extraction
  so Tv/Desktop callers keep working when YT rotates player.js to a shape
  our regex doesn't recognise — only the load-bearing sig_timestamp is
  required for the request payload
- tests/sulkta_smoke.rs: end-to-end sanity covering iOS, Tv, default-order
  and a Range-GET probe to confirm YT actually serves the audio bytes
This commit is contained in:
Kayos 2026-05-24 11:57:46 -07:00
parent 947f67834a
commit 84bb666bb2
2 changed files with 27 additions and 12 deletions

View file

@ -1,6 +1,6 @@
[package]
name = "rustypipe"
version = "0.11.4"
version = "0.11.4-sulkta.1"
rust-version = "1.67.1"
edition.workspace = true
authors.workspace = true