I have a feature request.
What I’m envisioning is a sort of inbox, where the “owner” can access all the files in their inbox folder but the people who upload to that person’s inbox can only access the files they shared.
Lets say we have three people: Alice, Bob, Joe. Alice has a shared folder to which she shares a public key with Bob & Joe. While Alice can access any files in the share, Bob can only access the files Bob shares and Joe can only access the files Joe shares.
Currently, the cloest I can configure Syncthing to this is to set-up a common folder between pairs/groups of people. That means there is a folder for “Alice <> Bob”, “Alice <> Joe”, “Bob <> Joe”. Obviously, that doesn’t scale well. What I’m really wanting is to give Bob & Joe the public key to my single inbox without sharing the entire inbox with Joe & Bob.
Another way to think about it, is this might replace email attachments.
There is no public keys for folders. This is a completely different architecture from syncthing hence I don’t think its suitable.
I don’t think a public key is necessary for this functionality. What I’m suggesting is a primary node that has relationships with multiple secondary nodes, where the secondary node can only access / list the files it shares with the primary node.
Not sure I follow the idea, bur in syncthing, all nodes are equal, there is no primary secondary etc, as its all decentralized.
While I haven’t tried it yet, I may be able to get similar functionality by setting the primary folder (the recipients inbox) to “receive only” and the secondary nodes to “send only”.
There would be multple secondary nodes, but they shoudn’t be able to see the files sent by other secondary nodes. The primary node would see all the files sent by all seconday nodes.
Ideally, the recipient would be able to set their folder as “inbox” which would 1) force “send only” on the secondary nodes 2) perhaps “publish” the existence of this inbox to devices that have paired up. Also, when the primary node deletes the file it deletes on the file on the secondary node.
Syncthing is a decentralized architecture. There is no way to force any other device to do anything. Especially not what other devices they share some folder with once they have the data. That’s why there are the two folder types receive-only and send-only, because the choice is always made locally for each device.
Publishing a folder for every known remote device can be done by clicking ‘Select all’ in the sharing tab. And for future devices, just check it in the device defaults settings.
Alright, lets say we have three nodes A, B & C. A creates a folder (…/Inbox) set to “Receive Only”.
Would it be possible to create multiple shares of the same folder (…/Inbox) with different Folder IDs for each node relationship? The Folder ID for A & B might be 8gjkf-4ksdj, while A & C might be 5jght-9fjis, but its still the same folder on A.
In this way: A & B are paired; A & C are paired; B & C are not paired. Therefore, it doesn’t matter whether B & C set their folders to “Send only”. Of course, if A fails to set “Receive Only” then B & C would eventually thru A (but not directly with each other).
You can add different folders under the same path multiple times. The caveat is that ignore patterns will be shared between them due to the location of
.stignore which cannot be configured on a per-folder basis.