# winfsp/winfsp

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/winfsp-winfsp).**

8,339 stars · 588 forks · C · other

## Links

- GitHub: https://github.com/winfsp/winfsp
- Homepage: https://winfsp.dev
- awesome-repositories: https://awesome-repositories.com/repository/winfsp-winfsp.md

## Topics

`driver` `filesystem` `fuse` `gplv3` `kernel` `windows` `windows-kernel`

## Description

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 range of capabilities, including asynchronous I/O processing, advanced metadata and security descriptor management, and volume lifecycle control. It supports local disk and network share mounting, as well as the mapping of remote cloud storage to local drives. Implementation is supported through language bindings for Go, Java, Python, and Rust.

The system provides native support for ARM64 architecture and includes tools for kernel-mode debugging and NTFS compatibility verification.

## Tags

### Data & Databases

- [Custom User-Space File Systems](https://awesome-repositories.com/f/data-databases/file-storage-systems/custom-user-space-file-systems.md) — Implements a proxy architecture to create custom file systems that run entirely in user space. ([source](https://winfsp.dev/doc/Native-API-vs-FUSE/))
- [User-Mode Virtual Disks](https://awesome-repositories.com/f/data-databases/user-mode-virtual-disks.md) — Builds proxy systems that expose a user-mode interface for managing files and directories without kernel code.
- [File Storage and Metadata Management](https://awesome-repositories.com/f/data-databases/file-storage-and-metadata-management.md) — Manages extended attributes, named streams, and reparse points to support complex filesystem structures. ([source](https://winfsp.dev/doc/NTFS-Compatibility/))

### Operating Systems & Systems Programming

- [Kernel-to-User Bridges](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-to-user-bridges.md) — Intercepts filesystem I/O requests in the kernel and forwards them to a user-space process for processing.
- [User-Space File System Development](https://awesome-repositories.com/f/operating-systems-systems-programming/operating-system-development/user-space-file-system-development.md) — Implements a framework for creating custom file systems that run in user space and appear as standard drives.
- [Asynchronous I/O Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries.md) — Processes file read and write requests asynchronously to maximize data throughput and responsiveness. ([source](https://winfsp.dev/doc/Native-API-vs-FUSE/))
- [User-Space Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-architectures/user-space-implementations.md) — Implements filesystem logic in user space via a proxy that simulates a native volume.
- [File System Request Routing](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-request-routing.md) — Forwards file system API requests from an originating process to a user-mode process and returns the response. ([source](https://winfsp.dev/doc/WinFsp-as-an-IPC-Mechanism/))
- [Filesystem Semantics Adherence](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-semantics-adherence.md) — Ensures that user-mode filesystems behave according to standard operating system filesystem semantics. ([source](https://winfsp.dev/doc/NTFS-Compatibility/))
- [FUSE Implementations](https://awesome-repositories.com/f/operating-systems-systems-programming/fuse-implementations.md) — Implements a FUSE compatibility layer that maps standard FUSE API calls to native Windows file system requests. ([source](https://winfsp.dev/doc/SSHFS-Port-Case-Study/))
- [File System Operations](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-operations.md) — Handles essential filesystem lifecycle tasks including creating, opening, closing, renaming, and overwriting files. ([source](https://winfsp.dev/doc/WinFsp-Tutorial/))
- [Hybrid Kernel-User Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries/asynchronous-file-system-drivers/hybrid-kernel-user-drivers.md) — Allows developing a file system as a kernel driver that interfaces with a frontend driver for complex I/O. ([source](https://winfsp.dev/doc/WinFsp-Kernel-Mode-File-Systems/))
- [Non-Blocking I/O Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/asynchronous-i-o-libraries/non-blocking-i-o-interfaces.md) — Utilizes a non-blocking transactional queue to retrieve and complete I/O request packets.
- [Background Service Hosting](https://awesome-repositories.com/f/operating-systems-systems-programming/background-service-hosting.md) — Wraps user-mode file systems into local background services for automated lifecycle management. ([source](https://winfsp.dev/doc/WinFsp-API-winfsp.h/))
- [Disk and Mount Management](https://awesome-repositories.com/f/operating-systems-systems-programming/disk-and-mount-management.md) — Presents custom file systems as local disk volumes on the host operating system. ([source](https://winfsp.dev/doc/WinFsp-Design/))
- [I/O Packet Processing](https://awesome-repositories.com/f/operating-systems-systems-programming/file-i-o-management/i-o-packet-processing.md) — Retrieves preprocessed requests from a queue and returns responses to complete original I/O packets. ([source](https://winfsp.dev/doc/WinFsp-Kernel-Mode-File-Systems/))
- [File Security Descriptor Management](https://awesome-repositories.com/f/operating-systems-systems-programming/file-security-descriptor-management.md) — Manages security descriptors and access control lists to perform native OS access checks. ([source](https://winfsp.dev/doc/WinFsp-Tutorial/))
- [File System Drivers](https://awesome-repositories.com/f/operating-systems-systems-programming/file-system-drivers.md) — Enables building high-performance file system drivers that interface directly with the Windows kernel.
- [Kernel Driver Implementation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/kernel-development/kernel-driver-implementation.md) — Enables building file system drivers directly within the kernel for high-performance requirements. ([source](https://winfsp.dev/doc))
- [Reparse Point Mappings](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/operating-system-kernels/posix-interfaces/reparse-point-mappings.md) — Represents POSIX-specific objects like sockets and pipes using Windows reparse points.
- [Inter-Process Communication](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/inter-process-communication.md) — Enables data exchange between client and service processes using a file system interface as the communication mechanism. ([source](https://winfsp.dev/doc/WinFsp-as-an-IPC-Mechanism/))
- [Pipe-Based Communication](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/inter-process-communication/pipe-based-communication.md) — Uses named pipes and a dedicated service to manage the lifecycle and control of user-mode filesystem instances.
- [Native API Bridges](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations/native-api-bridges.md) — Provides interfaces for managing file and directory operations using native Windows, FUSE, and Cygwin APIs. ([source](https://winfsp.dev/))
- [Hardware Architecture Support](https://awesome-repositories.com/f/operating-systems-systems-programming/multi-architecture-support/hardware-architecture-support.md) — Provides native support for ARM64 environments while maintaining compatibility with previous hardware architectures. ([source](https://winfsp.dev/doc/WinFsp-on-ARM64/))
- [Shell Extensions](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/shell-extensions.md) — Connects user-mode file systems with the operating system shell for consistent behavior in the file explorer. ([source](https://cdn.jsdelivr.net/gh/winfsp/winfsp@master/README.md))
- [File System Attributes](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/file-system-management/file-system-utilities/file-metadata-inspection/metadata-preservation-engines/metadata-extraction/file-system-attributes.md) — Retrieves and updates OS-level properties such as timestamps, file sizes, and allocation attributes. ([source](https://winfsp.dev/doc/WinFsp-Tutorial/))
- [System Services](https://awesome-repositories.com/f/operating-systems-systems-programming/system-administration-maintenance/system-services.md) — Deploys the file system as a background service to provide system-wide access across all security contexts. ([source](https://winfsp.dev/doc/WinFsp-Tutorial/))
- [Windows System Metadata Handling](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-system-metadata-handling.md) — Handles advanced Windows-specific filesystem features including alternate data streams and volume labels. ([source](https://winfsp.dev/doc/Native-API-vs-FUSE/))

### Development Tools & Productivity

- [Virtual Drive Emulation](https://awesome-repositories.com/f/development-tools-productivity/virtual-file-systems/virtual-drive-emulation.md) — Creates user-mode filesystems that appear as standard disk drives to the operating system. ([source](https://cdn.jsdelivr.net/gh/winfsp/winfsp@master/README.md))
- [Filesystem Standard Compliance](https://awesome-repositories.com/f/development-tools-productivity/compatibility-verification/filesystem-standard-compliance.md) — Validates that custom file systems behave like native volumes to ensure compatibility with standard operating system applications. ([source](https://winfsp.dev/doc/WinFsp-Testing/))
- [Language Bindings](https://awesome-repositories.com/f/development-tools-productivity/language-bindings.md) — Provides language bindings for Go, Java, Python, and Rust to implement filesystem logic in user space. ([source](https://winfsp.dev/doc))

### DevOps & Infrastructure

- [Cloud Storage Integrations](https://awesome-repositories.com/f/devops-infrastructure/cloud-storage-integrations.md) — Maps remote APIs or cloud storage to the local file system as native disk drives.
- [Distributed Locks](https://awesome-repositories.com/f/devops-infrastructure/distributed-locks.md) — Implements standard and opportunistic locks to coordinate data access across multiple system processes. ([source](https://winfsp.dev/doc/NTFS-Compatibility/))
- [Remote File System Mounts](https://awesome-repositories.com/f/devops-infrastructure/remote-file-system-mounts.md) — Maps remote APIs and cloud storage to the local filesystem as standard disk drives. ([source](https://winfsp.dev/doc/Known-File-Systems/))

### Networking & Communication

- [Network File Sharing](https://awesome-repositories.com/f/networking-communication/network-file-sharing.md) — Registers volume devices to present custom file systems as native network shares. ([source](https://winfsp.dev/doc/WinFsp-Design/))

### Security & Cryptography

- [Access Control Lists](https://awesome-repositories.com/f/security-cryptography/access-restrictions/access-control-lists.md) — Implements access control lists to restrict or grant permissions for files and directories. ([source](https://winfsp.dev/doc/NTFS-Compatibility/))

### Software Engineering & Architecture

- [I/O Request Queuing](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-execution-managers/asynchronous-concurrency-managers/asynchronous-request-handlers/i-o-request-queuing.md) — Retrieves and completes I/O request packets asynchronously via a non-blocking transactional queue. ([source](https://winfsp.dev/doc/WinFsp-Design/))
- [Service Instance Lifecycle Management](https://awesome-repositories.com/f/software-engineering-architecture/service-discovery-registries/service-instance-lifecycle-management.md) — Controls multiple instances of console executables using a dedicated service and named pipe interface. ([source](https://winfsp.dev/doc/WinFsp-Service-Architecture/))

### Testing & Quality Assurance

- [File System Mocking](https://awesome-repositories.com/f/testing-quality-assurance/file-system-mocking.md) — Provides an in-memory reference implementation to simulate and verify that custom filesystem logic handles standard operations correctly. ([source](https://winfsp.dev/doc/WinFsp-Testing/))
