Is your feature request related to a problem?
Resumability when downloading files will give the plus point when we use cli-based downloader.
Describe the Solution
- create a download metadata file along with the file being downloaded that keeps track of downloads
- create a basic JSON-based database or registry for tracking downloads. This will help keeping track of downloads even if it is scattered in different paths (even on mounted volumes.)
- Check the resumability first by checking
accept-ranges header, and fallback to sequential downloading or start over if it does not support downloading.
Describe Alternatives
How should it look in the CLI?
add more cli subcommands for tracking downloads
# order incomplete downloads first
$ furl downloads
1 some_incomplete_download1.iso [======_______] 50%
2 some_incomplete_download2.iso [===__________] 25%
3 some_completed_download.iso [=============] 100%
$ furl resume 1
Resuming download "some_incomplete_download1"
found file at "/home/user/Downloads/some_incomplete_download1.iso"
[Thread 001] [===========____________________________] 30%
[Thread 002] [=============__________________________] 35%
[Thread 003] [========_______________________________] 20%
[Thread 004] [=====================__________________] 50%
Additional Context
Add any other context or screenshots about the feature request here.
Is your feature request related to a problem?
Resumability when downloading files will give the plus point when we use cli-based downloader.
Describe the Solution
accept-rangesheader, and fallback to sequential downloading or start over if it does not support downloading.Describe Alternatives
How should it look in the CLI?
add more cli subcommands for tracking downloads
Additional Context
Add any other context or screenshots about the feature request here.