Alcun Atirutan BBS

@requiem syncthing plus some kind of tpm for block level crypto?

seems do-able with those two pieces of tech

@requiem I think there are a couple. Tahoe project may be one: https://tahoe-lafs.org/~warner/pycon-tahoe.html

... I'm having a mental blank on the name of another similar one!

@requiem ah! the other thing I was thinking of is IPFS - https://ipfs.io/ .

I think there is a project built on top of IPFS that does something like this... although I don't remember what it's called, sorry

@requiem definitely get a "really powerful, also really complex!" energy from it

@kemonine @requiem I was thinking the other day that it'd be great if I could add an untrusted syncthing device to my network that synced ciphertext of some things I already sync, to increase the overall availability - but that device couldn't acess the plaintext of what it was syncing.

(Haven't taken the time to look at the SyncThing protocol to see if this is even remotely possible, this is at the "idle thought" stage)

@projectgus

Syncthing shovels filesystem data about without much thought or care about what that data is

It has a conflict resolution that's as robust as "these two things tried to collide, pick a version thats proper" and that's about it

You'd need something like encfs or similar 'on top' of whatever syncthing is syncing to get that kind of support

it's likely do-able but more work than doing the crypto at the block layer and leaving syncthing's transport security to do the hard part of moving data around safely w/o crypto actually applying at the fileystem level

@requiem

@projectgus

Also: last I looked nextcloud has some options for object storage, encryption and the like, it may actually be easier to build a nextcloud cluster than other alternatives

@requiem

@requiem not a bad idea. Would you use Syncthing for the backups?

@requiem this used to be a main feature of CrashPlan but they removed this and made Crashplan into a corporate-only tool about a year ago! http://www.documentsnap.com/how-i-do-offsite-backup-to-a-friends-computer-using-crashplan/

@requiem I want something like this,
for my general archives. no blockchain needed, just common sense and a few mutually trusting people.

Everybody runs a store, each store lazily checkpoints its blob archives to the others.

- blob store archive: haystack https://research.fb.com/wp-content/uploads/2016/11/finding-a-needle-in-haystack-facebook-s-photo-storage.pdf
- data integrity: blake3 fast hashing https://github.com/BLAKE3-team/BLAKE3
- lookups: xor filter https://lemire.me/blog/2019/12/19/xor-filters-faster-and-smaller-than-bloom-filters/
- automatic distribution: TBD
- retrieval: just use nginx + http range query

There is taohe-lafs which does almost exactly what you want (storage that is encripted and distributed on N devices, where you need M<N to recover any file, so boxes can safely go offline), except it requires a central server that knows about the nodes (or at least it did the last time I tried it).

https://tahoe-lafs.org/trac/tahoe-lafs

@requiem Sounds like Tahoe-LAFS is the software you're looking for. https://tahoe-lafs.org/trac/tahoe-lafs

@requiem @kemonine @projectgus I use ZFS snapshots for backup with a combination of Syncoid and Sanoid. Sanoid maintains the snapshots and clears them out on schedule, and Syncoid synchronizes them with a remote zfs site. It's not exactly automatic though, you have to put a cron line in for every destination and every mount point you want to backup, and need ssh authorized keys defined on the destination site.
replies
1
announces
0
likes
1

@kazriko @projectgus @kemonine @requiem

🤔 Does that work with n:m source:destinations?

@fink @projectgus @kemonine @requiem You would have to define a cron job on each source for each destination, along with giving each destination an authorized key entry for every source that will connect to it, it's a lot of manual work for doing zfs syncing. Each destination gets a full copy of the data in the mount point though. Documentation says you can encrypt mount points and sync them encrypted as well, but I haven't tried.