Commit graph

153 commits

Author SHA1 Message Date
ThetaDev
a0d850f8e0
fix: output full request body in reports, clean up get_player_po_token 2025-02-06 03:56:11 +01:00
ThetaDev
b8cfe1b034
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
dfd03edfad
feat: rewrite request attempt system, retry with different visitor data 2025-02-06 03:12:54 +01:00
ThetaDev
8385b87c63
feat: check rustypipe-botguard-api version 2025-02-06 01:41:48 +01:00
ThetaDev
b72b501b6d
feat: add session po token cache 2025-02-06 00:48:37 +01:00
ThetaDev
29c854b20d
fix: allow player data to be fetched without botguard 2025-02-05 15:56:15 +01:00
ThetaDev
eed1e3da3a
revert user agent 2025-02-05 15:56:15 +01:00
ThetaDev
b90a252a5e
feat: add support for rustypipe-botguard to get PO tokens 2025-02-05 15:56:14 +01:00
ThetaDev
b12f4c5d82
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
50ab1f7a5d
fix: retry updating deobf data after a RustyPipe update 2025-02-05 11:55:05 +01:00
ThetaDev
15245c18b5
fix: include whole request body in report 2025-01-25 03:19:50 +01:00
ThetaDev
e91541629d
fix: update iOS client 2025-01-25 01:24:36 +01:00
ThetaDev
0432477451
docs: update README 2025-01-16 03:45:12 +01:00
ThetaDev
2b2b4af0b2
fix: only use auth-enabled clients for fetching player with auth option enabled 2025-01-13 03:22:37 +01:00
ThetaDev
cf498e4a8f
feat: add cookies.txt parser, add cookie auth + history cmds to CLI 2025-01-05 05:51:00 +01:00
ThetaDev
3c95b52cea
feat: add session headers when using cookie auth 2025-01-05 05:50:59 +01:00
ThetaDev
320a8c2c24
feat: add history item dates, extend timeago parser 2025-01-05 05:50:59 +01:00
ThetaDev
14e399594f
feat: add functions to fetch a user's history and subscriptions 2025-01-05 05:50:58 +01:00
ThetaDev
75fce91353
fix: dont leak authorization and cookie header in reports 2024-12-26 01:15:34 +01:00
ThetaDev
5ce84c44a6
fix: error 400 when fetching player with login 2024-12-20 03:06:03 +01:00
ThetaDev
1b60c97a18
fix: update client versions, enable Opus audio with iOS client 2024-12-18 19:44:42 +01:00
ThetaDev
53e5846286
chore: update user agent 2024-12-15 17:49:51 +01:00
ThetaDev
44ae456d2c
fix: limit retry attempts to fetch client versions and deobf data 2024-12-13 03:47:37 +01:00
ThetaDev
c4feff37a5
fix: lifetime-related lints 2024-12-01 22:29:24 +01:00
ThetaDev
a846b729e3
fix: disable Android client 2024-11-25 15:48:04 +01:00
ThetaDev
0919cbd0df
fix: fetch unlocalized player data to interpret errors correctly; regression introduced with v0.6.0 2024-11-09 03:08:00 +01:00
ThetaDev
512223fd83
fix: handle auth errors 2024-10-24 01:40:56 +02:00
ThetaDev
62f8a9210c
feat: revoke OAuth token when logging out 2024-10-24 01:30:59 +02:00
ThetaDev
9e2fe61267
feat: add user_auth_logout method 2024-10-24 00:46:45 +02:00
ThetaDev
7984f9f13a
test: fix authenticated testing in CI 2024-10-24 00:42:19 +02:00
ThetaDev
1cc3f9ad74
feat: add OAuth user login to access age-restricted videos 2024-10-23 23:02:32 +02:00
ThetaDev
7c4f44d09c
feat!: generate random visitorData, remove RustyPipeQuery::get_context and YTContext<'a> from public API 2024-10-23 01:51:16 +02:00
ThetaDev
9e835c8f38
feat!: remove TvHtml5Embed client as it got disabled 2024-10-23 01:42:02 +02:00
ThetaDev
b589061a40
fix: fetch artist albums continuation 2024-10-22 23:56:59 +02:00
ThetaDev
be18d89ea6
fix: skip serializing empty cache entries 2024-10-13 22:42:21 +02:00
ThetaDev
71d3ec65dd
feat: add mobile client 2024-10-13 05:16:06 +02:00
ThetaDev
ace0fae100
fix: prioritize visitor_data argument before opts 2024-10-12 05:29:04 +02:00
ThetaDev
ee3ae40395
fix: get TV client version 2024-08-17 03:26:20 +02:00
ThetaDev
d0ae7961ba
fix: player_from_clients: fall back to TvHtml5Embed client 2024-08-17 00:21:47 +02:00
ThetaDev
97904d7737
feat: change default player client order 2024-08-10 03:03:15 +02:00
ThetaDev
e608811e5f
feat!: add TV client 2024-07-30 01:55:24 +02:00
ThetaDev
3d6de53545
feat: add http_client method to RustyPipe and user_agent method to RustyPipeQuery
For downloading, the http client as well as the user agent used by RustyPipe
should be available.
2024-07-27 02:36:45 +02:00
ThetaDev
90540c6aaa
feat: add client_type to VideoPlayer, simplify MapResponse trait
The MapResponse trait needed too many arguments, so I added the MapRespCtx object.
Also added the client_type to the context, so it can be added to the extracted player data.
This is necessary to be able to download videos with the correct user agent
2024-07-27 02:30:24 +02:00
ThetaDev
12fe93084a
test: fix tests 2024-06-18 16:10:27 +02:00
ThetaDev
da1d1bd2a0
feat: make get_visitor_data() public 2024-06-16 02:18:04 +02:00
ThetaDev
29a7db231a
test: fix asserts: client version parts, iOS client bitrate 2024-05-17 18:27:24 +02:00
ThetaDev
a8fb337fae
fix: remove Innertube API keys, update android player params 2024-04-16 15:18:29 +02:00
ThetaDev
be314d57ea
chore: update user agent (FF 115.0) 2024-03-26 20:03:09 +01:00
ThetaDev
eecabffd18
tests: remove tokio_test::block_on 2024-03-16 19:21:30 +01:00
ThetaDev
339231924b
fix: update dictionary, fix parsing playlist dates in am and no 2024-02-13 18:38:58 +01:00