Master Key Containing Only Subfolder/key Pairs


Recommended Posts



Ive been using bittorrent sync in some different communities to share data.

Right now i seem to have two options for doing this:


1) Make a full access key public to all contributors, which means they can upload junk, create a lot of useless subfolders, delete by accident etc


2) Have each member create their own key and post the read-only secret, every other community member then needs to add every key and create a corresponding subfolder


A good solution for this would be to have some sort of master key i can share, which is a read-only key containing metadata for subfolders and corresponding secrets, which can be either full access or read-only.  This would contain every member in his or her own folder and would allow me to add folders with keys which would instantly be shared over the community, giving all members read-only access to eachothers subfolders while not allowing them to delete or edit the main folder or other members folders.


I can see other implementations for this in for example development projects, applications built on top of bittorrent sync etc.


Its a master key containing keys for subfolders, the user just adds the master key and the master folder.

An extra would be for the end user to be able to enable/disable certain subfolders for syncing.

Link to comment
Share on other sites

You could do this today by having a general "download share" with the "master" secret (of which you only give out the readonly secret to your members) and several "upload" shares, one for each contributor. With some background job you would then either copy the uploaded files to the download share or create symlinks - this could probably be triggered by BTSync API, so it would be near-instant.


Pro: Works now, no change to BTSync required

Con: You cannot use the Contributors' bandwidth for downloading to the members at once. The initial seed would all need to be done by your bandwidth alone (until at least one member has enough data to seed). This could be mitigated by having the contributors sync the "download" share as well. Also your "upload" server would be a SPOF at least for sharing new content.


I think this subfolder-sub-secret stuff is a nice idea, but the changes required to not only the BTSync client but also the protocol are somewhat prohibitive.

Link to comment
Share on other sites

In the same way that a read only key can be used to transfer a share key now, the same function could be used to just transfer a list of subfolders/key pairings.


This would allow people to create 'repositories' and add them.  The person who owns the read/write to the master key can add new subfolders/keys.


I think this would be a great function to implement.


I'm going to give some good examples:


1) Me and some of my friends create a repository to share pictures, everyone has read/write on their own folder but they cant mess with the other folders.  However they do have read-only access and can view all the pictures shared by every other friend.  I can then add new friends with their own folder to the repository.


2) An event organizer has an event, he posts on his website that everyone who took pictures on the event day create a sync folder and share the read only key with him.  He can then add the key to the repository.  Everyone who adds the readonly master key then instantly has access to ALL the event pictures while they cant mess which eachothers folders


3) A photography business has one master key containing different folders for the photographers which they distribute as read-only, each photographer had read/write on their own subfolder and have read only access to the other folders.  Only the repository admin (the one with the master key) can add a subfolder/key pair.  They then get added instantly on all subscribers to that master key


4) A development company has different project for which they create a master key, they add new projects and only give read/write access for subfolders to the people who need it (the developers of the specific project).  Yet everyone with access to the repository has read-only access to the projects folders


I can think of some other good implementations for this.  It would take sync to the next level.

PS: im aware that this can be done using the API by building an application, just having this feature implemented by default would open it up to every user.

Link to comment
Share on other sites

In the same way that a read only key can be used to transfer a share key now, the same function could be used to just transfer a list of subfolders/key pairings.

I'm not saying it's a bad idea or not possible somehow - I'm just saying that this requires some fairly major changes in both client and protocol, so I would not hold my breath for a prompt realisation.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.