SparkleShare creates a special folder on your computer.
You can add remotely hosted folders (or "projects") to
this folder. These projects will be automatically kept
in sync with both the host and all of your peers when
someone adds, removes or edits a file.
SparkleShare uses the version control system Git under
the hood, so setting up a host yourself is relatively
easy. Using your own host gives you more privacy and
control, as well as lots of cheap storage space and
higher transfer speeds. We've made a simple script that
does the hard work for you.
[0] https://www.sparkleshare.org/Nextcloud encrypts each users files, so you can let your friends use it too.
SFTP is simpler and must faster to set up and much lighter weight. You could create accounts for friends, but it's up to them to encrypt their files at rest.
Both are self hosted. Nextcloud requires a bunch of dependencies, or using their docker image. SFTP is already on any linux VM you spin up.
[1] - https://nextcloud.com/
I've done long ago ftp in the past, but I like auto-syncing my files to provide redundancy. Though using ZeroTier it's pretty easy to sync between my devices. Especially as I use ZFS, so `zfs send | ssh othernode.home zfs receive` is pretty nice.
Anyone use https://www.resilio.com/ (previously Bittorrent Sync)?
My preference is Chroot SFTP + the LFTP client. It's the fastest sync I have ever used and trivial to set up both client and server. You can get auto-syncing with inotify or a cron job in this manor.
Requires minimal config, uses LAN if available, also supports multiple folders and ignores. I can store all my npm using projects on there now, and I can "spin up" a new computer very quickly by just syncing my config folder.
Nextcloud is written in PHP an so many people believe it to be insecure per default, but the devs are highly capable and put an emphasis on security from my experience.