HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
dokan-dev
dokany
C2015–2025
dokan-dev / dokany

dokany

User mode file system library for windows with FUSE Wrapper

21Distinct people
25Mentions
1Explicit recommenders
6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

User mode file system library for windows with FUSE Wrapper

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

There is a "sort-of" port (you were correct in saying a "similar thing for Windows"). It's Dokany: https://github.com/dokan-dev/dokany Keybase.io and sshfs use it, currently.…

mdip used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year25 dated mentions

Observed mentions: 2015-11-11 00:53:23 UTC to 2025-01-30 00:43:26 UTC.

0510152015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 13 mentions; 2 submissions, 11 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC211
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC13211
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC110
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Dokany What is Dokan When you want to create a new file system on Windows, other than FAT or NTFS, you need to develop a file system driver. Developing a device driver that works in kernel mode on windows is extremely technical. By using Dokan, you can create your own file systems very easily without writing device drivers. Dokan is similar to FUSE (Linux file system in user space) but works on Windows. Moreover, dokany includes a FUSE wrapper that helps you to port your FUSE filesystems without changes. What is Dokany Dokany is a fork of Dokan 0.6.0 with bug fixes, clean change history and updated to build with latest tools. Because the original Dokan Legacy (< 0.6.0) project is no longer maintained. Since version 0.8.0, dokany broke compatibility with the dokan API. See Choose a version for more information. The API has then again changed over time in 1.1.0 and 2.0.0. Benchmark v1.5.1.1000 vs v2.0.3.1000 A benchmark that is testing multiple scenarios repeaditly and sequentially was run 5 times against the memfs sample of v1.5.1.1000 and v2.0.3.1000 in an idle environment to precise results. The detail results can be seen in this spreadsheet here. As better threading and memory poll were added in v2, it is expected that concurrent scenarios (like those tests) would be even more highly improved. A sample of the results: Create New | +13.55% | List | +60.69% | GetAttributes | +48.78% | Read | +18-42% | Open/Overwrite | +153.41% | ListExactFile | +131.91% | SetAttributes | +120.91% | Write | +10-32% | RandomOpenClose | +173.05% | | | Delete | +90.83% | | | Licensing Dokan contains LGPL and MIT licensed programs. user-mode library (dokan2.dll) LGPL driver (dokan2.sys) LGPL network library (dokannp2.dll) LGPL fuse library (dokanfuse2.dll) LGPL installer (DokanSetup.exe) LGPL control program (dokanctl.exe) MIT samples (mirror.exe / memfs.exe) MIT For details, please check the license files. LGPL license.lgpl.txt MIT license.mit.txt You can obtain source files from https://dokan-dev.github.io Environment Dokan works on Windows Server 2022 / 2019 / 2016 / 2012 (R2) / 2008 R2 SP1 Windows 11 / 10 / 8.1 / 8 / 7 SP1 Platform x86 x64 ARM ARM64 Signed Release and Debug drivers are provided at each release for all platforms. How it works Dokan library contains a user mode DLL (dokan2.dll) and a kernel mode file system driver (dokan2.sys). Once the Dokan file system driver is installed, you can create file systems which can be seen as normal file systems in Windows. The application that creates file systems using Dokan library is called File system application. File operation requests from user programs (e.g., CreateFile, ReadFile, WriteFile, ...) will be sent to the Windows I/O subsystem (runs in kernel mode) which will subsequently forward the requests to the Dokan file system driver (dokan2.sys). By using functions provided by the Dokan user mode library (dokan2.dll), file system applications are able to register callback functions to the file system driver. The file system driver will invoke these callback routines in order to respond to the requests it received. The results of the callback routines will be sent back to the user program. For example, when Windows Explorer requests to open a directory, the CreateFile with Direction option request will be sent to Dokan file system driver and the driver will invoke the CreateFile callback provided by the file system application. The results of this routine are sent back to Windows Explorer as the response to the CreateFile request. Therefore, the Dokan file system driver acts as a proxy between user programs and file system applications. The advantage of this approach is that it allows programmers to develop file systems in user mode which is safe and easy to debug. To learn more about Dokan file system development, see the and the samples, especially dokan_memfs. Build In short, download and install the Visual Studio 2019, select Windows 10 SDK component during the install or from the Tools menu & install the WDK 10 For details, see the build page. Installation The latest official and signed build can be downloaded from: Github release page choco install dokany2 or winget install dokan-dev.dokany For manual installation, see the installation page. Contribute You want Dokan to get better? Contribute! Learn the code and suggest your changes on GitHub repository. Detect defects and report them on GitHub issue tracker. Ask and answer questions on Github Discussions or Google discussion group.
Read the full README on GitHub

What Hacker News says

25 sources
There seem to be two popular FUSE-like things for Windows: https://github.com/dokan-dev/dokany and https://github.com/winfsp/winfsp. Both implement a FUSE compatibility API in addition to their own API. A 2016 comparison by the developer of WinFsp says WinFsp is several times faster in performance tests [1]. According to the readme for Donaky [2], since then Dokany got faster. [1] https://github.com/winfsp/winfsp/issues/19#issuecomment-2653... [2] https://github.com/dokan-dev/dokany/blob/255e4a508b744996191...
In Pex: A tool for generating .pex (Python EXecutable) files, lock files and venvs
I lead a project that included shipping a filesystem driver and a virtual disk on Windows. What I did to learn the lower-level APIs, and perform initial testing on the driver, was write a "mirror" drive. The user-mode code pointed to a folder on disk, the driver made a virtual disk drive, and all reads and writes in the virtual disk drive went to the mirror folder. All of our (cough) unit tests for virtual drive handling used the mirror drive. ("cough" because the tests fit into that happy area that truly is a unit test but drives people nuts about splitting hairs about the semantics between unit and integration tests.) On Windows, you can implement something like that using Dokany, Dokan, or Winfsp. On linux, there's the Fuse API. On Mac, there's MacFUSE. Even if you don't do a "mirror" drive, understanding the callbacks that libraries l
Read the rest
ike Dokany, Dokan, Winfsp, and Fuse do helps you understand how IO happens in the driver. Many IO methods provided in popular languages provide abstractions above what the OS does. (For example, the Windows kernel has no concept of the "Stream" that's in your C# program. The "Stream"'s Position property is purely a construct within the .Net framework.) https://dokan-dev.github.io/ https://github.com/dokan-dev/dokany https://osxfuse.github.io/ Another place to start is the OS's documentation itself. For example, you can start with Window's CreateFileA function. This typically is what gets called "under the hood" in most programming languages when you open or create a file: https://learn.microsoft.com/en-us/windows/win32/api/fileapi/...
In Ask HN: What are some good resources for learning about low level disk/file IO?
mdip·Sep 6, 2017Recommendation phrase
There is a "sort-of" port (you were correct in saying a "similar thing for Windows"). It's Dokany: https://github.com/dokan-dev/dokany Keybase.io and sshfs use it, currently. Personally, I love it. I'm sure you're right about performance limitations, but there are very good use cases for it, like Keybase Filesystem and sshfs, where any latency introduced by the driver subsystem is less likely to be felt due to the latency of working with files over the network. Interestingly, a set of the insider previews of Windows broke Dokany so badly that launching the driver caused everything to hang (hard -- all but the mouse stopped responding to anything, even CTRL+ALT+DELETE). It's tricky stuff, apparently.
In WinBtrfs – A Windows driver for the next-generation Linux filesystem Btrfs
This is a fantastic project. FWIW, Paragon's extfs for Windows uses either Dokany or the original Dokan, so at least one company thought this was good enough to use in production. I'll just point out for anyone interested in trying this, expect BSODs: https://github.com/dokan-dev/dokany/issues/344. I'm also not sure how the Win10 Anniversary driver signing changes have affected the project - they're relying on a commercial sponsor for the signed releases. Alternative: https://github.com/billziss-gh/winfsp Paid alternative: https://www.eldos.com/cbfs/ There have also been a number of other discussions here, but I should get back to work instead of digging those up.
In Dokany – User mode file system library for windows with FUSE Wrapper

Showing the 15 most recent of 25 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.