Easily mount any kind of data as a virtual file and access it transparently from all your Windows applications. It can literally be anything: files from other locations, stored locally or remotely in the cloud... Creativity will be your limit.
Working in user mode has several benefits and access control is one of them. You can have complex and custom access checks even with multiple security layers if you want to.
Dokan takes care of the hard stuff and you never have to go deeper into kernel mode. This means you can develop your driver safely without having to fear BSOD at any test. Dokan code is available online since 2007. While people came and left the code remains alive thanks to the open source community.
When you want to create a new file system on Windows you need to develop a file system driver. Developing a device driver that works in the kernel mode on Windows requires highly technical skills.
By using Dokan, you can create your own file systems very easily without writing device drivers. Dokan is similar to FUSE (Linux user mode file system) but works on Windows.
Dokan User-mode API provides functions to mount/unmount your driver and several callbacks to implement on your application to have a fully working user mode file system driver.
Additionally to the default provided C library, the API is also available for DotNet, Java, Delphi and Ruby.
Dokan FUSE (Filesystem in Userspace) is a wrapper library that makes Dokan compatible with FUSE API. You simply need to rebuild your FUSE source code without changes with Cygwin/MinGW and link against the library to make it work on Windows. Now available by default in the main source repository and installers.
Dokan is used in a variety of projects, a short list below.
Keybase | A cryptographically secure file mount using PGP key. |
---|---|
Nodrive | A confidential encrypted cloud storage. |
DokanCloudFS | Access to different cloud storage services as virtual driver (OneDriver, Google Drive, MEGA, ...). |
MooseFS | Fault-tolerant, POSIX-compliant, network distributed filesystem |
Atmo O | Inter & Intra document aliasing |
Kortex Mod Manager | Mod manager for various PC games. |
yasfw | Yet Another SSHFS for Windows |
Shaman.Dokan.Warc | Mounts WARC files (web archives) as FS. |
Shaman.Dokan.Archive | Mounts 7zip/ZIP/RAR files as FS. |
fuse-nfs-crossbuild-scripts | fuse-nfs for windows using dokany. |
Dokan SSHFS | SSH File System |
MLVFS | Magic Lantern Video File System |
Win-SSHFS | SSH with SSH.NET File System |
RedFS | Single File System |
encfs4win | Encryption File System |
Opendedup CDFS | Deduplication Based File System |
Dokan NFC | RFID / NFC File System |
Ninefs | 9p File System |
WinUnionFS | UnionFS-like File System |
MSSQLFS | MS SQL File System |
PeoneFS | Pseudo Encrypted and Obfuscated File System |
DiscUtils | Image/Partition mounter using DiscUtils |
ZFS-Win | ZFS File System |
FtpUse | FTP File System |
ChunkFS | Chunked File System |
CueMounter | Cue File System |
SrcDemo² | Render smoother Source Engine videos, faster |
xbox-iso-vfs | Xbox ISO File System |
... | ... |
Maintaining a Windows driver and its associated libraries requires time and specific knowledge (ok, as always). We focus on stability and improvement but any help (code contribution, testing, issues resolving ...) is highly appreciated.
Dokan reviving through Dokany fork is a personal initiative and we don't get money from it. If you're making a business based on Dokan or just enjoy it, please consider to support the real current developers using bounties. Alternatively you can also directly use Github Sponsor button. Be fair.
Big thanks to them !