erickutcher / httpdownloader

HTTP(S) download manager that uses input/output completion ports (IOCP).
https://erickutcher.github.io/#HTTP_Downloader
558 stars 62 forks source link

Suggestion regarding the Add URL dialog box #75

Open Zero3K opened 5 years ago

Zero3K commented 5 years ago

It should be changed to look like the one in the attached image.

Internet-Download-Manager

erickutcher commented 5 years ago

This would be a step back for me. I'm not interested in categories or descriptions for files. Those can be left up to a file manager. The only benefit that that window has is the ability to save the file with a specific name. I plan to do something like that in the future, but I also want to keep the ability to load a bunch of URLs instead of just one. Plus, the Advanced options can let you fine tune things.

The beta version that I posted here https://github.com/erickutcher/httpdownloader/issues/68#issuecomment-524162986 has a Download and Add button in the Add URL(s) window now. The Download button will download a file immediately, and the Add button adds it in the Stopped state. So it's similar to "Start Download" and "Download Later" in the picture you posted.

Zero3K commented 5 years ago

What about having it display the size of the file being added?

erickutcher commented 5 years ago

That would require making a connection to the server beforehand and if I were to keep the Add URL(s) window's ability to add multiple URLs, then it would be problematic.

I would suggest Downloading the URL(s) using the "Simulate download" option in the Add URL(s) window's Advanced options. Once it starts, just stop the download. That'll give you an accurate size.

Matoneto commented 4 months ago

Sometimes when adding multiple URLs to download, then it happens that some of them don't work. IDM makes it easy to find them before starting the download because it lists all in a table with file size and type, see this image.

addall

For me thats really the only thing IDM does better than HTTP Downloader.

erickutcher commented 4 months ago

You can basically do this with the "Simulate download" option in the Add URL(s) advanced options. It'll download the files without saving them to the disk, but it'll let you know the file size and whether or not it can actually download. If anything doesn't download you can sort the list, and then select and copy the URLs of the files that work.

Matoneto commented 4 months ago

When I simulate the download it doesn't check all URLs quickly one after the other like IDM does but instead tries to download the files like normally (without saving them to disk). To quickly check all URLs I have to either change the number of parallel downloads temporarily to a high number to make them start all at once or cancel running downloads so the next ones get checked. Starting all simulated downloads at once may not even work because of server connection limits.

After the check I have to revert the number of parallel downloads, remove all simulated downloads and start the regular downloads again.

This process is very cumbersome and slow. It seems this is the one thing IDM does better still. I really don't like IDM that much and wanted to switch to another downloader. HTTP downloader is still the best alternative though.

erickutcher commented 4 months ago

I'll give it some thought. Might take me a while to get to it as I'm pretty busy.

Matoneto commented 4 months ago

Thanks for considering it. I am glad I can finally switch from IDM.

erickutcher commented 4 months ago

I made a beta version that will "verify" that the added URLs work.

You can download it here: 32-bit: https://github.com/erickutcher/httpdownloader/files/15449473/HTTP_Downloader_32_1.0.6.0_Beta_1.zip 64-bit: https://github.com/erickutcher/httpdownloader/files/15449474/HTTP_Downloader_64_1.0.6.0_Beta_1.zip

In the Add URL(s) window, you can click the drop down arrow next to the Download button and select Verify. The Verify button will add all the URLs to the download list and get their real filename as well as file size. The progress status will indicate whether the URL is valid or not. If it is valid, then it'll set the status to Stopped and you'll see the file size. If it's invalid, then it'll probably show some HTTP status error (like 404). If you click the "Start / Resume Inactive" download button in the toolbar or in the Edit menu, it'll start downloading all those Stopped downloads.

I prefer this approach since it's simple and doesn't introduce any extra windows. It also doesn't create any unnecessary connections.

Matoneto commented 4 months ago

Thank you for realizing this so fast. I downloaded the 64bit beta but I can't see a difference between clicking download and verify. In both cases downloads get added like normal (without seeing the size) and the first downloads start immediately. Do I have to configure something for this to work?

erickutcher commented 4 months ago

I see what happened. I had the download and connection retries set to 0 in the options and that's what allowed it to work. I'll have another beta uploaded that should fix this.

erickutcher commented 4 months ago

Here's Beta 2 that should fix this:

32-bit: HTTP_Downloader_32_1.0.6.0_Beta_2.zip 64-bit: HTTP_Downloader_64_1.0.6.0_Beta_2.zip

Matoneto commented 4 months ago

Thanks for the new beta. I tried it again and now it works as you described. But i noticed one thing:

When I add a URL via the download button with 4 parts it says 4/4 active parts and I can still reduce this via "update download" to say 3 parts. Then it says 3/3/4, everything works.

When I add a URL via verify then it says 0/4 after verification and I can still update the download and reduce the parts like before. After download start however it seems to recude the number of parts to 1 and it says 4/1. When I pause the download it says 0/1 and changing the part number is no longer possible. When is start again it says 4/1. Changing the part number before starting the download results for example in 3/3/1 while running and 0/3/1 when paused.

So maybe the verification forces it to only use one download connection. I am not sure how many connections it really uses because it says 4/1 again after the pause suggesting that actually 4 connections are used.

erickutcher commented 4 months ago

Yeah I see that happening. I'll look into it.

erickutcher commented 4 months ago

Here's Beta 3. It should fix the download part issue.

32-bit: HTTP_Downloader_32_1.0.6.0_Beta_3.zip 64-bit: HTTP_Downloader_64_1.0.6.0_Beta_3.zip

Matoneto commented 4 months ago

Great, now it works.