Dokan Library

{{Short description|Software product}}

{{cleanup rewrite|date=June 2017}}

{{infobox software

| name = Dokan Library

| developer = Dokan-dev

| latest release version = 2.2.1.1000

| latest release date = {{Start date and age|2025|01|20}}

| repo = {{URL|https://github.com/dokan-dev/dokany/}}

| 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

| website = {{URL|https://dokan-dev.github.io/}}

}}

Dokan ({{langx|ja|ドカン [土管?]}}, "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.

History

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.{{cite web

| title = Dokan

| url = https://code.google.com/archive/p/dokan/

| website = Google Code Archive

| access-date = 2025-03-07

| archive-url =

https://web.archive.org/web/20180627145931/https://code.google.com/archive/p/dokan/

| archive-date = 2018-06-27

| url-status = live

}} Asakawa was supported by a 2006 grant from the Japanese {{ill|Information-technology Promotion Agency|ja|情報処理推進機構}} on a related subject.{{cite web

| title = 2006年度下期未踏ソフトウェア創造事業(未踏ユース)採択概要 データ管理システム

| trans-title = Summary of selections for the 2nd half of FY2006 MITOU Software Creation Project (MITOU Use)

| url = https://www.ipa.go.jp/jinzai/esp/2006youth/gaiyou/k-02.html

| publisher = 独立行政法人情報処理推進機構(じょうほうしょりすいしんきこう)

| trans-quote = (Independent Administrative Institution Information-technology Promotion Agency, Japan)

| access-date = 2008-08-20

| archive-url = https://web.archive.org/web/20210119215900/https://www.ipa.go.jp/jinzai/esp/2006youth/gaiyou/k-02.html

| archive-date = 2021-01-19

| url-status = dead

}}

=Forks=

==DokanX==

From around 2013, it was maintained by the community on a fork called DokanX.{{cite web

| title = DokanX

| url = https://github.com/BenjaminKim/dokanx

| website = GitHub

| quote = Dokanx is a Fork of Dokan 0.6.0

| access-date = 2025-03-07

| archive-url = https://web.archive.org/web/20240513002244/https://github.com/BenjaminKim/dokanx

| archive-date = 2024-05-13

| url-status = live

}}

==Dokany==

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.{{cite web

| title = Dokany

| url = https://github.com/dokan-dev/dokany

| quote = Dokany is a fork of Dokan 0.6.0 with bug fixes, clean change history and updated to build with latest tools.

| website = GitHub

| access-date = 2025-03-07

| archive-url = https://web.archive.org/web/20250322032911/https://github.com/dokan-dev/dokany

| archive-date = 2025-03-22

| url-status = live

}}

End-user uses

Dokan may be installed by end-user installed applications such as Drill Disk.{{cite web

| title = Disk Drill Installs Dokan Library: What's it Used For?

| url = https://windowsreport.com/dokan-library-disk-drill/

| date = 2024-06-27

| website = windowsreport.com

| quote = … it’s okay to delete Dokan Library and you can remove it just like any other application. However, by removing Dokan certain applications that rely on it, such as Disk Drill, might not work properly.

| access-date = 2025-04-07

| archive-url = https://web.archive.org/web/20250117225127/https://windowsreport.com/dokan-library-disk-drill/

| archive-date = 2025-01-17

| url-status = live

}}

=How to access iPhone=

iPhone users may be able to access their iPhone via Dokan on Windows in a similar way that FUSE can for Unix-like operating systems.{{cite web

| given = Aidan

| surname = Fitzpatrick

| title = How to access iPhone files with a disk mount

| url = https://reincubate.com/support/how-to/mount-iphone-files/

| date = 2025-04-27

| website = reincubate.com

| quote = It was easy to mount the original iPod and access it liks a USB drive. It's possible to do that with an iPhone, too, although there are different approaches depending on the type of data you want to work with.

| access-date = 2025-04-07

| archive-url = https://web.archive.org/web/20250323185233/https://reincubate.com/support/how-to/mount-iphone-files/

| archive-date = 2025-03-23

| url-status = live

}}

Developer uses

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 [https://www.callbacktechnologies.com/cbfsconnect/ 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.

= Example uses =

  • [https://github.com/viciousviper/DokanCloudFS DokanCloudFS]: Access to different cloud storage services as virtual driver (OneDrive, Google Drive, MEGA, ...).
  • [https://github.com/dokan-dev/dokan-sshfs Dokan SSHFS]: SSH File System
  • [https://bitbucket.org/dmilligan/mlvfs MLVFS]: Magic Lantern Video File System
  • [https://github.com/dimov-cz/win-sshfs Win-SSHFS]: SSH with SSH.NET File System
  • [http://members.ferrara.linux.it/freddy77/encfs.html encfs4win] {{Webarchive|url=https://web.archive.org/web/20110704045259/http://members.ferrara.linux.it/freddy77/encfs.html |date=2011-07-04 }}: Encryption File System
  • [http://www.opendedup.org/ Opendedup CDFS]: Deduplication Based File System
  • [https://github.com/islog/dokan-nfc Dokan NFC]: RFID / NFC File System
  • [https://github.com/x1596357/vramfs-on-Windows vramfs on Windows]: VRAMFS on Windows - Create a file system in VRAM
  • [https://github.com/keybase/client/tree/master/go/kbfs kbfs]: Keybase Filesystem (KBFS), a distributed filesystem with end-to-end encryption and a global namespace.

References

{{reflist}}