I know this has been similarly asked before, and it has been said it doesn’t fit the design of syncthing, but I’d like to put my voice in as this would be VERY handy for me!
I have a folder on a server that 1 or 2 remotes (myself and a file author) will update regularly (add and modify, rarely remove), but I also want to have many anonymous remotes that would like to get up to date copies of these folders.
I’d like to be able to allow the anonymous users to connect to my remote without asking permission, automatically be given the folder in a readonly mode, so they can sync from my remote, and hopefully with the other remotes for distributed syncing.
These files are for a card game, and the card art files are hard for end users to keep up to date with from an authoritative source.
I’ve provided the creator/author of these files sftp access to update my server, and I publish them from an http server. Granted now I can provide the author an easier way to update my server with syncthing instead of manually logging into the sftp and pushing files.
But I’d also like to be able to tell users,
“You can now also download this app, add my server ID and this folder ID, point it to your local card/art folder, and you’ll always be up to date.”
Providing shared bandwidth resources from neighboring syncthing remotes, if possible. (Even if not, they can keep syncing with my server.) More or less I’d like an auto approve anonymous readonly mode.
Instead of anonymous users downloading the entire 3gb zip catalog file over and over, they can just get the updated images files. (I provide smaller zips for each set, but we all know people will just get the biggest file first.)
You can accomplish this with a script that listens for “device rejected” events and adds the device in question. I have one of those lying around somewhere… But, you’ll be spending energy and database entries tracking what those users are up to, which is unnecessary work for what is just a distribution mechanism.
Having your users help you out with bandwidth sounds enticing but that makes them participants in the Syncthing cluster and gives them the ability to change files. Or, see above
presuming the feature I’m requesting is implemented correctly (as in how I’m imagining it to work), the users supporting could be restricted to only send files that match checksums that match the server any file out of sync would not be allowed to distribute. the more and more I try to think up how this works, I just keep hearing “why not bittorrent” in my head.
Well I know the reason why not bittorrent, is the requirement that the files must not change unless you create a new torrent file, which could be automated but all other seeders wouldn’t be apart of the new torrent. Which goes back to why syncthing (from how I interpreted the description before installing) sounded like the real solution… if I didn’t have to approve new remotes, and the remotes could send to each other.
But now I’ve got to find something that fits this more.
Hello, I’ve just made account to post this. I’m overwhelmed how good Syncthing works, how easy it is and I’ll spread a good words about it, really, I even bought Mobius sync for iphone, but there is one “but”: isn’t there really no any workaround for read only access for clients? I want to share some photos in family, but that danger that someone will delete them all by mistake, or by program bug, unpredictable event etc. is very undesirable, not to say dumb by design. I can tell them of course to set receive only option on their devices, but shouldn’t be there a possibility to simply force it on server side that should firstly decide about it? It’s a very first thought that I had when I saw it’s impossible and every file system access out there has such option starting from ancient times. I do manual backup on server, I have to… to prevent from what shouldn’t never ever happen in real world. Syncing shouldn’t be a way of backup of some sort? I use Syncthing also to backup my source code of things I work on, laptop is set to send, server to receive only. Please think about it.
So what is then? Syncing is not in your opinion, Git isn’t neither, which is stated clearly if you search for it in manuals. I think syncing is a kind of backup and a lot of other software states this when we compare their naming , especially if that syncing is one directional. Backups are usually compressed, in one file, and syncing is simpler, slower in initiating full copies, but on other hand you don’t have to waste time on getting single files from backup archive, then it is even faster than differential or full backup. Anyway guys, we can talk a lot in this pointless academic discussion that proves nothing. What funny for me is, that about that issue are new posts here on forum over and over , so that function is very desired.
You can let Syncthing be one part of a backup solution if you want, but not the backup solution.
Example: Use Syncthing to maintain a copy of your important stuff on an off-site computer and use e.g. Restic https://restic.net/ to create a local backup on that off-site computer. Instead of Restic you can use snapshots if the filesystem allows it, like btrfs or zfs.
Don’t get me wrong. Syncthing is great for backup when only you have access to all nodes, especially when versioning and some longer sync time is applied other than the default immediate, otherwise, yes, some other tool is needed.