lftp-sync-manager is a sleek, web-based control panel and automation manager for lftp transfers. It provides a modern Web GUI to orchestrate and monitor fast, multi-segmented, parallel file transfers (Push/Pull) over SFTP, complete with real-time file-watching, cron schedules, and multi-profile connection management.
Multi-Profile Connections: Configure multiple independent SFTP connection profiles (different hosts, credentials, and sync settings) and switch the active one from the header.
Secure Web Access: Optional password-protected login with TOTP-based Multi-Factor Authentication (Google Authenticator compatible), plus rate-limited login attempts.
SSH Key Handshake Tool: Automatically generates and installs SSH keypairs to your remote host directly from the Web UI — no need to store passwords in configuration files.
Real-Time Push Sync: Watches a local directory and uploads modified files instantly. Respects your exclude filters, so partial/in-progress files never trigger a sync.
Cron-Scheduled Syncs: Automates push/pull schedules using standard cron expressions.
Connection-Rate Protection: A failed sync backs off automatic retries for 30 minutes instead of repeatedly hammering a rate-limited or soft-banned host.
Pause, Resume & Abort: Freeze a running sync in place without losing progress and resume it later, or cancel it outright. Pausing also holds off that direction's cron schedule until you resume.
File Explorer: Dual-pane local/remote browser with per-item push/pull — transfer a single file or folder on demand without running a full sync. Transfers show live progress, speed and ETA, and can be paused, resumed or aborted mid-flight. Multi-select batch operations, sortable columns, name filtering, and rename support in both panes.
Webhook & Event Notifications: Alerts on sync success/failure, File Explorer transfers, connection cooldowns, and failed logins via Discord embeds, Telegram, Gotify, Ntfy, or a custom JSON webhook. Channels are per-profile with independent per-event toggles and a built-in Test button.
Readable Logs with Raw Fallback: The live log view is filtered to what matters (transfers, errors, summaries) with a one-click toggle to full raw lftp output. Complete unfiltered logs are always written to disk, SFTP passwords are masked before anything is logged, and a "download redacted log" button additionally strips host and username so logs are safe to share.
Credentials Stay on the Server: Stored passwords, MFA secrets, and notification tokens are replaced with a placeholder in every response sent to the browser — testing a saved connection or channel never requires re-typing them.
Bandwidth Throttling & Scheduling: Restrict download/upload speeds globally or on a custom time-of-day/day-of-week schedule.
Wildcard Filters & Advanced Sync Options: Include/exclude glob patterns, true mirroring (delete-on-destination), dry-run mode, and more.
Installable PWA: Add to Home Screen on desktop and mobile for quick access without a browser tab.
Unraid Optimized: Runs cleanly on Unraid or any standard Docker daemon.
This app holds credentials for a remote server and can permanently delete files on both ends. Don't expose the container directly to the internet — put it behind a reverse proxy with TLS. Web authentication is optional and off by default. Prefer the built-in SSH key handshake over storing a password. Provided as is, with no warranty, and used entirely at your own risk — see Security Considerations and the Disclaimer before deploying.
Actively developed — Plex/Jellyfin/Emby/Sonarr/Radarr rescan integrations, a persistent SQLite history database with long-term analytics, and remote storage/health diagnostics are all on the roadmap. See the full roadmap on GitHub for details and to leave feedback.
If LFTP Sync Manager has simplified your transfers or automated your backups, consider supporting its continued development! Any contribution is highly appreciated.