Sometimes I have to download large files. The most unfortunate thing that happens is when I get to 70% and then the download fails. I know some hacks to try continuing the download through some browsers, but I often end up having to start all over again. Also, if I start a download before going to bed, I'm not going to be there to manually restart or even continue the download in the middle of the night. Due to this, I generally prefer to use the BitTorrent protocol to download things, as it never sees a download as "failed", it just keeps trying and continues where it left off.
I'm looking for a program that will download files from normal websites, but behave like BitTorrent in the sense that it doesn't see downloads as "failed", even if the internet connection cuts out for a minute. It should just keep trying, and continue where it left off.
I prefer OS X, but any platform is alright. I can use a VM or whatever. The most important thing is that the tool should fit the description here. Even mobile apps would be alright, I have access to both iOS and Android devices.
Two of the most commonly used downloader for http urls on Unix systems are wget and curl. Of these curl has apparently been part of OS X in the past, and is presumably installable on any version. It has many options but the ones you need in particular are -C - to continue a partial failed download, and for example --retry 9 to do up to 9 retries. Note, the web server concerned needs to support restarting downloads with byte ranges to avoid restarting from offset 0. For example, to download this question to myfile (needs -L for redirect), create a file, say download, with the contents
The external loop copes with the network being down by waiting 60 seconds if curl exits with a non-zero code (ie some error). Make the file executable with chmod a+rx, then you can run it with ./download. You can make a more generic script taking a url as parameter, eg
Then, I can use the syncing clients of those services to sync the file to my computer's local storage. For example, Google Drive certainly doesn't give up on syncing just because it was deprived of Internet for a while. It keeps trying to sync. I assume the other services are similar.
d3342ee215