CBFS Connect

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

Download
The Latest CBFS Connect Is Now Available!

Highlights include support for Docker Containers, a new cross-platform FUSE component, a new cache component for efficient remote file caching, and a host of core performance and usability improvements [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, and 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.

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 "implementated" 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.

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.

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.

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

Based on a 100% C# codebase, with no dependencies on native code. The edition of choice for all .NET applications.

.NET

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

  • Fully-managed .NET components written in C#.
  • .NET Standard 2.0 and 2.1 support.
  • Support for .NET 8, .NET 7, .NET 6, .NET 5, .NET Core 3.1, and earlier.
  • Comprehensive integrated product documentation.
  • Seamless integration with Visual Studio.
  • Support for .NET Framework 2.0 - 4.8.
  • Extensive demo applications written in C#.


C++

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

C++ classes packaged in 32-bit & 64-bit Windows DLLs, and C++ libraries that can be compiled against many Unix flavors, including but not limited to Linux, Solaris, macOS, AIX, FreeBSD, etc. The edition of choice for C++ programming on any platform or C++ development technology.

C++
  • C++ classes built atop our high-performance shared codebase.
  • Extensive C++ demo applications.
  • Comprehensive HTML product documentation.
  • Seamless integration with popular development environments, including Visual Studio.
  • Supports Windows 7 / Server 2012 and later; plus Linux (kernel 2.6.x+) and macOS.


Delphi

Native Delphi Components

Native Delphi components with no external dependencies, based on the same high-performance codebase as our other editions. The natural choice for Delphi programming.

Delphi
  • Delphi VCL components built atop our high-performance shared codebase.
  • Extensive Delphi demo applications.
  • Comprehensive integrated product documentation.
  • Support for all Delphi versions between Delphi 6 and RAD Studio 12.
  • Supports Windows 7 / Server 2012 and later.


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 demo 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.
  • Supports Windows 7 / Server 2012 and later; plus Linux (kernel 2.6.x+) and macOS.


Python

Python Modules

Python modules for Windows, Linux, and macOS; featuring the same trustworthy components that come with other editions, available for use in Python 3.

Python
  • Python modules for Windows, Linux, and macOS.
  • Support for Python 3.
  • Extensive console demo applications.
  • Easy installation using PIP.
  • Demo applications and 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 demo applications and comprehensive HTML documentation
  • Seamless integration with Qt Creator.
  • Supports Windows 7 / Server 2012 and later; plus Linux (kernel 2.6.x+).


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.
  • Supports Windows 7 / Server 2012 and later; plus Linux (kernel 2.6.x+).


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 Core, .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 Core, .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 Core, .NET Framework, Python, C++, Visual C++
FUSE Drive
Demonstrates using the FUSE component to create a simple in-memory virtual drive with directory support.
Platforms: Go, Java, .NET Core, .NET Framework, Node.js, Python, C++, Visual C++
Memory Drive
A simple in-memory virtual drive with directory support.
Platforms: Delphi, Java, .NET Framework, Node.js, Qt, C++, Visual C++
Secure Memory Drive
A simple in-memory virtual drive with Windows Security (ACL) support.
Platforms: Delphi, Java, .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.