Skip to content

Releases: SimpleDaemons/simple-rsyncd

v0.4.0 Security-ready Beta

Choose a tag to compare

@blburns blburns released this 31 May 01:56

v0.4.0 Security-ready Beta

Gate 2 release: TLS, access control, rate limiting, privilege drop, symlink hardening, and SSH public-key authentication. 8/8 CTest suites green. Still not a native rsyncd drop-in or general production release — see PRODUCTION_GATE.md.

Security & hardening

  • TLS 1.2+ — optional [ssl] encryption via OpenSSL (SSLContext, handshake on accept)
  • Network ACL — IP/CIDR allow/deny at connection accept
  • Rate limiting — per-IP connection limits (minute/hour windows)
  • Privilege drop — drop root after bind; optional chroot (documented)
  • Module hardening — symlink escape blocking on module paths
  • Authentication — SHA-256 password hashes, reject_plaintext_passwords, SSH public-key verify (Ed25519/RSA/ECDSA, OpenSSH ssh-keygen -Y sign with namespace simple-rsyncd)

Tests & CI

  • 8/8 CTest suites — Config, Module, Protocol, Auth, Integration, Security, SSL, PublicKey
  • GitHub Actions — build, test, and cppcheck on push

Documentation

  • Security docs under docs/security/ (threat model, TLS, ACL, public-key auth)

Installers

Platform Package
Debian/Ubuntu simple-rsyncd-0.4.0-linux-debian-amd64.deb
RHEL/Fedora simple-rsyncd-0.4.0-linux-generic-amd64.rpm
FreeBSD simple-rsyncd-0.4.0-freebsd-amd64.pkg
macOS simple-rsyncd-0.4.0-macos-intel.dmg or .pkg

Upgrade from v0.3.x

Review new [ssl], [access], and auth options in example config. Enable TLS and ACL before internet-facing use. See docs/security/.

Known limitations

  • Simplified custom protocol — not full native rsync(1) / rsyncd wire compatibility
  • Password hashes are SHA-256 (bcrypt/argon2 planned for Gate 3)
  • macOS DMG payload path alignment still pending (PKG is canonical)

v0.3.1 Beta

Choose a tag to compare

@blburns blburns released this 31 May 01:11

Summary

First Beta release with all CTest suites passing. Core module file operations (list, upload, download, delete, mkdir/rmdir) and custom protocol argument parsing are stable for controlled deployments.

This is not production-ready and is not a drop-in replacement for native rsyncd. See PRODUCTION_GATE.md for the full release criteria matrix.

What's fixed

  • Module FS: Path validation allows create/upload without pre-existing targets; directory listing works on module roots
  • Protocol: key=value arguments (e.g. recursive=true) parse on direct command lines
  • Upload path: transferFile no longer blocked by existence-only path checks
  • Tests: 5/5 CTest suites green (Config, Module, Protocol, Auth, Integration)

Documentation

  • README updated with honest Implemented vs Planned feature lists
  • Client usage clarifies custom protocol (not guaranteed native rsync(1) compatibility)

Install / build

git checkout v0.3.1
cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=ON
cmake --build build -j
cd build && ctest --output-on-failure
make static-package   # from repo root, for platform installers

Known limitations (unchanged from v0.3.0)

  • TLS handshake not fully implemented
  • OAuth2, Prometheus, rate-limit enforcement — config stubs only
  • Native rsync client compatibility not verified

Test plan

  • ctest 5/5 on macOS
  • ctest on Linux CI
  • Package smoke test after make static-package

v0.3.0

Choose a tag to compare

@blburns blburns released this 31 May 01:03

Release v0.3.0

Cross-platform rsync daemon with SSL/TLS, multi-format configuration, module system, and static binary packages for Linux, FreeBSD, and macOS.

Highlights

  • Consolidated source tree and single production entry point
  • Cross-platform build fixes (Linux, FreeBSD, macOS)
  • CPack installer packages via make static-package (DEB, RPM, FreeBSD PKG, macOS DMG/PKG)
  • macOS PKG installs to /usr/local/bin, /etc/simple-rsyncd/, and /Library/LaunchDaemons

Packages

This release includes packages for:

  • Linux (Debian/Ubuntu): DEB packages
  • Linux (RHEL/CentOS/Fedora): RPM packages
  • FreeBSD: PKG packages
  • macOS: DMG and PKG packages

Installation

Debian/Ubuntu

sudo dpkg -i simple-rsyncd-0.3.0-linux-debian-amd64.deb

RHEL/CentOS/Fedora

sudo rpm -ivh simple-rsyncd-0.3.0-linux-generic-amd64.rpm

FreeBSD

sudo pkg add simple-rsyncd-0.3.0-freebsd-amd64.pkg

macOS

Download and open the DMG file, or install via:

sudo installer -pkg simple-rsyncd-0.3.0-macos-intel.pkg -target /

Example config and samples are installed under /etc/simple-rsyncd/.

Source Code

git clone https://github.com/SimpleDaemons/simple-rsyncd.git
cd simple-rsyncd
git checkout v0.3.0