CBFS Connect

The leading SDK for creating and managing virtual filesystems from almost any type of storage.

Download
CBFS Connect 2024 is Now Shipping

Highlights include a new NFS server component and new features in the CBFS component [learn more].
CBFS Connect

Create and Manage Virtual Filesystems

CBFS Connect allows you to present any data source as a fully featured filesystem - be it local or remote files, dynamically-generated content, cloud storage, database records, or anything in-between. Without writing a single line of driver code, you will be able to expose your data as just another drive with folders and files, making it easy for users to view and interact with, and giving other applications the ability to access and manipulate it via standard file APIs.

Kernel programming is hard, and as Apple states in its macOS documentation pages, it should be avoided if at all possible. CBFS Connect provides a safer and more flexible approach to kernel development, allowing for improved security and stability while still offering the benefits of kernel-level access to the file system. With over 20 years of experience and trusted by hundreds of leading technology companies, we understand the kernel so you don't have to.

CBFS Connect acts as an intermediary between the file system and user mode code. Instead of executing code directly in the kernel, Connect proxies filesystem actions into callback events. You implement handlers for these events, which execute in a separate process.

CBFS Connect

By isolating the user mode code from the kernel, CBFS Connect reduces the risk of security vulnerabilities that could be exploited by attackers. In addition, because the user mode code is not executing code directly in the kernel, it is less likely to cause system crashes or other stability issues.

A virtual filesystem created with CBFS Connect has many advantages over filesystem-like and partial feature implementations. With capabilities similar to NTFS, virtual filesystems enable file locking and partial file updates. Easily enable transparent encryption and file access auditing by implementing the read/write events. Large files are available in blocks for efficient copy/move, or for streaming without having to download an entire file first. CBFS Connect is low-overhead, so applications using it can remain always connected or started/stopped like removable storage.

NEW: Local NFS Component

The new NFS component implements a local cross-platform NFS 4.1 server, providing a simple way to mount a drive and serve files locally without a kernel mode driver. The NFS component is available for all supported platforms but is particularly useful in macOS, where kernel mode driver installation can be challenging.

Comprehensive Features for Maximum Flexibility


Tested And Proven

The development of CBFS Connect is backed by decades of kernel experience, and the product is rigorously tested with hundreds of our internal tests as well as the tests developed by Microsoft for filesystem implementations. Callback Technologies components are trusted by leading technology companies around the world.

Create Robust Filesystem Implementations

CBFS Connect's performant, event-driven architecture allows your application to manage every aspect of your virtual filesystem's operation. You will quickly get from "idea" to "implemented" thanks to its consistent API and extensive documentation.

Leverage Any Data Source

You have full control over the contents of your virtual filesystem, so you can use any data source your application has access to. It can be local or remote, a database or REST service, static or dynamically-generated, or something else entirely.

Local NFS Component

The cross-platform NFS component provides a simple way to serve files to local clients on Windows, Linux, and macOS without the need for a kernel mode driver. The local NFS server is compatible with any NFS 4.1 client.

Enforce Custom Access Restrictions

Only your application knows the real location of your data, so you can create and enforce your own permission schemas specifying which users and third-party applications can access, view, or modify it.

Advanced Functionality

Support for many advanced features including named streams, directory change notifications, reparse points, fsctl requests, hard links, quotas, file IDs, short file names, Plug-n-Play, custom disk icons, and more!

Flexible Mounting Options

Includes support for network mounting points, session-local mounting points, and UNC paths. Mount disks as fixed or removable. Multiple mounting points per disk are supported.

Granular Control

Fine grained user access control supports advanced security requirements. Optimize for specific implementations with per-file and per-handle context objects, and in-memory or disk caching options.

Utilize NTFS Security Features

CBFS Connect supports all standard NTFS security mechanisms, allowing you to easily secure the contents of your virtual filesystem.

FUSE-Like Cross Platform Support

The cross-platform FUSE component brings a FUSE-like API to all supported platforms, which makes writing virtual filesystem apps for multiple OSs consistent and simple.

Docker Container Support

Create virtual drives within Docker containers. The driver is installed exclusively on the host and does not need to be part of the container initialization.

Transparent Encryption and Auditing

The extensible design of CBFS Connect makes it easy to add transparent file encryption and auditing of file operations, using the technologies of your choice.

Synchronous I/O Operations

Optimize back-end operations by updating only the parts of files which have been modified.

Supported Platforms

.NET

.NET Framework & Cross-platform Components

A .NET component layer managing our high-performance, shared codebase.

.NET

Cross-platform support for Windows, Linux, macOS and anywhere .NET Standard is supported.
Native libraries are also available for individual platforms.

  • Support for .NET 8, .NET 7, .NET 6, .NET 5, .NET Core 3.1, and earlier.
  • Seamless integration with Visual Studio.
  • Extensive sample applications written in C#.
  • Comprehensive integrated product documentation.


C++

C++ Class Libraries (Windows / Linux / macOS)

C++ classes packaged in 32-bit & 64-bit Windows DLLs, and C++ libraries built for Linux & macOS. The edition of choice for C++ development.

C++
  • C++ classes built atop our high-performance shared codebase.
  • Extensive C++ sample applications.
  • Comprehensive HTML product documentation.
  • Seamless integration with popular development environments, including Visual Studio.
  • Precompiled binaries for x86/x64 and ARM.


Delphi

Native Delphi Components

Native Delphi components wrapping our high-performance, shared codebase. The natural choice for Delphi programming.

Delphi
  • Delphi VCL components built atop our high-performance shared codebase.
  • Extensive Delphi sample applications.
  • Comprehensive integrated product documentation.
  • Support for all Delphi versions between Delphi 6 and RAD Studio 12.


Java

Powerful Java Classes

Powerful Java Classes, based on the same high-performance codebase as our native editions. The edition of choice for cross-platform Java development.

Java
  • Java Classes built atop our high-performance shared codebase.
  • Extensive sample applications written in Java.
  • Includes comprehensive JavaDocs.
  • Seamless integration with popular development environments, including IntelliJ and Eclipse.
  • Support for JDK version 1.7 and up.


Python

Python Modules

Python 3 modules available for Windows, Linux, and macOS.

Python
  • Support for Python 3.
  • Extensive console sample applications.
  • Easy installation using PIP.
  • Comprehensive HTML documentation.


Qt

Qt Class Libraries

High-performance Qt classes packaged in 32-bit & 64-bit Windows DLLs; and C++ libraries that can be compiled against Linux, macOS, FreeBSD, and more. The edition of choice for Qt development on any platform.

Qt
  • 32-bit & 64-bit C++ class libraries (Windows DLLs).
  • C++ Libraries for Unix (Linux, FreeBSD, etc.).
  • Support for Qt 4.8 and Qt 5.
  • Qt GUI sample applications and comprehensive HTML documentation.
  • Seamless integration with Qt Creator.


Go

Go Packages

High-performance Go packages based on the same C++ codebase as our other editions. The edition of choice for Go development on any platform.

Go
  • High-performance, C++-based Go modules.
  • 32-bit & 64-bit C++ class libraries (Windows DLLs).
  • Supports Go 1.13 and later.
  • Comprehensive HTML product documentation.


Rust

Rust Packages

Rust Crates built on top of 32-bit & 64-bit shared libraries for Windows, Linux, and macOS.

Rust
  • Rust packages built on our high-performance shared codebase.
  • Extensive sample applications.
  • Comprehensive HTML product documentation.
  • Support for x86/x64 and ARM.


Components

The following components are included in CBFS Connect.

Included Samples

The following samples are installed with the product. Please download the trial to get started.

Cache Operations
Demonstrates the use of the CBCache component in common operations.
Platforms: .NET Framework
Cached Folder Drive
Shows how to use CBCache when implementing a virtual filesystem. Another locally accessible filesystem is used as a backend storage.
Platforms: Go, Java, .NET, .NET Framework, Python, C++
Cached FUSE Drive
Demonstrates using the FUSE component to create a simple in-memory virtual drive with directory support with CBCache working as an intermediary caching mechanism.
Platforms: Go, Java, .NET, .NET Framework, Python, C++
Concurrent Cache Access
Shows how the cache is used to proxy file reading and writing operations.
Platforms: .NET Framework
Encrypted Drive
Shows how to route virtual filesystem requests to disk with simple on-the-fly encryption.
Platforms: Delphi, Java, .NET Framework, C++, Visual C++
Folder Drive
Shows how to route virtual filesystem requests to another locally accessible filesystem.
Platforms: Delphi, Go, Java, .NET, .NET Framework, Python, C++, Visual C++
Folder NFS
A virtual filesystem serving a local disk built with the NFS component.
Platforms: .NET
FUSE Drive
Demonstrates using the FUSE component to create a simple in-memory virtual drive with directory support.
Platforms: Go, Java, .NET, .NET Framework, Node.js, Python, Rust, C++, Visual C++
Memory Drive
A simple in-memory virtual drive with directory support built with the CBFS component.
Platforms: Delphi, Java, .NET Framework, Node.js, Qt, Rust, C++, Visual C++
Memory NFS
A simple in-memory virtual drive with directory support built with the NFS component.
Platforms: Delphi, Go, Java, .NET, .NET Framework, Python, Rust, C++, Visual C++
Secure Memory Drive
A simple in-memory virtual drive with Windows Security (ACL) support.
Platforms: Delphi, .NET Framework, Qt, C++, Visual C++

Download Trial


30-Day Fully-Functional Trial

Get started today and see why developers worldwide
choose Callback Technologies components.

Order Online


CBFS Connect

The leading SDK for creating and managing virtual filesystems from almost any type of storage.