gitmyhub

dokany

C ★ 5.9k updated 2mo ago

User mode file system library for windows with FUSE Wrapper

Dokany lets Windows developers build custom file systems as ordinary programs, without writing kernel drivers, so Windows Explorer treats your virtual drive just like a real disk.

Csetup: hardcomplexity 4/5

Dokany is a library for Windows that lets developers create custom file systems without writing a kernel-mode device driver. A file system is the layer of software that controls how files are stored, named, and accessed on a disk or in memory. On Windows, building one normally requires writing low-level driver code that runs in the most privileged part of the operating system, which is difficult to develop and risky to debug. Dokany provides a bridge so that a developer can instead write their file system logic as an ordinary program in user space, where crashes are isolated and debugging is straightforward.

The approach is similar to FUSE, which is a well-established tool that serves the same purpose on Linux. Dokany ships with a FUSE compatibility wrapper, so existing FUSE-based file systems written for Linux can often be brought to Windows with little or no modification.

Internally, Dokany consists of a user-mode library (a DLL) and a kernel-mode driver that it ships with. When a Windows application tries to open, read, or write a file on a Dokany-managed volume, those requests pass through the kernel driver, which then calls back into the developer's own code via the library. From Windows Explorer's perspective, a Dokany file system looks like any other mounted drive.

The project supports Windows 7 through Windows 11 and recent Windows Server versions, on x86, x64, ARM, and ARM64 hardware. It can be installed via the releases page on GitHub, or with the package managers Chocolatey and winget. The library components are licensed under the LGPL, and the sample programs under the MIT license. Dokany is itself a maintained fork of an older abandoned project called Dokan.

Where it fits