Dokan Library | |
Developer: | Dokan-dev |
Latest Release Version: | 2.1.0.1000 |
Programming Language: | C, C++, C#, PowerShell, JavaScript |
Operating System: | Microsoft Windows |
Platform: | IA-32, x64, Cygwin, MinGW |
Genre: | Virtual file system, Fuse |
License: | LGPL and MIT |
Dokan (Japanese: ドカン [土管?], "earthen pipe") is a software interface for Microsoft Windows that lets programmers create virtual file systems without writing a kernel-level driver. This is achieved by running file system code in user space while the Dokan kernel driver translates the request for Windows Kernel. It offers compatibility with the FUSE file system by using a wrapper that can be built with Cygwin and MinGW.
Dokan is free software released under the terms of the LGPL and MIT License.
The Dokan project was originally created and maintained by Hiroki Asakawa from 2007 to 2011, up to version 0.6.0. It was hosted on Google Code.[1] Asakawa was supported by a 2006 grant from the Japanese on a related subject.[2]
Since then it was maintained by the community on a fork called DokanX.[3]
As the development of DokanX slowed in 2014, the French company ISLOG took over with its own fork called Dokany, actively maintained by Adrien Jund (aka "Liryna Stark") and formerly used to be co-maintained by Maxime Chamley. The drivers are now code signed by this company.[4]
Dokan is particularly useful for writing to a Virtual File System without requiring Windows Kernel knowledge. It gives one the ability to mount a virtual hard drive that contains whatever the developer wants to show, making it an alternative to the professionally developed CBFS Connect library. It can be absolutely virtual using memory like a ramdisk or show remote data like FTP, SSH, Samba, and databases as local storage that can be listed, read, written, and deleted.
Dokan is written in C. It provides bindings in .NET, Java, Ruby, Delphi, and Rust.
Access to different cloud storage services as virtual driver (OneDrive, Google Drive, MEGA, ...).
SSH File System
Magic Lantern Video File System
SSH with SSH.NET File System
Deduplication Based File System
RFID / NFC File System
VRAMFS on Windows - Create a file system in VRAM
Keybase Filesystem (KBFS), a distributed filesystem with end-to-end encryption and a global namespace.