chipsenkbeil / chipsenkbeil/distant

Support user-level file system mounting

Open
#145 1 comment 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
635
Forks
12
PR merge metrics
No merged PRs in 30d

Description

This would be a neat long-term feature to support a user-level file system similar to SSHFS.

* Windows has a [Cloud files api](https://learn.microsoft.com/en-us/windows/win32/cfapi/build-a-cloud-file-sync-engine) for Windows 10 and later that seems like a reasonable path forward. [Stack overflow has a good topic on this](https://stackoverflow.com/questions/1412763/writing-a-user-mode-filesystem-for-windows).
* MacOS has a [FileProvider API]*https://developer.apple.com/documentation/fileprovider) for remote file synchronization, maybe using [icrate](https://docs.rs/icrate/latest/icrate/FileProvider/trait.NSFileProviderReplicatedExtension.html) or some other binding. [iTerm2 example in Swift](https://github.com/gnachman/iTerm2/blob/cedb1d2d1362bc29909ea48d2f5da0952187e554/iTermFileProvider/FileProviderExtension.swift#L14) and [associated info.plist](https://github.com/gnachman/iTerm2/blob/cedb1d2d1362bc29909ea48d2f5da0952187e554/iTermFileProvider/Info.plist#L14).
* [Filesystem in Userspace](https://en.wikipedia.org/wiki/Filesystem_in_Userspace) is supported on pretty much everything, but the support and requirements vary to set it up. SSHFS does this. See [fuser crate](https://github.com/cberner/fuser) for modern Rust libary.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.