765a90e808
client: skip player.js deobf for Android + prefer Android-first client order
...
YouTube's Android InnerTube path returns pre-signed stream URLs (no `s=`
cipher param, no `n=` throttling param) just like the iOS path. Mark
Android as deobf-exempt and put it first in the default player client
order so the typical playback path stops fetching player.js entirely.
Avoids the `could not extract sig fn name` failure on YouTube's newer
player.js shapes (eg. c2f7551f).
Desktop stays in the rotation behind botguard for completeness; it
will still try to deobf and may fail, but it's only consulted as a
fallback for botguard-signed sessions now.
2026-05-24 11:50:15 -07:00
a25907b494
docs: porting plan — NPE sig/nsig pipeline + globalVar indirection (M1)
2026-05-24 11:43:20 -07:00
ThetaDev
6035e6db4e
fix: parse channel subscriber/video count correctly
2025-06-18 15:35:47 +02:00
ThetaDev
e7e389a316
feat: add unavailable field for music tracks
...
fix: handling albums with unavailable tracks
2025-06-18 15:34:05 +02:00
ThetaDev
412cd37840
test: fix isrc_search_languages (use quoted query)
2025-06-18 13:25:13 +02:00
ta3pks
71712e4eda
remove unwrap trying to fetch visitor data ( #60 )
...
Co-authored-by: nikos efthias <nikos@mugsoft.io>
Reviewed-on: https://codeberg.org/ThetaDev/rustypipe/pulls/60
Co-authored-by: ta3pks <ta3pks@noreply.codeberg.org>
Co-committed-by: ta3pks <ta3pks@noreply.codeberg.org>
2025-06-17 13:29:52 +02:00
ThetaDev
1f4c9c85b9
chore(release): release rustypipe v0.11.4
2025-04-23 21:30:33 +02:00
ThetaDev
f0477ea3a9
test: add sig deobf test case
2025-04-23 21:29:51 +02:00
ThetaDev
be6da5e7e3
feat: player: handle VPN ban and captcha required error messages
2025-04-23 21:21:23 +02:00
ThetaDev
d675987654
fix: deobfuscator: handle 1-char long global variables, find nsig fn (player 6450230e)
2025-04-23 17:22:22 +02:00
ThetaDev
c6abd89087
test: fix tests
2025-04-18 16:38:44 +02:00
ThetaDev
703f350b6b
chore(release): release rustypipe v0.11.3
2025-04-03 13:39:28 +02:00
ThetaDev
af415ddf8f
chore(deps): update rust crate rand to 0.9.0
2025-04-03 11:08:18 +00:00
ThetaDev
daf3d035be
fix: handle music artist not found
2025-03-31 18:11:14 +02:00
ThetaDev
187bf1c9a0
fix: switch client if no adaptive stream URLs were returned
2025-03-26 02:44:08 +01:00
ThetaDev
ea80717f69
fix: handle music playlist/album not found
2025-03-26 02:35:03 +01:00
ThetaDev
939a7aea61
fix: deobfuscator: handle global functions as well
2025-03-26 02:12:18 +01:00
ThetaDev
47bea4eed2
test: update music_artist_basic snapshot
2025-03-26 01:38:35 +01:00
ThetaDev
189ba81a42
fix: extractor: small simplification
2025-03-26 01:38:12 +01:00
ThetaDev
ac44e95a88
fix: extractor: global variable extraction fixed
2025-03-26 01:20:35 +01:00
ThetaDev
23c8775326
chore(release): release rustypipe v0.11.2
2025-03-24 01:50:53 +01:00
ThetaDev
07db7b1166
fix: handle player returning no adaptive stream URLs
2025-03-24 01:28:07 +01:00
ThetaDev
4ce6746be5
fix: extract deobf data with global strings variable
2025-03-24 01:12:01 +01:00
ThetaDev
e8acbfbbcf
fix: A/B test 22: commandExecutorCommand for playlist continuations
2025-03-16 19:45:14 +01:00
ThetaDev
fcf27aa3b2
chore(release): release rustypipe-cli v0.7.2
2025-03-16 18:20:32 +01:00
ThetaDev
64ed3b14e3
chore(release): release rustypipe v0.11.1
2025-03-16 18:13:55 +01:00
ThetaDev
63a6f50a8b
fix: always skip failed clients
2025-03-16 16:51:43 +01:00
ThetaDev
8342caeb0f
fix: desktop client: generate PO token from user_syncid when authenticated
2025-03-16 01:56:29 +01:00
ThetaDev
c04b60604d
fix: simplify get_player_from_clients logic
2025-03-16 01:24:54 +01:00
ThetaDev
2f18efa1cf
fix: log download URL
2025-03-16 01:21:29 +01:00
ThetaDev
b8f61c9bae
test: skip android client test
2025-03-04 22:50:33 +01:00
ThetaDev
9ed1306f3a
chore(deps): update rust crate rstest to 0.25.0
2025-03-04 22:48:10 +01:00
ThetaDev
6d481c16d0
update smartcrop2 to v0.4.0, remove black borders from album covers
2025-03-04 22:38:01 +01:00
ThetaDev
144a670da1
chore(release): release rustypipe-cli v0.7.1
2025-02-26 19:48:12 +01:00
ThetaDev
035c07f170
chore(deps): update rustypipe to 0.11.0
2025-02-26 19:47:42 +01:00
ThetaDev
9bfd3ee1ba
chore(release): release rustypipe-downloader v0.3.1
2025-02-26 19:45:43 +01:00
ThetaDev
1adcb12932
chore(release): release rustypipe v0.11.0
2025-02-26 19:41:36 +01:00
ThetaDev
e7ef067f43
small doc fix
2025-02-26 19:40:10 +01:00
ThetaDev
f3057b4d63
chore: remove commented-out debug statements
2025-02-26 19:32:46 +01:00
ThetaDev
6737512f5f
fix: A/B test 21: music album recommendations
2025-02-26 15:21:47 +01:00
ThetaDev
544782f8de
feat: add original album track count, fix fetching albums with more than 200 tracks
2025-02-26 15:21:47 +01:00
ThetaDev
83f8652776
ci: disable renovate
2025-02-22 23:02:15 +00:00
ThetaDev
739eac4d1f
test: fix tests
2025-02-18 00:16:09 +01:00
ThetaDev
4d60e64f2c
ci: remove workflow_dispatch trigger
2025-02-09 04:35:30 +01:00
ThetaDev
45d3a9cd33
ci: add CLI release files
2025-02-09 03:57:13 +01:00
ThetaDev
f8a0a253cc
change line in downloader changelog
2025-02-09 03:15:30 +01:00
ThetaDev
8933c6fa2a
chore(release): release rustypipe-cli v0.7.0
2025-02-09 03:14:30 +01:00
ThetaDev
629b5905da
feat: add verbose flag
2025-02-09 03:09:47 +01:00
ThetaDev
26e0c2cb2b
chore(release): release rustypipe-downloader v0.3.0
2025-02-09 02:53:59 +01:00
ThetaDev
fb1b732d56
chore(release): release rustypipe v0.10.0
2025-02-09 02:32:44 +01:00