CrossDriveVideo.mp4
Mac drive access for Windows. Mount, browse, and copy files from APFS and HFS+ drives as real local drive letters.
Built with Electron, React, bundled native Windows helper services, and optional WSL2 kernel filesystem drivers.
Download - Features - Requirements - Building - License
- Mount supported APFS, HFS, and HFS+ Mac-formatted volumes on Windows.
- Expose mounted volumes through local Windows drive letters.
- Use bundled native Windows helper services as the default mount path.
- Keep WSL2 kernel filesystem drivers available as an optional advanced path.
- Keep backend communication local through loopback HTTP and named pipes.
CrossDrive is pre-GA. APFS write support is experimental and disabled by
default unless CROSSDRIVE_EXPERIMENTAL_APFS_WRITES=1 is set. The legacy
CROSSDRIVE_EXPERIMENTAL_APFS_WRITES alias is still accepted. CoreStorage /
FileVault 1 is detected but explicitly unsupported.
CrossDrive application source code is Free/Libre/Open Source Software distributed under the MIT License. See LICENSE.
Third-party dependencies, bundled prerequisites, and GPL-covered kernel/module binaries remain under their own license terms. See the third-party and GPL source notices below for the full binary-distribution license picture.
Copyright (c) 2026 CrossDrive contributors.
Binary distributions include third-party components under their own terms. See:
build/THIRD_PARTY_NOTICES.txtbuild/GPL_SOURCE_OFFER.txtdocs/GPL_SOURCE_MANIFEST.mdbuild/LICENSE.GPL-2.0.txt
Required WinFsp attribution:
WinFsp - Windows File System Proxy, Copyright (C) Bill Zissimopoulos
https://github.com/winfsp/winfsp
CrossDrive uses the WinFsp FLOSS exception path by distributing the app under MIT and shipping the unmodified WinFsp installer. Do not distribute CrossDrive as proprietary software with WinFsp unless you have a separate commercial WinFsp license.
Electron main process -> Express API on 127.0.0.1:3001
React UI -> polls local API for drive state
.NET native helpers -> default broker, service, and user-session drive mapping
WinFsp -> bundled Windows filesystem presentation support
WSL2 kernel path -> optional APFS/HFS/HFS+ mount path
Mount modes are controlled by CROSSDRIVE_MOUNT_MODE:
native_first- default customer path, using bundled native helpers first.native_only- native helpers only, with WSL disabled.wsl_kernel- optional WSL2 kernel path for advanced/testing installs.
- Windows 10/11 64-bit
- Administrator privileges
- WinFsp runtime, bundled as
prereqs/winfsp.msifor installers - WSL2 with Ubuntu only if using the optional
wsl_kernelmount mode - Node.js 20+ for development
- .NET 9 SDK for native builds
npm install
npm run startThe Vite dev server runs on http://localhost:5173. The backend binds only to
127.0.0.1:3001.
Useful commands:
npm run test
npm run build
npm run security:audit
npm run commercial:gate
npm run native:publish
npm run hfs:test
npm run apfs:testNative source folders still use the historical CrossDrive.* namespace. Those
names are internal implementation details; shipped app branding, helper
processes, installer metadata, update feed paths, and user-visible state paths
use CrossDrive.
npm run release:win:full
npm run release:auditRelease artifacts:
dist/CrossDriveSetup.exedist/CrossDrive-<version>.exe
For unsigned staging audits:
npm run release:audit:unsignedFor production Authenticode signing, configure a real certificate with
CSC_LINK / WIN_CSC_LINK and matching password environment variables.
The installer should ship:
- unmodified
prereqs/winfsp.msi prereqs/crossdrive-kernel/wsl_kernelprereqs/crossdrive-kernel/modules/apfs.koprereqs/crossdrive-kernel/modules/hfs.koprereqs/crossdrive-kernel/modules/hfsplus.ko- published native service, broker, and user-session helper binaries
LICENSE.txtTHIRD_PARTY_NOTICES.txtGPL_SOURCE_OFFER.txtGPL_SOURCE_MANIFEST.md
The installer should not ship extracted WinFsp SDK/runtime folders such as
prereqs/winfsp-extract.
The bundled WSL kernel/modules are GPL-covered components. Keep
build/GPL_SOURCE_OFFER.txt and docs/GPL_SOURCE_MANIFEST.md up to date for
every binary release. Before distributing a public installer, publish the
complete corresponding source package for those GPL-covered binaries, including
the exact source revisions, kernel .config, local patches, and build
commands/scripts.
- APFS writes are experimental and hidden by default.
- Hardware-bound APFS encryption requires the original Mac.
- CoreStorage / FileVault 1 is unsupported for GA.
- Final GA still requires real physical-drive validation.