gotson / komga

Media server for comics/mangas/BDs/magazines/eBooks with API, OPDS and Kobo Sync support
https://komga.org
MIT License
3.88k stars 233 forks source link

[Feature Request] Bulk download of a serie #273

Closed prysme01 closed 3 years ago

prysme01 commented 4 years ago

Describe the solution you'd like

Possibility to have download button for a serie as a zip

Additional context

Exploring a komga library from a friend, the temptation is very high to grab a bunch of book for myself.

Don't know if the feature is reasonable or even possible to create on the fly a zip of a serie and serve it.

sam5558 commented 4 years ago

Lol, i had the same "temptation" when browsing your library also....

I had to download manually but yeah, i wish it could be possible to bulk download.

gotson commented 4 years ago

Bundling a zip is feasible, though it would be stored on a temp directory, which could be a problem for small hosting systems.

Downloading a huge zip would probably not be efficient, and the current download doesn't handle resume from what I can tell.

prysme01 commented 4 years ago

So we will have to wait for the multi-instance collaboration then :)

prysme01 commented 4 years ago

suggestion : adding a download in the Series view on each tome, under the more icon (allowing to not click on each tome to be able to download)

Pfuenzle commented 3 years ago

You could look into how h5ai (a file index server) manages their zip file downloads. It allows to zip multiple files to stream them to the client, and from what ive seen it does not create a temp file, so it should be fine for small systems.

gotson commented 3 years ago

You could look into how h5ai (a file index server) manages their zip file downloads. It allows to zip multiple files to stream them to the client, and from what ive seen it does not create a temp file, so it should be fine for small systems.

If not a temp file it would need to fit in memory, which is even a bigger problem for small systems.

Pfuenzle commented 3 years ago

Right, didn't think about that. The webserver should know, which parts have been already sent, right? So would it be possible to for example create 50MB steps, and then after the first 50MB has been sent, dispose of the first 50MB, as the client already has them and create/send the next 50MB. 50MB ist Just an example, could be configurable, if this even works at all.

github-actions[bot] commented 3 years ago

:tada: This issue has been resolved in version 0.71.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket:

prysme01 commented 3 years ago

works perfectly ... great feature thanks !

gotson commented 3 years ago

works perfectly ... great feature thanks !

all the credit goes to @Snd-R !

sam5558 commented 3 years ago

Thanks @gotson @Snd-R This is a time-saving feature, love it !