Webinterface to browse your files?

Hello there,

I tried syncthing for a few days now and I really like it. The only thing I am missing is a webinterface where I can browse/open/delete my files. This also would give the user the possibility to download his files on a PC which is not using syncthing. I am not asking to implement this feature as I understand that there are more important tasks to do but is there A PLAN to expand the current webinterface so people could access theyr files via web?

regards

shrewm

1 Like

There are some dedicated projects for this. Projects like that tend to have a lot of feature creep. Anyway, here is one: http://pyd.io/ (click demo on the right hand side)

I prefer owncloud (not yet tested with syncthing). Here is a [demo][1]. (Nonetheless, I agree to your wish.) [1]: http://demo.owncloud.org/index.php/apps/files

HTH

Thanks for your replies,

I will have a look at pydio I dont know this one. The owncloud webinterface is very slow on a raspberry pi and tbh I simply dont like it that much. Would be great if this can be used without the help of 3rd party projects.

Thanks again!

_h5ai is an nice-looking enhanced web index. If you tweak its configuration file, you can enable file deletion, uploading and multiple-file downloads.

4 Likes

Hello again,

I just wanted to let you guys know that _h5ai which @tituspijean posted works very well in combination with my syncthing repositories. There is no “rename file” function but that´s ok for me.

I was browsing _h5ai’s github while I discovered this anticlimactic news. Unfortunately, all server side file management will be removed in next versions of _h5ai, i.e. everything that made it something more than a file list generator. :frowning: The project has been forked to save these features, let’s stay tuned.

I’ve been using pyd.io for some time now. I think @jpjp and me can assure you it has all the file-management features you have been dreaming about. :slight_smile:

In a far-future feature, I was hoping to see a more talkative REST interface, able to deliver file-specific information to _h5ai (like synchronization status, or even deliver the ability to download only selected files…). @calmh, is this REST upgrade conceivable ?

1 Like

Sorry to revive an old topic…

I am a huge fan of SyncThing. I use Raspberry Pi2 to watch tv with OSMC/Kodi on it. But it also runs SyncThing and the attached HDD is basically my life with all photo albums. I have the same setup at my parents and inlaws for them to watch tv and store photos and other important data.

Syncthing keeps those RPi’s in sync, allowing a backup on 3 different locations.

Smartphones sync photo albums on the phone to these RPi’s. It all works extremely fast and smooth.

But I have to use SFTP to get files/pictures from those devices. It’s a bit annoying and especially when I need to search for specific photos in albums it can be a pain.

Now I am considering installing Spydio or OwnCloud or _h5ai. Purely for their webinterfaces or in the case of Owncloud their mobile apps. I wonder though which one is the most lightweight since it will run on an RPi2. Would love to hear what others are using.

Bear in mind that these can work well alongside Syncthing. I run _h5ai backed by Syncthing without issue. Someone else (search the forums?) wrote some tooling to integrate owncloud and Syncthing (so changes synced by Syncthing appear in Owncloud). There was also a discussion on Spydio a while back IIRC.

I don’t know Spydio but I am using ownCloud and h5ai. h5ai is a (php enabled) replacement for the folder / file listing done by the web server. Although it is not as lightweight as the listing done by the server (as it uses PHP), I think it is far more lightweight than ownCloud. But ownCloud has (of cause) much more functionality. E.g. the permission management with h5ai is solely done by the web server (.htacces).

Is it possible to use h5ai with SyncTrayzor (windows)? I like the user interface of h5ai so much. I know that I can locally access the files via a right mouseclick on the systray icon. But to access the files of my Windows installation of syncthing / SyncTrayzor from my notebook (which hasn’t enough space to sync all the files from my pc) would be very cool. (I believe, syncthing has an implemented webserver yet?)

You can’t use h5ai with Syncthing directly, but with a third party web server. I don’t know, if it works in IIS, though.

SyncTrayzor doesn’t really come into it: you’ll need a web server (apache, nginx, whatever) which can serve files to the outside world, then you’ll put the _h5ai folder in the directory you want to share (telling Syncthing to ignore it), and point the web server at the same directly.

I use Owncloud with access to the folders sync’d using the SFTP connection method.

this means that all files are stored on the local drive, and Owncloud connects to them via SFTP, avoiding all sorts of permissions issues.

Shewm, others,

Help me understand this request–maybe there’s something I can learn here.

Isn’t the purpose of Syncthing to bi-directionally mirror files onto two or more devices? So whatever device you’re sitting at, it could run Syncthing to obtain a local copy of the files, with no need for browser access to a remote server.

If the need is to access a cloud-based or server-based file server not running Syncthing, aren’t there many of other solutions? Most easily, put a web server on any one of your computers that do use Syncthing and pull the files by browsing the http directory structure. micro_httpd is about 280 lines of C code and is way simpler than sticking the function into Syncthing - shoot, it’s easier than configuring the option in Syncthing if it were in Syncthing.

It seems that syncing files among peers and read/writing files into that peer set are very different needs that are each handled with excellent separate solutions. You can have the best of both worlds pretty easily.

3 Likes

I imagine the webinterface differently:

  • The server sends the client a “prefabricated” syncthing-client
  • The client runs a dynamic syncthing client in his browser
  • The prefabricated client includes –> what folders are shared –> the IDs of the remote Devices –> the ID of the prefabricated client is already approved by the other devices
  • The client UI allows uploading and downloading of files and folders

Advantages over classic web-server:

  • redundancy: if one remote-device is down, others might still serve it
  • speed: simultaneous torrent-like download from several remote-devices (?)

a-sync seems to work like that?! I haven’t tried it yet.

You seem to be saying to essentially re-implement Syncthing in Javascript. Syncthing is currently about 40k lines of Go (not counting things we didn’t write ourselves like the database, etc), and Go is a language suitable for writing network protocol and file juggling things in - which Javascript is not. :slight_smile: So this would be a significant undertaking.

Much simpler to just do regular uploads and downloads over HTTP. This would be totally doable, it’s just not what I think Syncthing’s job should be.

Yeah, for what Syncthing is, it makes more sense to keep some sort of file browsing front-end separate.

Personally, I’ve been using droppy - it’s an excellent file browsing front end. It’s not multiuser, but since neither is syncthing, it works for me.

1 Like

Once upon a time, I was working on the tool for front-end user (I was also missing this feature). I have stop developing because of lack of users (and all features currently available are enough for me). You can check here: Github project

Here is also related thread on forum: Click!.

It contains pre-comopiled version for Windows and Linux (self-hosted).

1 Like

Sorry to dig up an old(ish) thread.

Would it not be in-scope to have a super simple file browser built-in to Syncthing itself?

Motivation: I have syncthing repos which I would like to access from my phone, but not synchronise fully to my phone. Perhaps I want to just download a single paper to my phone, or upload a picture to one of my ST folders.

Up until recently, Syncthing-lite for android would have done the trick, but it is sadly no longer maintained and upload is now broken:

Although there are lots of external pieces of software out there for file access, they all require a web server and PHP and a gazillion other dependencies. I’m looking for something much more minimal.

Thanks

1 Like