Skip to content

Enhance native downloader to remove reliance on external download tools #36

@Sp5rky

Description

@Sp5rky

Feature Category
What area does this feature request relate to?

  • Core framework (downloaders, DRM, track handling)
  • CLI/commands (new commands or command improvements)
  • Configuration system
  • Manifest parsing (DASH, HLS, ISM)
  • Output/muxing (naming, metadata, tagging)
  • Proxy system
  • Key vault system
  • Documentation
  • Other (please specify)

Is your feature request related to a problem? Please describe.

The native Python requests downloader works well for basic downloads, but lacks multi-connection download support that can significantly improve download speeds. Currently, users who want faster downloads must rely on external tools like aria2c.

Describe the solution you'd like

Refactor and enhance the native requests downloader to support multi-connection downloads:

  • Add ability to split files and download chunks in parallel using multiple connections
  • Improve retry logic and error recovery for failed chunks
  • Better bandwidth optimization through concurrent connections
  • Maintain compatibility with existing proxy, cookie, and header support

Describe alternatives you've considered

  • Continue using external tools like aria2c for multi-connection downloads (requires additional dependencies)
  • Use third-party Python libraries for parallel downloads (adds more dependencies)

Use case / Impact

  • How would this feature benefit users?

    • Simpler installation with fewer dependencies
    • Better cross-platform compatibility
    • Easier containerization and deployment
    • Lower barrier to entry for new users
  • How often would you use this feature?

    • Every installation and deployment scenario
  • Does this solve a common workflow issue?

    • Yes - installation complexity is a frequent pain point for new users

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions