Download

No release yet. easysync has no downloadable version so far. This page will list the files, with their checksums, when the first release is published.

Until then you can build it yourself from the source code.

Build from source

You need git, a C compiler (the SQLite library inside easysync is built from C) and rustup. The repository pins its Rust version (1.88) in rust-toolchain.toml, and rustup installs it on the first build.

Command line, daemon and relay

git clone https://git.example.org/easysync/easysync easysync
cd easysync
cargo build --release --locked -p syncengine-cli -p syncengine-relay
./target/release/easysync --version

This produces target/release/easysync, the command line and the background daemon in one program, and target/release/easysync-relay, the relay server. The crates are named syncengine-* because SyncEngine is the name of the engine.

Desktop app

The desktop app is a separate project in apps/desktop. It needs the Node.js version in apps/desktop/.node-version. On Linux it also needs the WebKitGTK and GTK 3 development packages (libwebkit2gtk-4.1-dev, libgtk-3-dev) and pkg-config.

cd apps/desktop
npm ci --ignore-scripts
npm run build
cd src-tauri
cargo build --release --locked --features custom-protocol

The program is src-tauri/target/release/easysync-desktop. Installers are made by the project's pipeline and are not part of these steps. The web app and the Android app have their own build steps in the repository.

Checking a download (for when there is a release)

Every release file will have a .sha256 file next to it. Compare the file with it:

A matching checksum shows that the file arrived intact. While the files are unsigned, it does not show who made them: Windows SmartScreen and macOS Gatekeeper warn about unsigned programs, and releases stay unsigned until signing keys are in place.