RClone GUI suggestions needed


#41

The first step is to make the rc interface work in such a way that it can control rclone entirely. That will be useful for lots of things, not just a browser interface.

To start with, I suggest something like rclone serve rc --serve-files /path/to/files/to/serve which would

  • start the rc with the new interface
  • open the index.html in the path in the browser

This would then enable experimentation with web technology GUIs.

Given the above that is probably quite easy!


#42
  1. Inform your git so we can collaborate;
  2. Release at PyPI;
  3. Py3 compatibility (may be need use wxPython as graphical library, supporting also memorizing the configurations);
  4. A wizard configuration, for user that are not habituated with terminal create the cloud profiles (this may be released in the future);
  5. If @ncw agree, use the animated logo A New Logo for rclone to inform the status.

#43

On the rest-api branch I’ve been beefing up rclone’s API so that it can support a GUI.

https://beta.rclone.org/branch/v1.44-058-gd6bfda02-rest-api-beta/

I also made a new command rclone rcd which does nothing but serve the API.

So you can type

rclone rcd --rc-user user --rc-pass pass

or

rclone rcd --rc-noauth

to serve the remote control. Use rclone rc while it is running to see all the API. You’ll need authentication to do anything which involves looking at files (or use the --rc-no-auth flag).

If you want to read file data, you can use --rc-serve which is explained here: https://github.com/ncw/rclone/blob/rest-api/docs/content/rc.md#--rc-serve

There is no way to upload files right now, but you can use operations/copyfile to copy a local file to a remote file.

I’ve also made a proof of concept react app which talks to rclone via the API. You can serve this via rclone with the --rc-files flag.

My plan for this API is to enable the building of GUIs for rclone (and other scripting uses).


#44

Thanks for your time, i hope for Q1 2019 have a usable GUI.


#45

+1, RcloneBrowser is what I use 99.9% of the time but it’s basically abandonware at this point


#46

I’d be interested to know what features of a GUI do people use?

It has been a while since I played with rcloneBrowser, so I don’t remember its exact functionality.

Things I think a GUI might do

  • show a split pane view of local and remote and allow dragging between the two
  • allow dragging to and from a single directory view in the browser window
  • allow preview or showing/playing files in the browser (eg open pdf, play video)
  • examining rclone config
  • showing the log
  • configuring new or editing existing remotes
  • starting mount points

Please rate in order of importance and add more I’ve forgotten!


#47

show a split pane view of local and remote and allow dragging between the two

I think having the option to display many remotes at once is important. If it’s limited to two, I’d like to be able to show two remotes side by side, whether it is a local and a cloud remote, two locals, or two cloud remotes.

Another feature I’d like is to see the generated command for an action and be able to copy it. It would help me build my scripts faster.

That said… I like all those features, haha. Rating them for me is hard but the ones I mentioned would be the most important ones for me.


#48

yes, playing file mp3, mp4, mkv would be great, preferably with subtitles, using built in https://github.com/videojs

videojs which is great.
Unfortunatelly AVI files are not playable and probably wont be.
Also viewing pdf and other filetypes.


#49

Split view of local & remote isn’t super important IMO, I know a lot of apps have this UI but it’s just as easy to have Finder open next to RCloneBrowser in my experience. Split pane for drag & dropping between multiple remotes might be cool, but having tabs for this is probably better.

The biggest thing for me will be multi-item selection as mentioned earlier in the thread, and the ability to drag & drop within a remote, or between remotes.


#50

One additional thought for a really handy GUI feature - generating public links to files (https://rclone.org/commands/rclone_link/)

This would also go hand in hand with proper searching of remotes as well - if it could handle searching of both the current folder AND global search of the entire remote, and then generating public links from the search results, that would be amazing.


#51

Searching is a good idea. Rclone could easily search for filenames. I think searching the contents of files would probably be too slow.


#52

I think filenames search would be amazing, would certainly be all I’d need.


#53

While I’m excited for all of this, this all should be separated from the current binary.
I think the best feature of current rclone that makes it the king of tool is that it’s so versatile and being able to be deployed in so many platforms, old and new.
I can install rclone in compatible router, old android phones and tablets, latest NVIDIA shield etc. Old phones that have no use case has become rclone end point which is super awesome! I have an army of low-powered high-IO throughout devices and it’s awesome because rclone binary is small and have small dependency of other stuff.


#54

Absolutely, I don’t want to break any of that! I’m experimenting at the moment. If I can wedge a browser based GUI into rclone and expand the binary size by 1MB but otherwise leave all the above the same, what would you say?


#55

Thank you, that sounds great. And as always thank you for your work.
In building gui please always take into consideration that router and old phones has less cpu power, memory and storage. Rclone via termux or other similar way on Android has been very great to turn old phones into something very powerful.

Honestly I would probably rarely or never use a gui because the best gui is the ones we already have, in my humble opinion. For example I use rclone + samba so my gui is a standard file Explorer in Linux, Windows, iPhone and Android. That’s my daily drive for gui. File search, streaming etc all is handled very well by each apps on that platform.

I’m more interested in gui that abstract technical layer of rclone. For example in other thread there’s a person who built rclone gui with electron js to mount, upload, download etc. That’s a good direction for wider rclone use. Things that normally require terminal would be great to be done in easier way in gui.

But then again I use rclone only for GDrive. A gui could be very useful for rclone for othercloyd providers.


#56

Is that before compression? If so, that’s fine with me too, as long as rclone remains go get and go build compatible.


#57

I’m assuming that 1MB would be compressed assets within the rclone binary.

go get is something that I wish to maintain for rclone which means that there would be a separate build the GUI step and commit it. I’m fine with that though!


#58

Additionally, could someone maybe just fork RCloneBrowser and update the most obvious areas where it’s currently broken? The stats revamp in 1.43 has broken RCloneBrowser’s stats readouts for example.


#59

Take a look here.