I am happy to announce the release of Ferry Sync for Sailfish OS!
Ferry Sync is a native file sync and cloud browser app for Sailfish OS: connect it to your cloud server, browse your files, and keep local folders synchronized in both directions.
Two-way folder sync (rclone bisync) per sync pair — a whole folder or just a single file
Upload only (one-way) (rclone copy) per sync pair — pushes a local folder to the remote and never deletes anything there; for camera or document backups
Currently implemented backends:Seafile, Nextcloud, SFTP, FTP/FTPS, PCLOUD
Remote browser: navigate your libraries/folders, create folders, upload, download, delete
Open files directly on the device: built-in text viewer, text editor and image viewer
Own file browser for uploads — all file types, multi-select
Background sync via systemd user timer: every 5 / 15 / 30 minutes, … – or manual only
Network rule: Wi-Fi only or Wi-Fi and mobile data synchronization
Safety limit against mass deletion: a run that wants to delete unusually much is aborted and waits for your explicit confirmation (“Force sync”)
Global exclude patterns, editable line by line (*.tmp, .thumbnails/**, …)
Per-run sync logs viewable in the app, plus a permanent diagnostics page for support cases
If you want to use a backend that is not yet implemented and its on the list above, please create an issue on GitHub and I will add it.
Roadmap
Release on Jolla Store / CHUM + Jolla-Harbour-Compliance
Rename remote folders
edit and show .md files from remote browser
One-way-Sync (without re-uploading again)
One-way-Sync from the cloud to the phone
Technical Information
Qt 5.6.3 (Sailfish OS Silica UI) + Python 3 backend via PyOtherSide — no C++, no Java
rclone as the one and only transfer and sync engine, bundled in the RPM (aarch64, armv7hl, i486)
Background sync as a short-lived systemd user timer — no permanent daemon, no battery drain
Sandboxing is disabled (Sandboxing=Disabled): inside the jail the Secrets daemon socket is invisible and systemctl/python3 cannot be executed, which makes background sync and secure credential storage impossible
Check out the full release notes on GitHub for a complete list of changes. If you would like to contribute, please send me a PM or create a pull request!
Thanks a lot for this app, it makes it very convenient to sync folders to nextcloud! With my short experience and testing, automated sync works reliably and respect the network rule. Until the one way sync is implemented, I’m using a separate folder on nc for JP fotos and it makes the backup job just fine.
One thing I noted; if I remove the last file from the folder so that the folder remains empty, and make it sync, the app gives an error notification “Sync state invalid - the next run will resync”, after which the “removed” file returns in the next sync. Same notification when trying to just sync an empty folder.
Great app. Thank you. Is it a design choice, that I only can choose selective local folders? I wanted to use the app for whatsapp backup, which is also under /home/defaultuser/
Ideally both but for me FTP is the important one. SFTP is already working as console command but of course it would be more convenient to have a graphical SFTP client.
Is it possible to add an option to show md files in the cloud storage instead of downloading them? I can open and edit md files with the local filebrowser, so maybe it works with your file browser, too…
Yeah good idea, currently there is editing implemented for .txt Files only, but I think .md would be also a good fit - added it to the List for Features now
yes, Syncthing is a file sync directly between one or more computers - no server inbetween, ferry sync acts as sync client for your cloud server backend.
my main purpose was to be able to sync folders bidirectional from my jolla phone to my own seafile cloud - and to browse, upload and download files manually from the cloud