Skip to content

jyo64/trsync

Repository files navigation

Logo Trsync

Screenshot_20260514_011336

A modern GUI wrapper for rsync built with Tauri (React Frontend) and Rust Backend, designed to simplify file synchronization with an intuitive graphical interface.

Overview

Trsync provides a user-friendly way to interact with rsync without needing to remember complex command-line flags. It enables selecting files and directories via a GUI, supports multi-file selection, and executes synchronization operations securely through a Rust-powered backend.

Features

  • 📁 Graphical file and folder selection
  • 📦 Multi-file sync support
  • 🌐 SSH Support. A graphical alternative to the SCP tool.
  • 🔄 Powered by rsync for efficient delta transfers
  • ⚡ Fast and lightweight (Tauri-based desktop app)
  • 🦀 Secure backend logic in Rust

Tech Stack

  • Frontend: React (TypeScript)
  • Backend: Rust
  • Desktop Shell: Tauri 2.0
  • Core Engine: rsync

How It Works

  1. User selects source files/folders via the GUI
  2. Destination path is chosen through the interface
  3. Frontend sends sync configuration to Rust backend
  4. Rust constructs and executes the appropriate rsync command
  5. Output is streamed back to the UI for status updates

Installation

Pre-built Binaries

You can download pre-built binaries for your platform from the Releases page. Available for both x86_64 and ARM64 architectures. ⚠️ Only .deb, .rpm and AppImage packages are available at the moment.

Development

Prerequisites

Ensure you have the following installed:

  • Rust (latest stable)
  • Node.js (LTS recommended)
  • rsync (pre-installed on macOS/Linux; Windows requires setup)
  • Tauri prerequisites (platform-specific dependencies)

Setup

Install the Tauri Prerequisites

# Clone the repository
git clone https://github.com/your-username/trsync.git
cd trsync

# Install frontend dependencies
pnpm install

# Run in development mode
pnpm tauri dev

Warning

  • ⚠️ Tested only on Fedora Linux.
  • 📦 Only .rpm package on x64 system was tested.

About

A modern GUI wrapper for rsync built with Tauri (React frontend) and Rust backend, designed to simplify file synchronization with an intuitive graphical interface.

Topics

Resources

License

Stars

Watchers

Forks

Contributors