Simon Sawicki
e897bd8292
[misc] Add `hatch`, `ruff`, `pre-commit` and improve dev docs ( #7409 )
...
Authored by: bashonly, seproDev, Grub4K
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
7 months ago
coletdjnz
53b4d44f55
[test] Fix connect timeout test ( #9906 )
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/9659
Authored by: coletdjnz
8 months ago
coletdjnz
3c7a287e28
[test] Add HTTP proxy tests ( #9578 )
...
Also fixes HTTPS proxies for curl_cffi
Authored by: coletdjnz
8 months ago
bashonly
bec9a59e8e
[networking] Add `extensions` attribute to `Response` ( #9756 )
...
CurlCFFIRH now provides an `impersonate` field in its responses' extensions
Authored by: bashonly
8 months ago
Simon Sawicki
7e26bd53f9
[core/windows] Fix tests for `sys.executable` with spaces (Fix for 64766459e3
)
...
Authored by: Grub4K
8 months ago
Simon Sawicki
64766459e3
[core/windows] Improve shell quoting and tests ( #9802 )
...
Authored by: Grub4K
8 months ago
Simon Sawicki
3ee1194288
[ie] Make `_search_nextjs_data` non fatal ( #8937 )
...
Authored by: Grub4K
8 months ago
Simon Sawicki
ff07792676
[core] Prevent RCE when using `--exec` with `%q` (CVE-2024-22423)
...
The shell escape function now properly escapes `%`, `\\` and `\n`. `utils.Popen` as well as `%q` output template expansion have been patched accordingly.
Prior to this fix using `--exec` together with `%q` when on Windows could cause remote code to execute. See https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-hjq6-52gw-2g7p for more details.
Authored by: Grub4K
9 months ago
bashonly
216f6a3cb5
[cleanup] Misc ( #9426 )
...
Authored by: bashonly, pukkandan
9 months ago
Simon Sawicki
32abfb00bd
[utils] `traverse_obj`: Convenience improvements ( #9577 )
...
Add support for:
- `http.cookies.Morsel`
- Multi type filters (`{type, type}`)
Authored by: Grub4K
9 months ago
pukkandan
c305a25c1b
[cleanup] Standardize `import datetime as dt` ( #8978 )
9 months ago
pukkandan
86a972033e
Infer `acodec` for single-codec containers
9 months ago
Simon Sawicki
3699eeb67c
[utils] `traverse_obj`: Allow unbranching using `all` and `any` ( #9571 )
...
Authored by: Grub4K
9 months ago
Simon Sawicki
979ce2e786
[test] `traversal`: Separate traversal tests ( #9574 )
...
Authored by: Grub4K
9 months ago
coletdjnz
52f5be1f1e
[rh:curlcffi] Add support for `curl_cffi`
...
Authored by: coletdjnz, Grub4K, pukkandan, bashonly
Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: bashonly <bashonly@protonmail.com>
10 months ago
coletdjnz
0b81d4d252
Add new options `--impersonate` and `--list-impersonate-targets`
...
Authored by: coletdjnz, Grub4K, pukkandan, bashonly
Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: bashonly <bashonly@protonmail.com>
10 months ago
coletdjnz
f849d77ab5
[test] Workaround websocket server hanging ( #9467 )
...
Authored by: coletdjnz
10 months ago
pukkandan
615a84447e
[cleanup] Misc ( #8968 )
...
Authored by: pukkandan, bashonly, seproDev
10 months ago
pukkandan
47ab66db0f
[docs] Misc Cleanup ( #8977 )
...
Closes #8355 , #8944
Authored by: bashonly, Grub4k, Arthurszzz, seproDev, pukkandan
Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
Co-authored-by: bashonly <bashonly@protonmail.com>
Co-authored-by: Arthurszzz <minecraftgamerarthur@gmail.com>
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
10 months ago
sepro
ac340d0745
[test:websockets] Fix timeout test on Windows ( #9344 )
...
Authored by: seproDev
10 months ago
Lev
104a7b5a46
[ie] Migrate commonly plural fields to lists ( #8917 )
...
Authored by: llistochek, pukkandan
Related: #3944
10 months ago
coletdjnz
0085e2bab8
[rh] Remove additional logging handlers on close ( #9032 )
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/8922
Authored by: coletdjnz
11 months ago
coletdjnz
35f4f764a7
[rh:requests] Apply `remove_dot_segments` to absolute redirect locations
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/9020
Authored by: coletdjnz
11 months ago
coletdjnz
811d298b23
[networking] Remove `_CompatHTTPError` ( #8871 )
...
Use `yt_dlp.networking.exceptions.HTTPError`.
`_CompatHTTPError` was to help with transition to the networking framework.
Authored by: coletdjnz
11 months ago
coletdjnz
69d3191495
[test] Skip source address tests if the address cannot be bound to ( #8900 )
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/8890
Authored by: coletdjnz
11 months ago
Simon Sawicki
ffbd4f2a02
[utils] `traverse_obj`: Support `xml.etree.ElementTree.Element` ( #8911 )
...
Authored by: Grub4K
12 months ago
Simon Sawicki
f9fb3ce86e
[cleanup] Misc ( #8598 )
...
Authored by: bashonly, pukkandan, seproDev, Grub4K
Co-authored-by: bashonly <bashonly@protonmail.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
Co-authored-by: sepro <4618135+seproDev@users.noreply.github.com>
1 year ago
Simon Sawicki
00cdda4f6f
[core] Fix format selection parse error for CPython 3.12 ( #8797 )
...
Authored by: Grub4K
1 year ago
bashonly
632b8ee54e
[core] Release workflow and Updater cleanup ( #8640 )
...
- Only use trusted publishing with PyPI and remove support for PyPI tokens from release workflow
- Clean up improper actions syntax in the build workflow inputs
- Refactor Updater to allow for consistent unit testing with `UPDATE_SOURCES`
Authored by: bashonly
1 year ago
bashonly
37755a037e
[test:networking] Update tests for OpenSSL 3.2 ( #8814 )
...
Authored by: bashonly
1 year ago
coletdjnz
196eb0fe77
[networking] Strip whitespace around header values ( #8802 )
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/8729
Authored by: coletdjnz
1 year ago
Simon Sawicki
0b6f829b1d
[utils] `traverse_obj`: Move `is_user_input` into output template ( #8673 )
...
Authored by: Grub4K
1 year ago
pukkandan
993edd3f6e
[outtmpl] Support multiplication
...
Related: #8683
1 year ago
sepro
1732eccc0a
[core] Parse `release_year` from `release_date` ( #8524 )
...
Closes #7263
Authored by: seproDev
1 year ago
coletdjnz
ccfd70f4c2
[rh:websockets] Migrate websockets to networking framework ( #7720 )
...
* Adds a basic WebSocket framework
* Introduces new minimum `websockets` version of 12.0
* Deprecates `WebSocketsWrapper`
Fixes https://github.com/yt-dlp/yt-dlp/issues/8439
Authored by: coletdjnz
1 year ago
sepro
45d82be65f
[ie/nebula] Overhaul extractors ( #8566 )
...
Closes #4300 , Closes #5814 , Closes #7588 , Closes #6334 , Closes #6538
Authored by: elyse0, pukkandan, seproDev
Co-authored-by: Elyse <26639800+elyse0@users.noreply.github.com>
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
1 year ago
bashonly
f4b95acafc
Remove Python 3.7 support ( #8361 )
...
Closes #7803
Authored by: bashonly
1 year ago
bashonly
f04b5bedad
[ie] Do not smuggle `http_headers`
...
See: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-3ch3-jhc6-5r8x
Authored by: coletdjnz
1 year ago
bashonly
87264d4fda
[test:update] Implement simple updater unit tests
...
Authored by: bashonly
1 year ago
Simon Sawicki
4e38e2ae9d
[rh:requests] Handle both `bytes` and `int` for `IncompleteRead.partial` (Fix 8a8b54523a
) ( #8348 )
...
Authored by: bashonly, coletdjnz, Grub4K
1 year ago
coletdjnz
8a8b54523a
[rh:requests] Add handler for `requests` HTTP library ( #3668 )
...
Adds support for HTTPS proxies and persistent connections (keep-alive)
Closes https://github.com/yt-dlp/yt-dlp/issues/1890
Resolves https://github.com/yt-dlp/yt-dlp/issues/4070
Resolves https://github.com/ytdl-org/youtube-dl/issues/32549
Resolves https://github.com/ytdl-org/youtube-dl/issues/14523
Resolves https://github.com/ytdl-org/youtube-dl/issues/13734
Authored by: coletdjnz, Grub4K, bashonly
1 year ago
Awal Garg
9d7ded6419
[utils] `js_to_json`: Fix `Date` constructor parsing ( #8295 )
...
Authored by: awalgarg, Grub4K
1 year ago
Simon Sawicki
088add9567
[cleanup] Misc
...
Authored by: Grub4K
1 year ago
Simon Sawicki
de015e9307
[core] Prevent RCE when using `--exec` with `%q` (CVE-2023-40581)
...
The shell escape function is now using `""` instead of `\"`. `utils.Popen` has been patched to properly quote commands.
Prior to this fix using `--exec` together with `%q` when on Windows could cause remote code to execute. See https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-42h4-v29r-42qg for reference.
Authored by: Grub4K
1 year ago
Simon Sawicki
61bdf15fc7
[core] Raise minimum recommended Python version to 3.8 ( #8183 )
...
Authored by: Grub4K
1 year ago
bashonly
5ca095cbcd
[cleanup] Misc ( #8182 )
...
Closes #7796 , Closes #8028
Authored by: barsnick, sqrtNOT, gamer191, coletdjnz, Grub4K, bashonly
1 year ago
bashonly
661c9a1d02
[test:download] Test for `expected_exception`
...
Authored by: at-wat
Co-authored-by: Atsushi Watanabe <atsushi.w@ieee.org>
1 year ago
bashonly
52414d64ca
[utils] `js_to_json`: Handle `Array` objects
...
Authored by: Grub4K, std-move
Co-authored-by: std-move <26625259+std-move@users.noreply.github.com>
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
1 year ago
coletdjnz
20fbbd9249
[networking] Fix various socks proxy bugs ( #8065 )
...
- Fixed support for IPv6 socks proxies
- Fixed support for IPv6 over socks5
- Fixed --source-address not being obeyed for socks4 and socks5
- Fixed socks4a when the destination address is an IPv4 address
Closes https://github.com/yt-dlp/yt-dlp/issues/7959
Fixes https://github.com/ytdl-org/youtube-dl/issues/15368
Authored by: coletdjnz
Co-authored-by: Simon Sawicki <accounts@grub4k.xyz>
Co-authored-by: bashonly <bashonly@bashonly.com>
1 year ago
coletdjnz
fcd6a76adc
[tests] Add tests for socks proxies ( #7908 )
...
Authored by: coletdjnz
1 year ago
coletdjnz
db7b054a61
[networking] Add request handler preference framework ( #7603 )
...
Preference functions that take a request and a request handler instance can be registered to prioritize different request handlers per request.
Authored by: coletdjnz
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
1 year ago
pukkandan
6148833f5c
[cleanup] Misc
1 year ago
pukkandan
3f7965105d
[utils] HTTPHeaderDict: Handle byte values
1 year ago
pukkandan
de20687ee6
[test] Fix `test_load_certifi`
...
Closes #7688 , #7675
1 year ago
coletdjnz
4bf912282a
[networking] Remove dot segments during URL normalization ( #7662 )
...
This implements RFC3986 5.2.4 remove_dot_segments during the URL normalization process.
Closes #3355 , #6526
Authored by: coletdjnz
1 year ago
coletdjnz
bbeacff7fc
[networking] Ignore invalid proxies in env ( #7704 )
...
Authored by: coletdjnz
1 year ago
coletdjnz
95abea9a03
[test] Fix `httplib_validation_errors` test for old Python versions ( #7677 )
...
Fixes https://github.com/yt-dlp/yt-dlp/issues/7674
Authored by: coletdjnz
1 year ago
coletdjnz
86aea0d3a2
[networking] Add strict Request extension checking ( #7604 )
...
Authored by: coletdjnz
Co-authored-by: pukkandan <pukkandan.ytdlp@gmail.com>
1 year ago
pukkandan
a250b24733
[compat] Ensure submodules are imported correctly
...
Closes #7663
1 year ago
pukkandan
62b5c94cad
[cleanup] Misc fixes
...
Closes #7528
1 year ago
pukkandan
a264433c9f
[outtmpl] Fix replacement for `playlist_index`
1 year ago
bashonly
e57eb98222
[fd/external] Fix ffmpeg input from stdin ( #7655 )
...
Bugfix for 1ceb657bdd
Authored by: bashonly
1 year ago
bashonly
af86873218
[utils] Improve `parse_duration`
...
Authored by: bashonly
1 year ago
bashonly
75dc8e673b
[networking] Fix `--legacy-server-connect` ( #7645 )
...
Bugfix for 227bf1a33b
Authored by: bashonly
1 year ago
bashonly
71baa490eb
[networking] Fix POST requests with zero-length payloads ( #7648 )
...
Bugfix for 227bf1a33b
Authored by: bashonly
1 year ago
bashonly
42ded0a429
[fd/external] Fixes to cookie handling
...
- Fix bug in `axel` Cookie header arg
- Pass cookies to `curl` as strings
- Write session cookies for `aria2c` and `wget`
Closes #7539
Authored by: bashonly
1 year ago
bashonly
6c5211cebe
[core] Fix HTTP headers and cookie handling
...
- Remove `Cookie` header from `http_headers` immediately after loading into cookiejar
- Restore compat for `--load-info-json` cookies
- Add more tests
- Fix improper passing of Cookie header by `MailRu` extractor
Closes #7558
Authored by: bashonly, pukkandan
1 year ago
coletdjnz
3d2623a898
[compat, networking] Deprecate old functions ( #2861 )
...
Authored by: coletdjnz, pukkandan
1 year ago
coletdjnz
227bf1a33b
[networking] Rewrite architecture ( #2861 )
...
New networking interface consists of a `RequestDirector` that directs
each `Request` to appropriate `RequestHandler` and returns the
`Response` or raises `RequestError`. The handlers define adapters to
transform its internal Request/Response/Errors to our interfaces.
User-facing changes:
- Fix issues with per request proxies on redirects for urllib
- Support for `ALL_PROXY` environment variable for proxy setting
- Support for `socks5h` proxy
- Closes https://github.com/yt-dlp/yt-dlp/issues/6325 , https://github.com/ytdl-org/youtube-dl/issues/22618 , https://github.com/ytdl-org/youtube-dl/pull/28093
- Raise error when using `https` proxy instead of silently converting it to `http`
Authored by: coletdjnz
1 year ago
pukkandan
c365dba843
[networking] Add module ( #2861 )
...
No actual changes - code is only moved around
1 year ago
pukkandan
1b392f905d
[utils] Add temporary shim for logging
...
Related: #5680 , #7517
1 year ago
Mahmoud Abdel-Fattah
2af4eeb772
[utils] `clean_podcast_url`: Handle more trackers ( #7556 )
...
Authored by: mabdelfattah, bashonly
Closes #7544
1 year ago
Simon Sawicki
3121512228
[core] Change how `Cookie` headers are handled
...
Cookies are now saved and loaded under `cookies` key in the info dict
instead of `http_headers.Cookie`. Cookies passed in headers are
auto-scoped to the input URLs with a warning.
Ref: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj
Authored by: Grub4K
2 years ago
coletdjnz
f8b4bcc0a7
[core] Prevent `Cookie` leaks on HTTP redirect
...
Ref: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj
Authored by: coletdjnz
2 years ago
bashonly
1ceb657bdd
[fd/external] Scope cookies
...
- ffmpeg: Calculate cookies from cookiejar and pass with `-cookies` arg instead of `-headers`
- aria2c, curl, wget: Write cookiejar to file and use external FD built-in cookiejar support
- httpie: Calculate cookies from cookiejar instead of `http_headers`
- axel: Calculate cookies from cookiejar and disable http redirection if cookies are passed
- May break redirects, but axel simply don't have proper cookie support
Ref: https://github.com/yt-dlp/yt-dlp/security/advisories/GHSA-v8mc-9377-rwjj
Authored by: bashonly, coletdjnz
2 years ago
pukkandan
47bcd43724
[outtmpl] Pad `playlist_index` etc even when with internal formatting
...
Closes #7501
2 years ago
pukkandan
cd810afe2a
[extractor/youtube] Improve nsig function name extraction
2 years ago
pukkandan
42f2d40b47
Update to ytdl-commit-07af47
...
[YouTube] Improve fix for ae8ba2c
07af47960f
2 years ago
pukkandan
1619ab3e67
Bugfix for ebe1b4e34f
2 years ago
pukkandan
ad54c9130e
[cleanup] Misc
...
Closes #6288 , Closes #7197 , Closes #7265 , Closes #7353 , Closes #5773
Authored by: mikf, freezboltz, pukkandan
2 years ago
pukkandan
ebe1b4e34f
[outtmpl] Fix some minor bugs
...
Closes #7164
2 years ago
pukkandan
eedda5252c
[utils] `FormatSorter`: Improve `size` and `br`
...
Closes #1596
Previously, when some formats have accurate size and some approximate,
the ones with accurate size was always prioritized
For formats with known tbr and unknown vbr/abr, we were setting
(vbr=tbr, abr=0) for sorting to work. This is no longer needed.
Authored by pukkandan, u-spec-png
2 years ago
pukkandan
01aba2519a
[jsinterp] Fix global object extraction
...
Closes #7327
2 years ago
bashonly
b4a252fba8
[jsinterp] Fix division ( #7279 )
...
* Fixes nsig decryption for Youtube JS player `8c7583ff`
Authored by: bashonly
2 years ago
Matt Broadway
b38d4c941d
[cookies] Update for chromium changes ( #6897 )
...
Authored by: mbway
2 years ago
coletdjnz
daafbf49b3
[core] Support decoding multiple content encodings ( #7142 )
...
Authored by: coletdjnz
2 years ago
coletdjnz
b87e01c123
[cookies] Move `YoutubeDLCookieJar` to cookies module ( #7091 )
...
Authored by: coletdjnz
2 years ago
coletdjnz
08916a49c7
[core] Improve HTTP redirect handling ( #7094 )
...
Aligns HTTP redirect handling with what browsers commonly do and RFC standards.
Fixes issues afac4caa7d
missed.
Authored by: coletdjnz
2 years ago
pukkandan
7aeda6cc9e
[jsinterp] Do not compile regex
2 years ago
pukkandan
4823ec9f46
Update to ytdl-commit-d1c6c5
...
[YouTube] [core] Improve platform debug log, based on yt-dlp
d1c6c5c4d6
Except:
* 6ed34338285f722d0da312ce0af3a15a077a3e2a [jsinterp] Add short-cut evaluation for common expression
* There was no performance improvement when tested with https://github.com/ytdl-org/youtube-dl/issues/30641
* e8de54bce50f6f77a4d7e8e80675f7003d5bf630 [core] Handle `/../` sequences in HTTP URLs
* We plan to implement this differently
2 years ago
pukkandan
6f2287cb18
[cleanup] Misc
...
Closes #7030 , closes #6967
2 years ago
pukkandan
1d7656184c
[jsinterp] Handle `NaN` in bitwise operators
...
Closes #6131
2 years ago
Simon Sawicki
b079c26f0a
[utils] `traverse_obj`: More fixes ( #6959 )
...
- Fix result when branching with `traverse_string`
- Fix `slice` path on `dict`s
- Fix tests and docstrings from 21b5ec86c2
- Add `is_iterable_like` helper function
Authored by: Grub4K
2 years ago
pukkandan
7cf51f2191
[jsinterp] Handle negative numbers better
...
Closes #6131
2 years ago
Simon Sawicki
21b5ec86c2
[utils] `traverse_obj`: Allow iterables in traversal ( #6902 )
...
Authored by: Grub4K
2 years ago
pukkandan
ec9311c41b
[outtmpl] Support `str.format` syntax inside replacements
...
Closes #6843
2 years ago
pukkandan
78fde6e339
[outtmpl] Allow `\n` in replacements and default.
...
Fixes: https://github.com/yt-dlp/yt-dlp/issues/6808#issuecomment-1510055357
Fixes: https://github.com/yt-dlp/yt-dlp/issues/6808#issuecomment-1510363645
2 years ago
Simon Sawicki
0898c5c8cc
[utils] `js_to_json`: Implement template strings ( #6623 )
...
Authored by: Grub4K
2 years ago
pukkandan
f68434cc74
[extractor] Extract more metadata from ISM
...
Fixes 81b6102d20 (r105892531)
2 years ago
Simon Sawicki
25b921b02c
Merge with 'upstream/master'
2 years ago