explaingit

dokan-dev/dokany

5,847CAudience · developerComplexity · 4/5LicenseSetup · hard

TLDR

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.

Mindmap

mindmap
  root((Dokany))
    What it does
      Custom Windows filesystems
      No kernel driver needed
      FUSE compatibility
    Architecture
      User-mode library DLL
      Kernel driver bridge
      Callback into user code
    Use Cases
      Mount S3 as drive
      Port FUSE to Windows
      Virtual filesystem
    Platform
      Windows 7 to 11
      x86 x64 ARM ARM64
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Mount a remote storage service like an S3 bucket as a Windows drive letter that any application can read and write.

USE CASE 2

Port an existing Linux FUSE-based file system to Windows using Dokany's FUSE compatibility wrapper.

USE CASE 3

Build a virtual file system that exposes database records or API data as browsable files and folders in Windows Explorer.

Tech stack

C

Getting it running

Difficulty · hard Time to first run · 1day+

Requires installing the Dokany kernel driver with admin rights before any file system code can mount a volume.

Library is LGPL, modifications to the library itself must be shared, sample code is MIT and can be used freely.

In plain English

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.

Copy-paste prompts

Prompt 1
Using the Dokany library in C, show me the minimum code to mount a virtual file system on Windows that serves files from an in-memory dictionary.
Prompt 2
How do I adapt an existing Linux FUSE file system to run on Windows using Dokany's FUSE compatibility layer?
Prompt 3
Explain how Dokany routes file system calls from a Windows application through the kernel driver back into my user-space callback code.
Prompt 4
How do I install Dokany on Windows 11 using winget and link my C application against the Dokany DLL?
Open on GitHub → Explain another repo

← dokan-dev on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.