Make backend configuration configurable per HTTP request on 'serve http'

Background: I'm currently designing an Ubuntu mirror that's supposed to have snapshots available. Those are currently created/served by the --s3-version-at feature, set to the specific time we want the mirror to serve. This works great (thank you for implementing it!), but needs to be statically configured. I'd like to make this configurable per http request:


(With some $proxy magic, this could be

From a more generic point of view: It would be great if rclone serve http could be dynamically configured on a per request base. Is something like this realistically possible to implement?

Could it? Sure.

If it's something you'd want, go for submitting a PR.

If you aren't a developer (like me), you can always open a feature request and depending on the want, someone might pick it up or if super simple, ncw does at times, but the backlog of want is huge.

Maybe check out something like NGinx or Caddy to do what you want in front of rclone.

You can configure rclone serve http dynamically using the auth proxy... Actually I don't think serve http supports the auth proxy but serve webdav does so you could give that a try: rclone serve webdav

You could then set up a different user (or just supply the username as a date) for each date.

So you'd then use something like


Note that in rclone terms, changing --s3-version-at requires creating a new s3 backend instance.

Does that sound useful? I can make rclone serve http support the auth proxy quite easily I think.

Thanks @ncw, that's exactly what I was looking for! :slight_smile: I've verified that it works as expected with the rclone serve webdav.

It would be awesome if this could be implement for rclone serve http. I've opened Support `--auth-proxy` for `rclone serve http` · Issue #6779 · rclone/rclone · GitHub for it.

Thanks again! :slight_smile:

1 Like

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.