Remix.run Logo
FireInsight a day ago

Very interesting. With the "virtual folders" feature, doesn't this also compete with Syncthing kind of? I have actually been looking for a solution like Syncthing, where I can write and cache files offline without actually having all the files in the full synced folder on every device (just my NAS). Kind of a hybrid between a remote filesystem mount and full-on folder sync.

coldstartops 19 hours ago | parent | next [-]

Yes-ish, adjacent. Syncthing usually you use it to sync to your server.

Here I skipped the server part. I just connect two devices.

If they both use the virtual mountpoint

MountAlice and MountBob

They get an underlying SaveAlice and SaveBob on disk.

so what gets dropped in MountAlice gets saved to SaveAlice, and appears in MountBob.

Once bob accesses it in MountBob it gets cached to SaveBob (like saved persistently to disk). But while the transfer happens a mmap is saved to disk to keep track of the segments that were transmited.

If changes happen on Alice for the file, GetAttr metadata is synced when the filehandler on Alice is released. and Bob knows to request the parts of the file that changed.

It did not go for the full-on folder sync. I went for a synced filesystem while the peers are connected.

And because ios and android do not have FUSE, i also added the option to add a file/ pull a file, that does the same thing.

So now, you can add folders/ files on android/ ios. and mount them as a filesystem on your desktop and do magic with them, and if they get changed you can export them back from the phone to the gallery or w/e files

coldstartops 19 hours ago | parent | prev | next [-]

I will add this on the roadmap. At the moment I am trying to add persistent identity, as by default it is ephemeral.

But I warn you, there are still some kinks. Only 75% pjdfstest (filesystem test suite) passes in terms of POSIX compliance. I do not support hardlinks/symlinks by design.

I was trying last to use postgresql on the virtual filesystem, then once the server is stoped, to remove the lock file, and open it on the peer. and some files got corrupted while running this test.

coldstartops 19 hours ago | parent | prev [-]

I tried to explain here the differences, and where it fits in the gap of file transfer tools, also on the blog got some benchmarks and how they where setup.

https://keibisoft.com/tools/keibidrop-vs-alternatives.html

its more towards vibey marketing talk and at the same time tried to keep it as honest as possible.