Commit Graph

75 Commits (3f7965105d8d2048359e67c1e8b8ebd51588143b)

Author SHA1 Message Date
pukkandan 62b5c94cad
[cleanup] Misc fixes
Closes 
bashonly e57eb98222
[fd/external] Fix ffmpeg input from stdin ()
Bugfix for 1ceb657bdd

Authored by: bashonly
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 
Authored by: bashonly
coletdjnz 3d2623a898
[compat, networking] Deprecate old functions ()
Authored by: coletdjnz, pukkandan
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
pukkandan 8a8af356e3
[downloader/aria2c] Add `--no-conf`
Closes 
coletdjnz 955c89584b
[core] Deprecate internal `Youtubedl-no-compression` header ()
Authored by: coletdjnz
pukkandan 66aeaac9aa
[downloader/curl] Fix progress reporting
Bug in 8c53322cda
Closes 
bashonly 7e68567e50
[downloader/hls] Allow extractors to provide AES key ()
and related cleanup

Authored by: bashonly, Grub4K

Co-authored-by: Simon Sawicki <contact@grub4k.xyz>
pukkandan ad68b16a1e
[downloader/aria2c] Disable native progress
Closes , closes , Re-opens 
Lesmiscore 8c53322cda
[downloader/aria2c] Native progress for aria2c via RPC ()
Authored by: Lesmiscore, pukkandan

Closes 
bashonly 3cf50fa8e9
[downloader/ffmpeg] Fix headers for video+audio formats ()
Authored by: bashonly, Grub4K
std-move af7a5eef2f
[downloader/aria2c] Fix filename containing leading whitespace ()
Similar to eb55bad5a0, but for fragmented downloads
Authored by: std-move
pukkandan e1eabd7beb
[downloader/external] Smarter detection of executable
Closes 
pukkandan be5c1ae862
Standardize retry mechanism ()
* [utils] Create `RetryManager`
* Migrate all retries to use the manager
* [extractor] Add wrapper methods for convenience
* Standardize console messages for retries
* Add `--retry-sleep` for extractors
pukkandan 14f25df2b6
[compat] Remove deprecated functions from core code
pukkandan ac66811112
[compat] Remove more functions
Removing any more will require changes to a large number of extractors
pukkandan f0c9fb9682
[utils] `Popen`: Refactor to use contextmanager
Fixes https://github.com/yt-dlp/yt-dlp/issues/3531#issuecomment-1156223597
pukkandan 5ec1b6b716
Add option `--download-sections` to download video partially
Closes , Closes 
pukkandan c487cf0010
[cleanup] Misc
pukkandan 2762dbb17e
[compat] Add `functools.cached_property`
pukkandan 23326151c4
Add option --retry-sleep ()
Closes 
pukkandan 0f06bcd759
[cleanup] Minor fixes (See desc)
* [youtube] Fix `--youtube-skip-dash-manifest`
* [build] Use `$()` in `Makefile`. Closes 
* Fix bug in 385ffb467b
* Fix bug in 43d7f5a5d0
* [cleanup] Remove unnecessary `utf-8` from `str.encode`/`bytes.decode`
* [utils] LazyList: Expose unnecessarily "protected" attributes
and other minor cleanup
pukkandan 1d485a1a79
[cleanup] Misc fixes
Closes , https://github.com/yt-dlp/yt-dlp/issues/3514#issuecomment-1105944364
pukkandan 0a5a191a2a
Improve `--clean-infojson`
It should not removes fields that may be needed for `--load-infojson`.
Eg: `_ffmpeg_args`, `_has_drm`
Elyse 00828e2c93
[downloader/ffmpeg] Specify headers for each URL ()
Closes 
Authored by: elyse0
pukkandan f82711587c
[cleanup] Sort imports
Using https://github.com/PyCQA/isort

    isort -m VERTICAL_HANGING_INDENT --py 36 -l 80 --rr -n --tc .
pukkandan 86e5f3ed2e
[cleanup] Upgrade syntax
Using https://github.com/asottile/pyupgrade

1. `__future__` imports and `coding: utf-8` were removed
2. Files were rewritten with `pyupgrade --py36-plus --keep-percent-format`
3. f-strings were cherry-picked from `pyupgrade --py36-plus`

Extractors are left untouched (except removing header) to avoid unnecessary merge conflicts
pukkandan 28787f16c6
[downloader] Fix invocation of `HttpieFD`
Closes 
coletdev af14914baa
Remove `Accept-Encoding` header from `std_headers` ()
This should be set by each downloader to what it supports.
Fixes https://github.com/yt-dlp/yt-dlp/issues/3142
Authored-by: coletdjnz
coletdev 8a23db9519
[wget] Fix proxy ()
Upstream PR: https://github.com/ytdl-org/youtube-dl/pull/29343
Authored-by: kikuyan, coletdjnz
Emanuel Hoogeveen 45806d44a7
[downloader] Obey `--file-access-retries` when deleting/renaming ()
Authored by: ehoogeveen-medweb
pukkandan dcd55f766d
[aria2c] Add `--http-accept-gzip=true`
Closes , 
pukkandan af6793f804
[downloader/ffmpeg] Handle unknown formats better
pukkandan d57576b9d9
[httpie] Fix `available` method
Closes 
pukkandan f44afb54ef
[aria2c] Don't show progress when `--no-progress`
Emanuel Hoogeveen 205a0654c0
Add option `--file-access-retries` ()
Closes 
Authored by: ehoogeveen-medweb
pukkandan 234416e4bf
[downloader/ffmpeg] Fix for direct videos inside mpd manifests
Closes 
pukkandan 8913ef74d7
[ffmpeg] Detect libavformat version for `aac_adtstoasc`
and print available features in verbose head
Based on https://github.com/ytdl-org/youtube-dl/pull/29581
pukkandan d3c93ec2b7
Don't create console for subprocesses on Windows ()
Closes 
pukkandan b4b855ebc7
[fragment] Print error message when skipping fragment
pukkandan fc5c8b6492
[eria2c] Fix --skip-unavailable fragment
pukkandan c111cefa5d
[downloader/ffmpeg] Improve simultaneous download and merge
pukkandan d806c9fd97
[docs,cleanup] Add deprecation warning in docs
for some counter intuitive behaviour that may be removed in future.

and fix linter
pukkandan 1009f67c2a
[fragment,aria2c] Generalize and refactor some code
pukkandan 96933fc1b6
[aria2c] Fix IV for some AES-128 streams
Authored by: shirt
pukkandan edf65256aa
[hls,aes] Fallback to native implementation for AES-CBC
and detect `Cryptodome` in addition to `Crypto`

Closes 
Related: 
pukkandan d5fe04f5c7
Fix `--compat-option no-direct-merge`
pukkandan 691d5823d6
[aria2c] Obey `--rate-limit`
pukkandan 6251555f1c
[downloader/ffmpeg] Support for DASH manifests (experimental)
Closes