.NET 8.0 based data synchronization with AES-256 encrypted vaults

Client-side, offline and cross-platform (Windows, Linux, macOS)

Download

Introduction

CoreSync is a lightweight, multi-platform and file system based synchronization tool, which supports AES encryption with 256-bit key length. The main benefits are total directory structure obfuscation, controlling over command line interface (CLI) and full logging. Additional graphical user interface (GUI) could be build up on top of the core library. It is developed to work well together with cloud synchronization tools and task mangement systems.


Open Source

CoreSync is an open source project maintained on GitHub.

Command-Line Interface

CoreSync can be controlled from the command line.

Cross Platform

Compatible with Mac, Windows, and Linux, CoreSync runs on three platforms.

Usage (CLI)

Usage: coresync [options] [command]

Options:
  • -?|-h|--helpShow help information
Commands:
  • configConfigure synchronization directory.
  • detachDetach synchronization directory.
  • filterAdd, remove or list filters. See 'filter -?' for more details.
  • initInitialize synchronization directory.
  • resetReset synchronization directory.
  • syncSynchronize data of current or specified directory.

Use "coresync [command] --help" for more information about a command.

Download

The latest .NET 8.0 Runtime is recommended. See table providing list of supported operating systems.
This project is licensed under Apache 2.0.
All Releases

Latest Commits


Processing

Processing

Vault

d contains encrypted file data.

f contains unique metadata of the source files. Building a checksum of file content ensures that the vault includes no redundancy.

h contains metadata of file system entries, which are needed to unveil the directory structure. The files are stored independently so there can't be any single point of failure. The Rfc2898DeriveBytes class, which implements PBKDF2 function, generates the bytes of vault entry names. Generating a random and protected salt makes it difficult to attack the hash with the use of rainbow tables or by brute-force.

csmaster is a file, which is encrypted with the master passphrase and contains the sub keys of the vault entries. Changing the master passphrase will overwrite the file with no need to update the vault entries.

CoreSync.io. All rights reserved.
T. A. Weintz