ThetaDev
d36ba595da
fix: extraction error message
2024-08-08 15:10:55 +02:00
ThetaDev
c6bd03fb70
fix: add var to deobf fn assignment
2024-08-06 14:01:38 +02:00
ThetaDev
3c83e11e75
fix: nsig fn extraction
2024-07-31 21:46:32 +02:00
ThetaDev
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
ThetaDev
fb7af3b966
fix: make nsig_fn regex more generic
2024-07-27 03:23:09 +02:00
ThetaDev
dd0565ba98
fix!: extracting nsig function, remove field throttled from Video/Audio stream model
2024-07-15 20:41:20 +02: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
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
57628d1392
fix: adjust deobf helper object name regex
2023-08-16 01:52:39 +02:00
ThetaDev
5736d53c99
feat: add error reporting for deobf data extraction
2023-08-03 17:42:31 +02:00
ThetaDev
1bab2ef301
fix: deobfuscator not extracting array_str
2023-06-28 17:57:18 +02:00
ThetaDev
cbeb14f3fd
fix: add pedantic lints
2023-05-13 02:40:26 +02:00
ThetaDev
6ab7b2415a
refactor: make DeobfError private
2023-05-08 01:51:27 +02:00
ThetaDev
7bcff13eb8
fix: use fixed testfiles location
2023-03-25 23:18:49 +01:00
ThetaDev
ee5e82f6bb
fix: instantiate deobfuscator in mapresponse fn
...
Reason: quickjs context is not Send
2023-02-08 12:29:08 +01:00
ThetaDev
79446bed1c
fix: keep JS context when deobfuscating
2023-02-04 16:15:35 +01:00
ThetaDev
331a13568a
fix: v1.67 clippy lints (inline format strings)
2023-01-27 21:19:08 +01:00
ThetaDev
06aa677ef7
tests: use tokio_test::block_on() instead of test macro
2023-01-27 20:47:37 +01:00
ThetaDev
f94d8db4d0
feat: add logging for all operations
...
fix: music_artist: fetch visitor data only once
2023-01-27 19:49:16 +01:00
ThetaDev
92a358a079
refactor: use fancy-regex only for backtracking
2023-01-23 15:33:05 +01:00
ThetaDev
64d009615e
fix: use path_macro in tests/codegen for cross-platform paths
2022-11-30 10:04:16 +01:00
ThetaDev
b5f6b7a174
refactor: convert _or_bail macros to ok_or functions
2022-10-18 19:09:16 +02:00
ThetaDev
4dfdb47cae
fix: don't use a specific letter for the nsig function name regex
2022-10-10 22:25:20 +02:00
ThetaDev
a3e3269fb3
feat: add custom error types, remove anyhow
2022-10-08 14:36:37 +02:00
ThetaDev
fe5468313a
fix: remove dead code
2022-09-27 21:43:12 +02:00
ThetaDev
05f609e247
fix: clippy warnings
2022-09-15 16:05:06 +02:00
ThetaDev
b52fd7349b
refactored client API (query builder)
...
use VecLogError for player streams
2022-09-14 23:55:44 +02:00
ThetaDev
dda2211e04
refactored cache
2022-09-14 00:04:51 +02:00
ThetaDev
346406c1c8
feat: add timeago parser, playlist_cont
2022-09-01 20:16:00 +02:00
ThetaDev
5b8c3d646a
feat: add playlist extraction
...
- replace original base.js with dummy
2022-08-30 00:31:00 +02:00
ThetaDev
2d302d763d
fix: use js lexer for extracting deobf func
...
- better deobfuscation error handling
2022-08-25 18:02:32 +02:00
ThetaDev
3efe08088c
fix deobfuscation after YouTube update
2022-08-13 21:15:52 +02:00
ThetaDev
beb1177a11
first successful download
2022-08-06 23:37:27 +02:00
ThetaDev
a98aa59446
improve mapper
2022-08-01 21:21:19 +02:00
ThetaDev
46730ee8fa
add player data mapping
2022-08-01 19:50:38 +02:00
ThetaDev
db6ece6c61
implemented cache
2022-07-31 20:13:18 +02:00
ThetaDev
030fd9934e
add player response model
2022-07-28 21:04:38 +02:00
ThetaDev
b85b9893a8
add client module
2022-07-25 12:30:16 +02:00
ThetaDev
7447d2394b
working deobfuscator
2022-07-23 23:51:44 +02:00
ThetaDev
0acf8a9fb9
refactored, started with get_player_js (TEMP)
2022-07-21 17:13:50 +02:00