Web interface for rclone

rclone is a fantastic cloud sync tool. As good as it is though it lacks a web interface. This is of course not a problem for geeks as rclone's popularity proves. However, it is a problem for everyone else.

Your job is to create, possibly from scratch (feel free to look for previous efforts), the ultimate rclone web interface that makes it possible to do from it everything that should be doable of nothing that shouldn't be doable.

What does that mean? It means that it should be possible to give access to your web interface to a good faith operator (for example, your mom) and not be possible for her to break anything unintentionally. This implies that roles will be necessary, so it's possible to disable certain operations to users even if we trust the users (“as good people”).

Of course, it also means that a bad actor shouldn't be able to use your system as a way to break anything other than rclone's config, but nothing else in the host system (for example, no exec, etc). So yes, common sense :-)

GSoC is 3 months. This is quite a bit for time for a web interface to an existing product with a healthy community, but we are quite ambitious with the scope. It's not a “basic” web interface what we want to contribute, but a complete one that becomes the reference one. Anything and everything that rclone supports your web interface must support.

It must also work behind a reverse proxy, by accepting the standard –baseurl parameter. For example, suppose you use Flask or any stand alone web framework that comes with its own web server and that your interface is available at

http://localhost:5000

It must be possible to use a reverse proxy in a way that

https://example.com/rclone

can be mapped to http://localhost:5000/rclone and it works.

If you have experience with frameworks then you have problem seen it. If not, do a bit of research. It's easy to implement, but you have to implement it. This is an essential requirement - users often want to use a separate web server to handle security, certificates and so on, and they don't want to open a different port of each web interface.

  • public/gsoc/rcloneweb.txt
  • Last modified: 2019/01/11 20:07
  • by cfsmp3