ThetaDev
f27d0492cb
feat!: add TV client
2024-07-30 01:55:24 +02:00
ThetaDev
b2839f773d
feat: add player_from_clients function to specify client order
2024-07-29 18:03:31 +02:00
ThetaDev
9517de2dcd
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
ThetaDev
c51a273513
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
1934592ab8
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
36d6061a27
fix!: extracting nsig function, remove field throttled from Video/Audio stream model
2024-07-15 20:41:20 +02:00
ThetaDev
358307420a
test: fix tests
2024-06-18 16:10:27 +02:00
ThetaDev
3204de301a
refactor!: rename VideoItem/VideoPlayerDetails.length to duration for consistency
2024-06-16 22:42:11 +02:00
ThetaDev
b5dcdebeab
feat: add UnavailabilityReason: IpBan
2024-06-16 22:24:59 +02:00
ThetaDev
2c9402aff6
feat: make get_visitor_data() public
2024-06-16 02:18:04 +02:00
ThetaDev
2aa3aba601
test: fix asserts: client version parts, iOS client bitrate
2024-05-17 18:27:24 +02:00
ThetaDev
cf3b84fe70
chore: fix clippy lints
2024-05-02 19:39:48 +02:00
ThetaDev
5f1e1a2a5c
fix: parsing error when no music_related content available
2024-04-18 19:50:06 +02:00
ThetaDev
4ab9046d33
fix: remove Innertube API keys, update android player params
2024-04-16 15:18:29 +02:00
ThetaDev
5cf2c73ee6
feat: add text formatting (bold/italic/strikethrough)
2024-04-03 03:28:13 +02:00
ThetaDev
0fdd729326
fix: parse new comment model ( A/B#14 frameworkUpdates)
2024-04-02 01:49:43 +02:00
ThetaDev
d5ca6a87d3
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
ThetaDev
819ae447d2
chore: update user agent (FF 115.0)
2024-03-26 20:03:09 +01:00
ThetaDev
a267413a82
fix: parsing music details with video description tab
2024-03-24 02:34:53 +01:00
ThetaDev
4c62672e45
tests: remove tokio_test::block_on
2024-03-16 19:21:30 +01:00
ThetaDev
b012436bf8
feat!: add rich text description to playlists and albums
...
fix: panic when parsing new music album/playlist layout
2024-03-09 14:34:58 +01:00
ThetaDev
c402f463b4
fix: add support for A/B-13 (2-column layout for music playlists/albums)
2024-02-29 02:54:40 +01:00
ThetaDev
582a386d76
fix: update dictionary, fix parsing playlist dates in am and no
2024-02-13 18:38:58 +01:00
ThetaDev
d16d38a1bc
fix: a/b test 12: parsing new channel page header
2024-01-29 17:09:42 +01:00
ThetaDev
e3a0f8f97d
fix: number parsing for as,bs,it, update testdata
2024-01-24 12:48:13 +01:00
ThetaDev
f322309bba
fix: remove shorts duration parsing
2024-01-18 16:03:15 +01:00
ThetaDev
e9fb16353a
chore: fix clippy lints
2024-01-18 13:23:56 +01:00
ThetaDev
3e223a5fd9
fix: use new cookie consent token
2023-12-22 23:31:50 +01:00
ThetaDev
4224bd3ffb
fix: search for sensitive topics
2023-12-21 21:22:38 +01:00
ThetaDev
e54e2d958b
fix: use url-safe base64, rename channel_info2 operation
2023-11-24 16:21:53 +01:00
ThetaDev
8458d878e7
refactor: generic search API
2023-11-18 01:19:47 +01:00
ThetaDev
53a8ec680a
fix: support podcast episodes in new videos
2023-11-13 13:53:29 +01:00
ThetaDev
596b9c4d4a
fix: remove serde_with json feature
2023-11-13 13:04:46 +01:00
ThetaDev
1a22dc835a
fix: handle age restricted channels
...
refactor! rename ExtractionError::VideoUnavailable to ExtractionError::Unavailable
2023-11-05 22:43:04 +01:00
ThetaDev
b145080631
add test for a/b11
2023-11-05 16:55:42 +01:00
ThetaDev
4d124c6d98
fix: a/b test 11: parsing like count with new data model
2023-11-04 02:47:33 +01:00
ThetaDev
a1ac25fda5
fix: fetching channel info with different language
2023-11-04 01:36:49 +01:00
ThetaDev
452f765ffd
fix: handling new podcast links
2023-11-04 01:14:54 +01:00
ThetaDev
ba06e2c8c8
fix: a/b test 10: channel about modal
2023-11-03 21:46:55 +01:00
ThetaDev
cced125390
fix: Handle trimmed channel ID from RSS feed
2023-11-03 20:45:19 +01:00
ThetaDev
e247b0c5d9
fix: remove error on YTM track redirects
...
Example: ZKrwJi0fa34 => z10dAMnp1gc
2023-10-06 03:26:07 +02:00
ThetaDev
d6de428549
fix: fetch YTM playlists with visitor data
...
feat: add lang/country options to cli
2023-09-28 01:40:18 +02:00
ThetaDev
b25e9ebbb7
fix: send visitor data for YTM playlists
2023-09-28 01:00:00 +02:00
ThetaDev
1d1dcd622f
feat: add tracing
2023-09-22 03:22:38 +02:00
ThetaDev
ac25490435
chore: fix clippy lints
2023-08-30 22:05:18 +02:00
ThetaDev
22e298ff98
fix: a/b test 8: parsing view count for tracks
2023-08-23 11:28:38 +02:00
ThetaDev
e2eda901b1
fix: add support for new channel about data model
2023-08-22 22:58:28 +02:00
ThetaDev
57628d1392
fix: adjust deobf helper object name regex
2023-08-16 01:52:39 +02:00
ThetaDev
6cf59a167a
fix: use visitor data for ordered channel videos
...
tests: fix tests
2023-08-15 22:37:55 +02:00
ThetaDev
7fe3b0391c
tests: output invalid visitor data
2023-08-04 16:40:02 +02:00