Menu

KEIBIDROP: P2P filesystem I've been building in go for the last year
📰

KEIBIDROP: P2P filesystem I've been building in go for the last year

Reddit r/golang·u/Secret-Employer282·6 months ago
#8OMrXVK7
#keibidrop#github#keibisoft#fuse#article
Reading 0:00
15s threshold

Hi gophers,

Over the last year I've been building (in my spare time) a cross platform FUSE filesystem that also has a GUI.

(altough the GUI is slint.dev and bound with rust, the engine is in golang)

This was inspired by croc, rclone, and the huge amount of pain I had 2-3 years ago working on a similar project.

What it does? Sends file from Alice to Bob, or lets them browse the files in real time, and open them in any app from their system via a FUSE mount.

Go specific fun things. It uses the crypto/mlkem package to negotiate a session key.

Then it upgrades a TCP stream to an encrypted Stream and passes this stream to a duplex gRPC client and server on each peers machine.

Now people can stream files between them. Like add files, download files.

But that is not that fun, so why not offer the full Dropbox experience?

So from start we went with let's do FUSE cross platform.

And we did here: and the pain is real, on linux fusermount3 all good. Just lets try to make git clone work.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.