How do you share your files?

Hi there.

I would like to totally replace my Dropbox with syncthing. The syncing-files part is OK, I have my personal server, computer, laptop and phone, syncing files really well and nice.

But dropbox also allows me to easily share files over web from given URL, with nice image viewers, gallery viewers, file previews etc. For example when I want to quickly share some pictures with friends, or video - it can even be played in browser etc.

I have a web server accessible over internet, I could create a repo/folder that would be accessible over http, but… it looks terrible, so is there some way, for example some PHP scripts that would take content of a directory and serve that in a modern way like dropbox does? Mostly I am interested in media (pictures, video, music…)

Are you using syncthing to share files in this way? If so, how do you do it? If not, what other software/tools do you use?

Also great feature of dropbox is its integration with windows explorer, so I can just right click file/folder, select “share in dropbox” and it even copies the URL where my files are shared to clipboard… this is very handy indeed… I know this is something for clients like SyncTrayzor ( SyncTrayzor: Windows host for Syncthing. Installer, auto-start, built-in browser, tray icon, folder watcher, and more ) rather than syncthing itself…

Just sharing my thoughts. Thanks for any reply.

2 Likes

I do something like this, I just have a folder named “public” that is synced to a directory that is accessible over http so I get something like http://some.url/public/filename.txt for all files that I put in the public folder.

On windows you can use a entry in the registry that adds a entry to the right click menu and then executes a simple .bat that generates the link and copies it. If your are interested in the .bat and the registry entry I have to look for it when I’m on my windows pc again. For ubuntu you can also add entries to the right click menu but I don’t know what the program is called to do that, I also have to look that up later again.

3 Likes

You could link the folder to an owncloud instance, so you can share specific files/folders with login or public.

If you want to share it completly public (and perhaps htaccess auth) you could use h5ai (demo, currently broken in Firefox for some reason, but Chrome works fine). This will replace the folder-listing function of apache.

3 Likes

Yes, the .bat file would be helpful.

Now only something like this for android and all other platforms : )

h5ai looks interesting… thanks for the link

Try Apaxy which might work better for you than h5ai.

Or use nginx which has built in autoindex of folders, and also fancy theming of folder indexes. (more info in my other post)

Or I suppose you could setup MediaGoblin and then use their command line uploader to add media to your site.

First write a bash script to generate the link and copy to clipboard using xsel or xclip. Then to add that script the right-click menu:

That looks awesome. Basic functions seem to work for me in Firefox with Javascript disabled.

For sharing, right now I use Cloudup which gives a nice command line tool for uploading and managing files.

If I ran my own server, I’d use nginx to serve a public folder, and sync the items in that folder with Syncthing.

1 Like

in the .reg file “Public” on line 5 is the name of the folder in Windows (maybe a absolute path will work, like it is now every folder named “Public” will have the menu) and on line 8 is the path to the .bat. In the .bat you need to set your url and your path to the folder. The other stuff is some string replacement that I don’t understand any more, but it works :smiley:

clip.bat (263 Bytes) copy_link.reg (584 Bytes)

2 Likes

Continuing the discussion from File Access API:

Syncthing is good for what it is intended to be: a decentralized file syncing software. If you want to share files with other people, have them available through the web browser and so on, you should consider another software. I would suggest Seafile, which actually does what you want. It is for me more a Dropbox alternative, while Syncthing is a BTSync alternative.

2 Likes

Except that Seafile (and Owncloud) takes a while to setup, is not easy to setup, and is over-kill for sharing a file or folder publicly. There’s no need to run an entire LAMP server stack just to share files, nginx can handle this for you faster and with less system resources.

Just setup a folder with Syncthing, use nginx Server Blocks to expose that folder publically and you’re done. nginx has autoindex to display files in a folder, or you can install fancyindex for custom theming of your folder display.

So, Syncthing for syncing, nginx for serving. Simple, and much more efficient.

If you need a tutorial on how to set this up, PM me and I can help.

Yeah, except that the OP explicitly says that he already has a webserver, and that it is not an appropriate solution…

I don’t know about Owncloud, but Seafile takes 5 minutes to setup, with an command line installation procedure. Afterwards, you can create share links to send to people, so you can be sure that only the persons allowed will access your files. People can even upload files on your server. So yeah, Seafile/Owncloud is heavier than nginx/apache, but offers much more possibilities for file sharing.

You might also consider Zenphoto, for media sharing.

1 Like

Actually I was looking for something between owncloud/seafile and apache/ngix file serving. The owncloud/seafile indeed seems as overkill. Even if they are easy to install, they add unnecessary complexity to the server, they will need to be configured, secured, updated…

My ideal is just one or few PHP files that would render the files in modern ways, using some javascript libraries like lightbox or whatever appropriate…

Zenphoto, as suggested earlier. As far as I remember, it will create galleries automatically from a folder, which can be a Syncthing folder I guess (since FTP is accepted as well to upload pictures/videos)

Take a look at nginx fancy index and use this theme for fancyindex which are HTML templates instead of PHP, and add your favorite javascript libraries for display of Video, Audio and Images.

Since HTML, you can modify and re-theme according to your tastes, and load in functionality with custom javascripts. And running on nginx, so super fast. :smiley:

Syncthing is great. I have 4 Synology Server at different locations and use BTsync and Syncthing mixed, but NOT on ONE folder. This is also from me tested and not valid.

Both tools have their advantages and disadvantages.

For the sharing, BTsync is very political in my eyes, because no freedoms are possible in the application. If key are shared, BTsync is needed to access the files that are to be shared. The concept is good, no question, but what I do in professional environments? Especially in companies where everyone manure must be approved and not all tools are allowed?

Therefore, no significant advantage over Syncthing for me have BTsync. The handling of the devices seems to be more complicated, but there are more options for synchronizing the directories.

Therefore for the sharing I use OwnCloud, which was amazing for or even the native tools of Synology, which are also very good, but they are not as flexible as that of OwnCloud. Above all, these possibilities are free for other use. For sharing files only a browser is needed and will have for everyone in a company.

And, what I forgotten over all, I doesn´t use Dropbox, GoogleDrive, OneDrive or such platforms. With this tools I have desrcibed, you can all doe for your own, its great! Synology for me ist the best server platform for this and all the software I can use on this in the package center is up to date to all what you all known.

For information only, I use the Synology DS412+, DS1512+, DS712+, DS414, DS214play…

maybe have a look at pydio

it is much more easy to maintain than owncloud

1 Like

Wow, pydio looks promissing. I will give it a try… do you use it yourself?

https://pyd.io

1 Like

pydio is a bit more than promissing

it is just used by qnap, lacie, redhat …

normally you start it and forget have somes boxes running pydio since some years

I don’t know about the maturity. I tried to log into the demo to try it out at demo.pyd.io but it doesn’t let me focus the pwd input from my android. I had to switch to “hackers keyboard” and press “tab” on it. Then inside half the time menu links didn’t work. Overall not very good experience from smartphone. Then it freezed. I had to close the page. Also I didn’t find how to share files as minisite.

Then I installed the android app. Loged in the demo server and didn’t find how to publicly share file or folder as minisite.

Where is the maturity in that?

Xavierl how do you use it if I may ask? How do you share files from pc and phone? How does syncthing fit into the workflow? Can I see some examples of minisite somewhere? Couldnt find any…

Thanks