Commit graph

577 commits

Author SHA1 Message Date
ThetaDev
0b8cc6ac86 fix: detect ip-ban error message 2024-08-10 16:26:43 +02:00
ThetaDev
41febfd05c fix: use native tls by default for CLI 2024-08-10 14:12:39 +02:00
ThetaDev
02bf7ee7fe feat: add option to fetch RSS feed 2024-08-10 03:35:20 +02:00
ThetaDev
f25fb2fb9b test: dont check video streams for desktop client (pot token) 2024-08-10 03:21:29 +02:00
ThetaDev
edeb8191b4 feat: retry with different client after 403 error 2024-08-10 03:11:49 +02:00
ThetaDev
1a62471ad7 feat: change default player client order 2024-08-10 03:03:15 +02:00
ThetaDev
fbecd232e5 feat: add list of clients to downloader 2024-08-10 02:29:54 +02:00
ThetaDev
00fa95d92c feat: print error message 2024-08-10 01:46:18 +02:00
ThetaDev
1bd49fc53d fix: set tracing instrumentation level to Error 2024-08-10 00:06:56 +02:00
ThetaDev
8ecf2e61cc feat: add potoken option to downloader 2024-08-09 21:41:47 +02:00
ThetaDev
df2ecf177d fix: extraction error message 2024-08-08 15:10:55 +02:00
ThetaDev
65d8f28968 fix: use anstream + owo-color for colorful CLI output
the color-print crate works very well, but it cannot disable styling if the terminal does not support it,
when saving the output to a file, etc
2024-08-08 15:04:15 +02:00
ThetaDev
9956048377 fix: make Verification enum exhaustive 2024-08-08 14:56:39 +02:00
ThetaDev
8618da4746 feat: add plaintext output to CLI 2024-08-08 03:22:51 +02:00
ThetaDev
171b3cb8d1 feat: add YtEntity trait to YouTubeItem and MusicItem 2024-08-08 03:22:04 +02:00
ThetaDev
308ed74730 feat: add audiotag+indicatif features to downloader 2024-08-06 14:04:03 +02:00
ThetaDev
b609edd004 fix: add var to deobf fn assignment 2024-08-06 14:01:38 +02:00
ThetaDev
14be4467a3 feat: downloader: add download_track fn, improve path templates 2024-08-01 03:11:54 +02:00
ThetaDev
edab09184a fix: nsig fn extraction 2024-07-31 21:46:32 +02:00
ThetaDev
9bde75ec6d feat: downloader: add audio tagging 2024-07-31 03:27:27 +02:00
ThetaDev
f27d0492cb feat!: add TV client 2024-07-30 01:55:24 +02:00
Forgejo Actions
1139f8448b chore(deps): update rust crate quick-xml to 0.36.0 (#8)
Reviewed-on: https://code.thetadev.de/ThetaDev/rustypipe/pulls/8
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-07-29 18:20:51 +02:00
ThetaDev
148158dcdb chore: renovate: enable automerge 2024-07-29 18:20:11 +02:00
ThetaDev
209291d74b chore: renovate: disable scheduleDaily 2024-07-29 18:17:35 +02:00
ThetaDev
d9f8bc92fe chore: renovate: disable approveMajorUpdates 2024-07-29 18:10:45 +02:00
ThetaDev
84e9a3ea2c test: fix tests 2024-07-29 18:10:10 +02:00
ThetaDev
0d593f970f fix: cli: print video ID when logging errors 2024-07-29 18:06:35 +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
5fe1c8abb7 feat: overhauled downloader 2024-07-27 04:00:11 +02:00
ThetaDev
d11a850fdc fix: make nsig_fn regex more generic 2024-07-27 03:23:09 +02:00
ThetaDev
535ae3041c feat!: make StreamFilter use Vec internally, remove lifetime 2024-07-27 03:21:48 +02:00
ThetaDev
56875b99dc feat: add channel_id and channel_name getters to YtEntity trait 2024-07-27 02:41:05 +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
05a9ca69da chore(release): release rustypipe v0.2.1 2024-07-01 23:37:02 +02:00
ThetaDev
729cd16ab7 fix(deps): update quick-xml to v0.35.0 2024-07-01 23:34:58 +02:00
ThetaDev
f347df8c2f chore(release): release rustypipe-cli v0.1.1 2024-06-27 14:07:08 +02:00
ThetaDev
fc3d71d3fd chore(release): release rustypipe-downloader v0.1.1 2024-06-27 14:00:55 +02:00
ThetaDev
7ec5ff4f91 ci: fix release changelog extraction 2024-06-27 14:00:20 +02:00
ThetaDev
435340fafa chore(release): release rustypipe v0.2.0 2024-06-27 13:36:39 +02:00
ThetaDev
198dac35fd ci: fix release workflow 2024-06-27 13:35:46 +02:00
Forgejo Actions
8d3a751d57 chore(deps): update rust crate rstest to 0.21.0 (#7)
Reviewed-on: https://code.thetadev.de/ThetaDev/rustypipe/pulls/7
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:53:08 +02:00
Forgejo Actions
98fce1af29 chore(deps): update rust crate quick-xml to 0.34.0 (#5)
Reviewed-on: https://code.thetadev.de/ThetaDev/rustypipe/pulls/5
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:54 +02:00
Forgejo Actions
f3e3bb50b5 chore(deps): update rust crate tokio to 1.20.4 [security] (#4)
Reviewed-on: https://code.thetadev.de/ThetaDev/rustypipe/pulls/4
Co-authored-by: Forgejo Actions <forgejo.actions@example.com>
Co-committed-by: Forgejo Actions <forgejo.actions@example.com>
2024-06-27 05:52:36 +02:00
ThetaDev
f94a0cf5e6 ci: renovate: disable lockfile maintenance 2024-06-27 05:47:47 +02:00
ThetaDev
1825b511b7 ci: update renovate config, add GH token 2024-06-27 05:43:56 +02:00
ThetaDev
410484a111 ci: update renovate action 2024-06-27 05:30:46 +02:00
ThetaDev
422963b9b0 ci: improve Artifactview PR comment 2024-06-27 05:29:00 +02:00