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?
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.
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.
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
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.
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.
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.
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…
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…