awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dokan-dev avatar

dokan-dev/dokany

0
View on GitHub↗
5,784 星标·697 分支·C·13 次浏览dokan-dev.github.io↗

Dokany

Dokan is a user-mode file system library for Windows that allows applications to create custom file systems accessible as normal Windows volumes without writing kernel-mode device drivers. It provides a FUSE compatibility layer that maps FUSE operations to Dokan callbacks, enabling existing FUSE-based file systems to run natively on Windows by rebuilding the source code with Cygwin or MinGW.

The library exposes its file system API through language-specific wrappers for C, .NET, Java, Delphi, Ruby, and Python, supporting cross-language file system development. It handles file operations through thread-safe callback functions that mirror Windows API semantics, manages per-handle context data, and provides command-line tools for mounting and unmounting virtual drives programmatically. Dokan also registers a network provider component so virtual drives mounted as network shares are correctly handled by Windows Explorer.

The library supports implementing custom access control rules and security checks on file system operations entirely from user mode. It offers compilation strategies for FUSE programs on Windows using Cygwin, MSVC, and MinGW-w64 cross-compilation from Linux.

Features

  • User-Mode File System Drivers - Runs a file system entirely in user space by intercepting kernel I/O requests through a loadable driver that forwards them to a user-mode library.
  • Custom User-Space File Systems - Build a fully functional file system that appears as a normal Windows volume without writing kernel-mode device drivers.
  • Encrypted Mounts - Mount a user-defined file system as a virtual drive by implementing callback functions for file operations and passing them to a mounting function.
  • Virtual Drive Mount Commands - Remove a mounted virtual drive programmatically or via a command-line tool to restore the system state.
  • Callback-Based - Maps each file system operation to a user-defined callback function for custom create, read, write, and close logic.
  • FUSE Implementations - Maps FUSE operations to Dokan callbacks so existing FUSE file systems run on Windows without kernel-mode code.
  • Windows FUSE Ports - Rebuilds existing Linux FUSE file systems to run natively on Windows through a compatibility wrapper.
  • Windows FUSE Translation Layers - Provides a translation layer that maps FUSE operations to Dokan callbacks, allowing unmodified FUSE file systems to run on Windows.
  • Multi-Language File System Development - An API that provides file system callbacks accessible from C, .NET, Java, Delphi, Ruby, and other languages for custom file system development.
  • Virtual File Wrappers - Present any data source—local, remote, or cloud—as a file accessible from all Windows applications.
  • Virtual System Mounting - Mount any kind of data as a virtual file system, making it accessible transparently from all Windows applications.
  • User-Mode Virtual Drives - Mounts any data source as a virtual drive accessible from all Windows applications without writing kernel-mode code.
  • File Handle Context Managers - Associate arbitrary application data with each open file handle for the duration of the file access session.
  • User-Mode File System - Apply complex, multi-layered access checks on file operations entirely in user mode.
  • User-Mode File System Access Controls - Enforce complex, custom security checks on file system operations from user mode without kernel-level code.
  • User-Mode File Operation Callbacks - Defines callback functions for file operations like reading, writing, and listing directories on a user-mode file system.
  • Windows API Semantics Callbacks - Handle file create, read, write, close, and cleanup operations through callback functions that mirror Windows API semantics and return NTSTATUS codes.
  • WIN32_FIND_DATA Directory Enumerations - Respond to directory listing requests by enumerating entries and filling WIN32FINDDATA structures, with optional wildcard pattern matching.
  • Multi-Language API Bindings - Exposes the user-mode file system API through multi-language bindings for C, .NET, Java, Delphi, and Ruby.
  • Multi-Language Bindings - Exposes the file system API through language-specific bindings for C, .NET, Java, Delphi, Ruby, and Python.
  • Language Bindings - Provides language-specific wrappers for Python, JavaScript, Java, Ruby, and .NET to bind FUSE functionality.
  • File System Build Wrappers - Builds custom file systems using C, .NET, Java, Delphi, or Ruby through language-specific API wrappers.
  • Windows Network Provider Registrations - Register a virtual drive as a network provider so Windows Explorer correctly handles it as a network location.
  • Windows Network Provider Registrations - Register a network provider component so Windows Explorer correctly handles virtual drives mounted as network shares.
  • Custom Access Rules - Apply user-defined security checks and multiple access-control layers to file system operations.
  • User-Mode Access Controls - Implement custom access checks and multiple security layers in user mode to control file system access.

Star 历史

dokan-dev/dokany 的 Star 历史图表dokan-dev/dokany 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

dokan-dev/dokany 是做什么的?

Dokan is a user-mode file system library for Windows that allows applications to create custom file systems accessible as normal Windows volumes without writing kernel-mode device drivers. It provides a FUSE compatibility layer that maps FUSE operations to Dokan callbacks, enabling existing FUSE-based file systems to run natively on Windows by rebuilding the source code with Cygwin or MinGW.

dokan-dev/dokany 的主要功能有哪些?

dokan-dev/dokany 的主要功能包括:User-Mode File System Drivers, Custom User-Space File Systems, Encrypted Mounts, Virtual Drive Mount Commands, Callback-Based, FUSE Implementations, Windows FUSE Ports, Windows FUSE Translation Layers。

dokan-dev/dokany 有哪些开源替代品?

dokan-dev/dokany 的开源替代品包括: winfsp/winfsp — WinFSP is a framework for implementing custom file systems on Windows. It enables the creation of user-mode file… superfly/litefs — LiteFS is a FUSE-based distributed file system designed to replicate SQLite databases across a cluster of machines. It… winfsp/sshfs-win — SSHFS-Win is a Windows implementation of SSHFS that mounts remote directories over SSH as local Windows drives,… macfuse/macfuse — macfuse is a framework for implementing custom file systems in user space. It utilizes a macOS kernel extension to… uber/h3 — H3 is an open-source library that provides a hierarchical hexagonal grid system for geospatial indexing. It projects… j-hc/revanced-magisk-module — This project is an Android application patching tool and Magisk system module generator. It is designed to apply…

Dokany 的开源替代方案

相似的开源项目,按与 Dokany 的功能重合度排序。
  • winfsp/winfspwinfsp 的头像

    winfsp/winfsp

    8,687在 GitHub 上查看↗

    WinFSP is a framework for implementing custom file systems on Windows. It enables the creation of user-mode file systems that appear as standard disk drives or network shares to the operating system, allowing developers to implement file system logic in user space via a proxy architecture that avoids the need for custom kernel code. A primary differentiator is its FUSE compatibility layer, which maps POSIX-based file system calls to native Windows requests. This allows existing file systems written for the FUSE API to be ported to Windows and Cygwin environments. The project covers a wide ra

    Cdriverfilesystemfuse
    在 GitHub 上查看↗8,687
  • superfly/litefssuperfly 的头像

    superfly/litefs

    4,817在 GitHub 上查看↗

    LiteFS is a FUSE-based distributed file system designed to replicate SQLite databases across a cluster of machines. It functions as a high availability layer that synchronizes data by intercepting write operations to ensure consistency across multiple server nodes. The system manages distributed database storage by mapping file operations to network requests via a user-space driver. This allows for multi-region data synchronization and the distribution of database content to edge nodes, facilitating local reads with synchronized global writes. The replication process utilizes write-ahead log

    Gosqlite
    在 GitHub 上查看↗4,817
  • winfsp/sshfs-winwinfsp 的头像

    winfsp/sshfs-win

    6,262在 GitHub 上查看↗

    SSHFS-Win is a Windows implementation of SSHFS that mounts remote directories over SSH as local Windows drives, enabling seamless file access as if they were local network drives. It provides both command-line and graphical interfaces for creating, managing, and disconnecting SSHFS mounts, supporting password or SSH key authentication with optional credential storage in the Windows Credential Manager. The project extends beyond basic SSH mounting to support a wide range of remote file access scenarios, including mounting cloud storage services like Azure Blob or Amazon S3, distributed POSIX f

    Csftpsshsshfs
    在 GitHub 上查看↗6,262
  • macfuse/macfusemacfuse 的头像

    macfuse/macfuse

    9,713在 GitHub 上查看↗

    macfuse is a framework for implementing custom file systems in user space. It utilizes a macOS kernel extension to bridge the operating system kernel's virtual file system layer to a user-process daemon. This project allows the implementation of file system logic outside of the kernel to improve system stability and simplify development. It enables the mapping of remote data, network resources, or memory to a local folder so they can be accessed through standard system interfaces. The framework supports the development of cross-platform storage by providing a portable interface for consisten

    macfuse
    在 GitHub 上查看↗9,713
查看 Dokany 的所有 24 个替代方案→