Commit graph

514 commits

Author SHA1 Message Date
be18d89ea6
fix: skip serializing empty cache entries 2024-10-13 22:42:21 +02:00
71d3ec65dd
feat: add mobile client 2024-10-13 05:16:06 +02:00
e65f14556f
fix: A/B test 16 (pageHeaderRenderer on playlist pages) 2024-10-12 05:47:47 +02:00
f3f2e1d3ca
fix: ignore live tracks in YTM searches 2024-10-12 05:33:23 +02:00
ace0fae100
fix: prioritize visitor_data argument before opts 2024-10-12 05:29:04 +02:00
7a019f5706
feat: add RustyPipe version constant 2024-09-10 03:15:41 +02:00
7972df0df4
fix: A/B test 15 (parsing channel shortsLockupViewModel) 2024-09-10 03:12:16 +02:00
67a231d6d1
fix: show docs.rs feature flags 2024-08-18 03:25:02 +02:00
3599acafef
feat!: remove startpage 2024-08-18 03:03:11 +02:00
ee3ae40395
fix: get TV client version 2024-08-17 03:26:20 +02:00
1cffb27cc0
feat!: add handle to ChannelItem, remove video_count 2024-08-17 03:05:57 +02:00
e6715700d9
feat!: update channel model, addd handle + video_count, remove tv/mobile banner 2024-08-17 02:44:47 +02:00
5a6b2c3a62
fix: parsing channels without banner 2024-08-17 00:42:47 +02:00
d0ae7961ba
fix: player_from_clients: fall back to TvHtml5Embed client 2024-08-17 00:21:47 +02:00
da39c64f30
fix: detect ip-ban error message 2024-08-10 16:26:43 +02:00
97904d7737
feat: change default player client order 2024-08-10 03:03:15 +02:00
9da3b25be2
fix: set tracing instrumentation level to Error 2024-08-10 00:06:56 +02:00
d36ba595da
fix: extraction error message
Some checks failed
CI / Test (push) Failing after 7m7s
2024-08-08 15:10:55 +02:00
d053ac3eba
fix: make Verification enum exhaustive 2024-08-08 14:56:39 +02:00
114a86a382
feat: add YtEntity trait to YouTubeItem and MusicItem 2024-08-08 03:22:04 +02:00
c6bd03fb70
fix: add var to deobf fn assignment 2024-08-06 14:01:38 +02:00
3c83e11e75
fix: nsig fn extraction 2024-07-31 21:46:32 +02:00
e608811e5f
feat!: add TV client 2024-07-30 01:55:24 +02:00
72b5dfec69
feat: add player_from_clients function to specify client order 2024-07-29 18:03:31 +02:00
8152ce6b08
fix: improve deobfuscator (support multiple nsig name matches, error if mapping all streams fails)
Since YouTube keeps changing the nsig function signature and a generic regex may match at multiple places, I changed the extraction logic to search for multiple matches if necessary and test the extracted deobfuscation functions.

I also found out that if the deobfuscation fails for all streams, fetching the player still returns a successful result with no streams, suggesting that the video is not available. So I changed the mapper to throw an ExtractionError if no streams are mapped successfully.
2024-07-29 14:45:52 +02:00
fb7af3b966
fix: make nsig_fn regex more generic 2024-07-27 03:23:09 +02:00
821984bbd5
feat!: make StreamFilter use Vec internally, remove lifetime 2024-07-27 03:21:48 +02:00
bbbe9b4b32
feat: add channel_id and channel_name getters to YtEntity trait 2024-07-27 02:41:05 +02:00
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
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
dd0565ba98
fix!: extracting nsig function, remove field throttled from Video/Audio stream model 2024-07-15 20:41:20 +02:00
041ce2d08f
fix: parsing audiobook type in European Portuguese
Some checks failed
CI / Test (push) Failing after 2m20s
2024-06-27 03:20:00 +02:00
12fe93084a
test: fix tests 2024-06-18 16:10:27 +02:00
792e3b31e0
feat: add YtEntity trait
All checks were successful
CI / Test (push) Successful in 2m17s
2024-06-16 22:57:55 +02:00
94e8d24c68
refactor!: rename VideoItem/VideoPlayerDetails.length to duration for consistency 2024-06-16 22:42:11 +02:00
401d4e8255
feat: add UnavailabilityReason: IpBan 2024-06-16 22:24:59 +02:00
da1d1bd2a0
feat: make get_visitor_data() public 2024-06-16 02:18:04 +02:00
29a7db231a
test: fix asserts: client version parts, iOS client bitrate
Some checks failed
CI / Test (push) Failing after 1m49s
2024-05-17 18:27:24 +02:00
45b9f2a627
chore: fix clippy lints
All checks were successful
CI / Test (push) Successful in 2m36s
2024-05-02 19:39:48 +02:00
8fbd6b95b6
fix: parsing error when no music_related content available 2024-04-18 19:50:06 +02:00
a8fb337fae
fix: remove Innertube API keys, update android player params 2024-04-16 15:18:29 +02:00
6c41ef2fb2
feat: prefix chip-style web links (social media) with the service name
All checks were successful
CI / Test (push) Successful in 2m26s
2024-04-12 12:33:36 +02:00
b8825f9199
feat: add text formatting (bold/italic/strikethrough)
All checks were successful
CI / Test (push) Successful in 2m29s
2024-04-03 03:28:13 +02:00
b0331f7250
fix: parse new comment model (A/B#14 frameworkUpdates) 2024-04-02 01:49:43 +02:00
348c8523fe
revert: "fix: improve VecLogErr messages" (leads to infinite loop)
This reverts commit 9a652d851f.
2024-04-02 01:49:40 +02:00
180dd9891a
fix: correctly parse subscriber count with new channel header
It looks like A/B test 12 has changed the text field order for the subscriber count slightly. Support was added to correctly parse both variants
2024-03-26 21:19:51 +01:00
be314d57ea
chore: update user agent (FF 115.0) 2024-03-26 20:03:09 +01:00
a81c3e8336
fix: parsing music details with video description tab 2024-03-24 02:34:53 +01:00
eecabffd18
tests: remove tokio_test::block_on 2024-03-16 19:21:30 +01:00
95ab7c91c6
feat!: add rich text description to playlists and albums
Some checks failed
CI / Test (push) Failing after 3m32s
fix: panic when parsing new music album/playlist layout
2024-03-09 14:34:58 +01:00