29 Commits

Author SHA1 Message Date
2cf9594fa9 Autodetect zippyshare links
- Removed `-z` zippyshare resolver
- Automatically detect zippyshare urls and resolve them
2022-03-31 16:53:49 +02:00
59de02d34d More refactor 2022-03-31 01:16:39 +02:00
2e10b54f32 Refactor & Single conn if range not supported 2022-03-30 01:11:59 +02:00
565ba5984a Continue refactoring main 2022-03-29 01:35:12 +02:00
240a3ace42 Update crates + rewrite arg parsing + refactor
- Updated all crates to the latest versions
- Rewrote arg parsing using clap derive
- Started refactoring arg parsing & code in main
2022-03-28 01:16:58 +02:00
29475dd3bd Update zippy share resolver 2022-03-07 2022-03-07 14:28:06 +01:00
105a70447a Update zippyshare resolver 2022-01-08 22:31:03 +01:00
33f559ad4f Better split URLs between worker tasks
- URLs are now extracted from a synchronized queue by each task
- Bump version to 0.1.2
2021-06-11 19:23:22 +02:00
ea73355eef Show current n.o. files as % 2021-06-11 19:08:36 +02:00
154961ff98 Add number of files to progress
- The progress updates now show the number of files completed
2021-06-11 12:54:17 +02:00
ad70cfa1dd Update zippy-resolve
- Updated zippy resolver algorithm
- Fixed `--zippy-resolve` bug not showing url due to starting empty
  download after printing resolved url
2021-04-10 00:25:55 +02:00
9666ac727b Minor refactoring 2021-04-02 16:17:39 +02:00
2d2aaef9f8 Add into-file cli argument
- Added option to set the filename for single file downloads
- Changed the number cli arguments to unsigned, since they can only be
  positive anyways
- Combined the cli arguments into a struct
2021-04-02 15:58:16 +02:00
a933c57396 Fix silent corruption error
- When the server terminates a connection before the download is
  complete, the error wasn't noticed
- Fixed error where the tokio receiver was dropped before all
  transmitters. This caused a panic when transmitters tried to send
  status udates.
- Fixed error message still containing file path
2021-04-02 13:18:12 +02:00
a6e408a5e1 Add delay between connection attempts 2021-04-01 23:04:52 +02:00
39af87fcb4 Reduce the number of HTTP HEAD requests
- Removed redundant http head requests that were used to query
  filesizes, even after the filesize was known already.
2021-04-01 22:05:50 +02:00
96fa5c4112 Improve speed accuracy a bit (maybe) 2021-04-01 01:08:32 +02:00
0d4f32d22d Fix filename containing path in display 2021-04-01 00:10:41 +02:00
8fee14d0e6 Improve CLI & change name 2021-03-31 19:22:00 +02:00
36ad1263b4 Reduced panics 2021-03-31 17:30:16 +02:00
182442ba3b Improve cli argument validation 2021-03-31 14:07:09 +02:00
052c3a358a Slightly improved error recoverability 2021-03-31 01:17:07 +02:00
9edb2daf86 Improve display log 2021-03-30 19:07:18 +02:00
bc84eb1c2a Filenames no longer contain URL params
- Fixes #12
2021-03-28 03:11:02 +02:00
833af6e8d3 Don't preresolve zippy URLs
- Zippy URLs are now resolved directly before starting the downloads
- Resolve errors now should print the error to the top-log and skip the
  file. (untested)
- The status reports are now sent after either 5M download or 1s
- Fixes #10, #4
2021-03-27 00:29:56 +01:00
92f6c2699c Collect data chunks before writing to disk
- Buffer the downloaded data into 4M buffers and only write to disk
  after the buffer is full.
- This reduces the number of small writes and greatly improves
  performance on HDDs with mutliple concurrent downloads.
- Fixes #3
2021-03-26 22:36:43 +01:00
d12c174a8b Improve terminal display output
- Logs are printed at the top
- Status updates are printed at the bottom and are updated in-place
- Removed the redundant code for `download_one`
2021-03-26 01:17:12 +01:00
9ca93cbeb2 Implement concurrent download for single files
- Added `download_feedback_multi` that downloads one file using multiple
  connections.
- The file is preallocated and zero-filled and then written to in
  parallel at different offsets.
2021-03-25 21:35:58 +01:00
a8474aab1e Initial version 2021-03-24 18:46:24 +01:00