Sharing folder with others

Many cloud storage providers allows you to create a sharing folder which allows you in return to share files with friends and family. I would like to see more features to make Syncthing used as a way to share files between others, here is what I would like to suggest.

Create public Sync ID Instead of sharing your device ID, to be able to create another Device ID or be able to have a secondary device ID that is meant to be used when sharing files with others and using your main device ID for your own personal devices

Allow/Block Subfolders An option to not allow subfolders to be synced within the syncthing folder

Data Cap Set Data Caps to prevent someone from transferring a large file over. I been told this is a feature but I do not see this as an option when I edit a folder in Syncthing-Gtk.

Folder Size Cap Have a cap on how much the folder can contain, this can prevent your folder from ending up to be gigabytes in size. I been told this is a feature but I do not see this as an option when I edit a folder in Syncthing-Gtk.

Approve Transfer Instead of setting up the device and then the folder connection. You can set a folder to approve the files from another device to be sent over before they are. Not to approve weather your folder will sync with another folder, but to receive files when they detect changes. Maybe even seeing what the files and folders are and how big the files are before they are synced/transferred.

Once Time Sync Once the files are synced, it will delete the syncthing connection between the two folders.

Folder Expiration Be able to set a date and time when the syncthing connection between two folders will be deleted.

Password Require a password to connect to a device or to sync two folders.

I’ve already answered most of these.

One time sync is out of scope for a continuous sync tool. Just use rsync.

Folder expiration is sort of a moot feature that feels like “and a kitchen sink” for a continuous sync tool.

Password for sync is also moot as by default you have to manually approve the request to sync something, already giving you the control. Trust is mostly based on devices not folders, so if you trust a device, you presumably should trust its folders.

Syncthing is not a public sharing tool, it’s for your own devices. Perhaps you are trying to fit it to a scenario it’s not made for.

2 Likes

I understand Syncthing is a great sharing tool for your own devices, I thought it can also make a great private sharing tool between others with just few new features especially since Syncthing is decentralised tool.

“just a few new features” is man months of effort

1 Like

I agree it will take months and maybe even years. If these do get the go ahead I will not be in any rush as I understand open source projects take time and patience is key.

You have to understand that this is a hobbyist maintained piece of software, where people work on whatever they feel like working on, just because it’s cool, they want to explore something or they want to burn some time. People get nothing monetary return for the time they put in this, and I personally do this for user satisfaction (which I swiftly balance out by upsetting everyone on the forums).

There is very little incentive for someone to sink months of their time just to because someone on the interwebz said it’d be cool.

If you really want this, roll up your sleeves and start opening pull requests with the code changes, yet as it stands I think it would be easier to implement a new piece of software, than to adapt syncthing for “public sharing”.

Just setting the expectations here.

It was worth a try I guess.

So first of all: What Audrius said :wink:

Then I don’t think Syncthing is that far from what you want. It is already viable for sharing stuff with other people. The cap and approve transfer (which I translate to choose which version (local or global) to take on send-only folders) are missing and viable features. The rest are either already there (probably in another form than you wrote) or out of scope/I don’t get the use case (one-time-sync, expiration).

In other words: Please write about your concrete usage-scenario/requirements and lets see how you can do that with Syncthing and what concretely might be missing. The flip-side of people doing this for fun (and user-satisfaction) is when you flesh out a requirement/use-case/feature nicely, someone might actually get hooked and implement it.

Create public Sync ID The reason for this idea is to have a sperate ID you can share to others in order to keep your private Sync ID private and to yourself.

Data Cap To ensure the sender cannot drain the reciever data when sharing data. I know this is already added but to be added as an option per shared folder.

Folder Size Cap To prevent people from trying to send you unnecessary large amounts of data and to prevent unwatched folder growing dramatically in size. Allow users to set the folder size cap in MB or GB units.

Approve Transfer Once you pair two folders to sync they are paired. But an additional step will send you a message approving the sync request once it detect changes in the paired folders.

Once Time Sync Once the files are synced, it will delete the syncthing connection between the two folders making a simple one time transfer.

Folder Expiration Be able to set a date and time when the syncthing connection between two folders will be deleted. Incase you forget syncthing will do it for you.