Vibeleaderboard
Index / tool
Visit github.com
Category
Developer Tools
Rank
No. 2064Tools index

Previous survey · No. 2059 ·

Pricing
Open Source
Type
TOOL
Builder
badlogic
GitHub
11 stars
Latest release
v0.3.0
Date

About

Rsync for Windows fork with extra flags (--chmod, --no-perms, --omit-dir-times, -z).

What it does

A Windows command-line front end that converts Windows paths, assembles transfer options, and launches bundled Cygwin rsync and SSH executables. It supports local paths, SSH destinations, rsync URLs, identity files, port selection, filtering, progress reporting, bandwidth limits, and destructive synchronization.

Why it's ranked here

This is a focused compatibility layer with a useful command surface and tolerant handling of unsupported arguments. Its compact Rust implementation is easy to inspect. However, disabled SSH host verification and ignored child-process exit status make it risky for security-sensitive or unattended automation.

What's good

Windows paths are converted before transfer, while standard controls cover checksums, archives, recursion, deletion, exclusions, partial files, progress, bandwidth, and IP versions. SSH users can select an identity and port. Unrecognized arguments pass through to rsync, extending usefulness beyond the explicitly modeled options.

Tradeoffs

SSH connections explicitly disable host-key checking, weakening protection against impersonated servers. The wrapper also ignores rsync's returned exit status, so its own successful completion may not mean the transfer succeeded. Distribution depends on a neighboring Cygwin bundle, and remote-path detection recognizes SSH through an at-sign heuristic.

How to use it well

Use it for interactive Windows synchronization when you want familiar rsync behavior, Windows path conversion, and a controlled set of common transfer switches. Verify transfer results independently in scripts, and avoid its SSH setup where host authentication matters. It is a CLI wrapper, not a library, API, or standalone rsync implementation.

Technical notes+

src/main.rs defines a clap-based Args structure, converts source and destination values through cygwin64/cygpath.exe, and invokes cygwin64/rsync.exe. parse_with_passthrough retries failed strict parsing after separating known switches from unknown arguments. prepare_rsync_options_with_ssh builds an -e command using cygwin64/ssh.exe, StrictHostKeyChecking=no, IdentitiesOnly=yes, an identity path, and a port. is_ssh_path treats values containing @ as SSH unless they contain rsync://. The result of the final Command::output is not checked for a nonzero status. Cargo.toml declares Rust 2021, clap and home dependencies, MIT licensing, link-time optimization, and symbol stripping. .github/workflows/release.yml builds on Windows, downloads the original fork's Cygwin bundle, and packages it with the compiled executable.

Observed

License
MIT
Primary language
Rust, edition 2021
Interface
Windows command-line application
Packaging
Release ZIP bundles the compiled executable with a cygwin64 directory
Runtime components
Launches bundled rsync.exe, cygpath.exe, and ssh.exe
Build surface
Cargo release build with link-time optimization and stripped symbols

Read from README.md, Cargo.toml, src/main.rs, .github/workflows/release.yml.

What it can do

  • Synchronize files and directories between locations

    Source and destination file pathsSynchronized files and directories

  • Change file permissions during sync

    Files with permission specificationsFiles with modified permissions

  • Copy files without preserving original permissions

    Files with existing permissionsFiles with default system permissions

  • Sync files without updating directory timestamps

    Directories with modification timesSynchronized directories with preserved timestamps

  • Compress data during file transfer

    Files to be transferredCompressed file transfer stream

Tags

rsyncwindowssynccli

Tech Stack

Rust

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.