Releases: SimpleDaemons/simple-rsyncd
Release list
v0.4.0 Security-ready Beta
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, OpenSSHssh-keygen -Y signwith namespacesimple-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)/rsyncdwire 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
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=valuearguments (e.g.recursive=true) parse on direct command lines - Upload path:
transferFileno 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 installersKnown 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
-
ctest5/5 on macOS -
cteston Linux CI - Package smoke test after
make static-package
v0.3.0
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.debRHEL/CentOS/Fedora
sudo rpm -ivh simple-rsyncd-0.3.0-linux-generic-amd64.rpmFreeBSD
sudo pkg add simple-rsyncd-0.3.0-freebsd-amd64.pkgmacOS
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