43 Commits

Author SHA1 Message Date
7606f90384 Update crossterm dependency
- Crossterm 0.24 was released with the merged bugfix, so no need for
  the pinned git dependency anymore
2022-07-17 23:33:21 +02:00
33d772c9e3 Update zippyshare resolver 2022-07-17 2022-07-17 23:24:11 +02:00
e7dca54b2b Add README 2022-06-16 01:40:11 +02:00
4fb19a4f5b Use latest git version for crossterm to fix bug
- Fix visual bugs on windows using git-bash that are caused by crossterm
- The crossterm bug was fixed in upstream by PR-657 but is not yet
  released to crates.io
- Bump version to 0.1.3
2022-06-15 17:51:07 +02:00
276ff194db Fix broken terminal output
- Replaced println by report message call
2022-04-26 00:21:29 +02:00
9d976b49ab Actually fix the parallel download 2022-04-01 01:22:13 +02:00
3e7601db1d Fix parallel file downloads not working 2022-04-01 01:09:37 +02:00
a46bc063ff Add support for sendcm
- Change the special url resolver code to better (still not optimally)
  support different services besides zippyshare
- Implement support for sendcm
2022-04-01 00:40:42 +02:00
e2c4d3572b More refactoring for dlreport 2022-03-31 23:13:43 +02:00
e6360153d6 More refactoring 2022-03-31 20:25:24 +02:00
16d0edbbb6 Refactor 2022-03-31 18:19:58 +02:00
c9ac3dd683 Remove into-file option + more refactoring 2022-03-31 17:57:02 +02:00
88f23ae568 More refactoring 2022-03-31 17:13:57 +02:00
396744e3a2 Use thiserror + anyhow for errors 2022-03-31 17:06:52 +02:00
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