4 ms·
This is super cool. Why would somebody need to use this instead of like, smb or however normal Windows machines on the same network share drives/files/folders
by MuffinFlavored 3y ago
This is super cool.
Why would somebody need to use this instead of like, smb or however normal Windows machines on the same network share drives/files/folders (even with other Mac machines on the network, or Linux, etc.)?
- Dwedit 3y agoThis isn't for network shares, this is for reading/writing programmatically generated files. The possibilities are endless. For example, you could make a "filesystem" where everything inside looks like an uncompressed BMP file, but the actual files backing them are some other image format. Then ancient software would be able to use the newest image formats.
- themerone 3y agoThat is a reasonable approach, one of the 2 MacOS fuse implementations uses NFS. I've never written an SMB server, but I assume it is a lot more complicated than using WinFsp or Fuse. WSL 2 uses the 9P network filesystem to share files between Linux & Windows. Supposedly this is a simple protocol to implement. I've searched, but can't find any documentation on using 9P without WSL.
- hrunt 3y agoCryptomator suggests WinFSP for its Windows installation, MacFUSE for Intel Macs, and FUSE-T (the NFS FUSE implementation) for Apple silicon Macs. I've used all of them, and I've also used Dokan with encfs. Both OSes treat network filesystems differently from local disks. The FUSE-T implementation is very speedy, but it shows up in the finder as a connection to "localhost", not as a properly named mount. In addition, macOS creates .DS_Store files on network drives by default (there is a setting you can change from the CLI to prevent this). On Windows, the filesystems can be mounted as local drives or network drives. When mounted as network drives, they can have issues with indexing and trust. All-in-all, drives you expect to function as local drives work best when they're actually local device filesystems and not network mounts.
- ww520 3y agoThis is for exposing other data as a virtual file system. Let's say you want to expose the Git versions as folders and files. You need this to write the file system layer on top of Git.
- tharos47 3y agoPersonally I use it with rclone to browse cloud file shares (S3, onedrive,...) as folders/files with windows explorer. You could also use something like this to trick ancient software and make it work across a variety of network protocols/file shares types even if it was designed or is limited to only local filesystem.
- Dwedit 3y agoAs for the question of implementing a user-mode filesystem by implementing a SMB server, you can't really do it. Windows takes up all the ports on your own host. You'd need to do a lot of trickery to stop Windows itself from eating up the SMB ports, and install a "Loopback Adapter".