Commit graph

397 commits

Author SHA1 Message Date
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
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
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
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
414f0b97c9 feat: add DRM and audio channel number filtering to StreamFilter 2025-01-16 00:47:49 +01:00
ThetaDev
74fe628f63 fix: A/B test 19: Music artist album groups reordered 2025-01-13 03:22:38 +01:00
ThetaDev
26d9f674d9 feat: extract player DRM data 2025-01-13 03:22:37 +01:00
ThetaDev
8751ee6a5b fix: only use auth-enabled clients for fetching player with auth option enabled 2025-01-13 03:22:37 +01:00
ThetaDev
87511c94ca feat: add method to get saved_playlists 2025-01-05 05:51:00 +01:00
ThetaDev
82be4a77bf fix: accept user-specific playlist ids (LL, WL) 2025-01-05 05:51:00 +01:00
ThetaDev
9fa18acb04 feat: add cookies.txt parser, add cookie auth + history cmds to CLI 2025-01-05 05:51:00 +01:00
ThetaDev
edd54921d0 feat: add session headers when using cookie auth 2025-01-05 05:50:59 +01:00
ThetaDev
b57bd550df feat: add history item dates, extend timeago parser 2025-01-05 05:50:59 +01:00
ThetaDev
2677a5bdae clarify description of music_saved_tracks and music_liked_tracks 2025-01-05 05:50:59 +01:00
ThetaDev
171c22458d feat: add functions to fetch a user's history and subscriptions 2025-01-05 05:50:58 +01:00
ThetaDev
2e21ad2514 fix: dont leak authorization and cookie header in reports 2024-12-26 01:15:34 +01:00
ThetaDev
7a6a020a39 fix: error 400 when fetching player with login 2024-12-20 03:06:03 +01:00
ThetaDev
06e85fb349 fix: extract transcript from comment voice replies 2024-12-19 01:32:15 +01:00
ThetaDev
31677181d5 fix: update client versions, enable Opus audio with iOS client 2024-12-18 19:44:42 +01:00
ThetaDev
61e26d65b5 chore: update user agent 2024-12-15 17:49:51 +01:00
ThetaDev
37791ac47b fix: limit retry attempts to fetch client versions and deobf data 2024-12-13 03:47:37 +01:00
ThetaDev
8a2dee19f7 fix: lifetime-related lints 2024-12-01 22:29:24 +01:00
ThetaDev
49bdb84125 fix: A/B test 18: music playlist facepile avatar model 2024-11-25 16:42:00 +01:00
ThetaDev
7a234cbb74 fix: disable Android client 2024-11-25 15:48:04 +01:00
ThetaDev
52e3485773 fix: parsing lockup playlists with "MIX" instead of view count 2024-11-10 03:25:26 +01:00
ThetaDev
275a92df2d fix: parsing videos using LockupViewModel (Music video recommendations) 2024-11-10 03:25:25 +01:00
ThetaDev
95c45838cd fix!: serde: lowercase Verification enum 2024-11-09 05:18:59 +01:00
ThetaDev
70e13fa6fc fix: A/B test 17: channel playlists lockupViewModel 2024-11-09 05:11:41 +01:00
ThetaDev
40811a89e5 fix: fetch unlocalized player data to interpret errors correctly; regression introduced with v0.6.0 2024-11-09 03:08:00 +01:00
ThetaDev
957fa22f77 feat!: replace TrackItem::is_video attr with TrackType enum; serde lowercase AlbumType enum for consistency 2024-11-09 02:55:59 +01:00
ThetaDev
7a62936392 feat: allow searching for YTM users 2024-11-09 00:36:42 +01:00
ThetaDev
4b7db80afc fix: use same visitor data for fetching artist album continuations 2024-10-24 02:02:22 +02:00
ThetaDev
987d007cf1 fix: handle auth errors 2024-10-24 01:40:56 +02:00
ThetaDev
2040fd4e0a feat: revoke OAuth token when logging out 2024-10-24 01:30:59 +02:00