Commit graph

511 commits

Author SHA1 Message Date
ThetaDev
318e789987 test: add sig deobf test case 2025-04-23 21:29:51 +02:00
ThetaDev
883b79c648 feat: player: handle VPN ban and captcha required error messages 2025-04-23 21:21:23 +02:00
ThetaDev
e5c4e086b4 fix: deobfuscator: handle 1-char long global variables, find nsig fn (player 6450230e) 2025-04-23 17:22:22 +02:00
ThetaDev
da47a2cabc chore(deps): update rust crate rand to 0.9.0 2025-04-03 11:08:18 +00:00
ThetaDev
f3beeb2af3 fix: handle music artist not found 2025-03-31 18:11:14 +02:00
ThetaDev
584a397790 fix: switch client if no adaptive stream URLs were returned 2025-03-26 02:44:08 +01:00
ThetaDev
441a5484d2 fix: handle music playlist/album not found 2025-03-26 02:35:03 +01:00
ThetaDev
06550c7a5a fix: deobfuscator: handle global functions as well 2025-03-26 02:12:18 +01:00
ThetaDev
fa9c5d7fdf fix: extractor: small simplification 2025-03-26 01:38:12 +01:00
ThetaDev
e56b2d7701 fix: extractor: global variable extraction fixed 2025-03-26 01:20:35 +01:00
ThetaDev
5c164a2d53 fix: handle player returning no adaptive stream URLs 2025-03-24 01:28:07 +01:00
ThetaDev
bcbf5e87bb fix: extract deobf data with global strings variable 2025-03-24 01:12:01 +01:00
ThetaDev
63daca54da fix: A/B test 22: commandExecutorCommand for playlist continuations 2025-03-16 19:45:14 +01:00
ThetaDev
e313fef4f0 fix: always skip failed clients 2025-03-16 16:51:43 +01:00
ThetaDev
1e1b0cdf45 fix: desktop client: generate PO token from user_syncid when authenticated 2025-03-16 01:56:29 +01:00
ThetaDev
c34227e763 fix: simplify get_player_from_clients logic 2025-03-16 01:24:54 +01:00
ThetaDev
0eab1a4caa small doc fix 2025-02-26 19:40:10 +01:00
ThetaDev
cc82c3e303 chore: remove commented-out debug statements 2025-02-26 19:32:46 +01:00
ThetaDev
58784dbc97 fix: A/B test 21: music album recommendations 2025-02-26 15:21:47 +01:00
ThetaDev
c2459ab525 feat: add original album track count, fix fetching albums with more than 200 tracks 2025-02-26 15:21:47 +01:00
ThetaDev
7a6241535c Revert "refactor!: rename n_http_retries option to n_request_attempts to be less misleading"
This reverts commit c4a0d0feb5.
2025-02-09 02:20:55 +01:00
ThetaDev
061cd8d44e feat: add RustyPipe::version_botguard fn, detect rustypipe-botguard in current dir, add botguard version to report 2025-02-09 01:52:09 +01:00
ThetaDev
dd87134283 fix: only use cached potokens with min. 10min lifetime 2025-02-07 22:01:59 +01:00
ThetaDev
4516dddaeb feat!: add userdata feature for all personal data queries (playback history, subscriptions) 2025-02-07 13:21:12 +01:00
ThetaDev
52b204c2a1 fix: use localzone crate to get local tz 2025-02-07 04:13:44 +01:00
ThetaDev
f344fa43a6 fix: compile error on windows 2025-02-07 04:13:44 +01:00
ThetaDev
d408bf0ff8 fix: correct timezone offset for parsed dates, add timezone_local option 2025-02-07 04:13:44 +01:00
ThetaDev
85a92b1a53 feat: add timezone query option 2025-02-07 04:13:43 +01:00
ThetaDev
6582bf1434 fix iOS client doc 2025-02-07 04:13:39 +01:00
ThetaDev
eff180a080 update visitor data cache docs 2025-02-06 14:14:22 +01:00
ThetaDev
2ce96b14de feat: log failed player fetch attempts with player_from_clients 2025-02-06 14:04:01 +01:00
ThetaDev
533cb92f51 fix: output full request body in reports, clean up get_player_po_token 2025-02-06 03:56:11 +01:00
ThetaDev
c4a0d0feb5 refactor!: rename n_http_retries option to n_request_attempts to be less misleading
the option sets the total number of attempts, not the number of attempts after the first failure
2025-02-06 03:16:03 +01:00
ThetaDev
d61e9ae3fe feat: rewrite request attempt system, retry with different visitor data 2025-02-06 03:12:54 +01:00
ThetaDev
442523670a feat: check rustypipe-botguard-api version 2025-02-06 01:41:48 +01:00
ThetaDev
799e1c8450 feat: add session po token cache 2025-02-06 00:48:37 +01:00
ThetaDev
f152a853b8 fix: allow player data to be fetched without botguard 2025-02-05 15:56:15 +01:00
ThetaDev
3849982dab revert user agent 2025-02-05 15:56:15 +01:00
ThetaDev
c74a6f62f7 feat: add support for rustypipe-botguard to get PO tokens 2025-02-05 15:56:14 +01:00
ThetaDev
52744ee3bf feat: add visitor data cache, remove random visitor data
Apparently YouTube can detect randomly generated visitor data and
prevents both the iOS and TV player from being fetched
(Error: Sign in to confirm you’re not a bot). Therefore the visitor
data generation code was removed and replaced with a cache that randomly
chooses from a selection of real visitor data.
2025-02-05 15:56:14 +01:00
ThetaDev
5b4e12e794 fix: retry updating deobf data after a RustyPipe update 2025-02-05 11:55:05 +01:00
ThetaDev
709f4e7de1 fix: extracting nsig fn when outside variable starts with $ 2025-02-05 10:15:52 +01:00
ThetaDev
ed23a8392e fix: include whole request body in report 2025-01-25 03:19:50 +01:00
ThetaDev
5bf3576c7e fix: a/b test 20: music continuation item renderer 2025-01-25 03:18:19 +01:00
ThetaDev
8d4d180f35 fix: update iOS client 2025-01-25 01:24:36 +01:00
ThetaDev
96d1829490 fix: a/v streams incorrectly recognized as video-only 2025-01-22 01:59:01 +01:00
ThetaDev
b78adfcbc1 fix: parsing history dates 2025-01-18 05:51:41 +01:00
ThetaDev
a9ec7055d1 fix: player_from_clients method not send/sync 2025-01-16 04:23:02 +01:00
ThetaDev
5cc342a88d docs: update README 2025-01-16 03:45:12 +01:00
ThetaDev
13c1a79a41 feat: set cache file permissions to 600 2025-01-16 02:15:20 +01:00