For years, I have used mainstream cloud storage services, including Google Drive, OneDrive, and iCloud. They are all convenient, but rely on centralized servers. This creates reliance on centralized infrastructure, and once I started thinking more about cost, control, and avoiding vendor lock-in, I knew I had to consider other options.
I recently replaced Google Drive with a self‑hosted NextCloud server, but there are several other options to explore. So, I tried Syncthing.
Using Syncthing has paid off in several ways, most notably through superior synchronization speed and efficiency for large files and folders, as well as true decentralization and local redundancy.
The Installed version of SyncTrayzor will install itself into C:\Program Files\SyncTrayzor or %LocalAppData%\Programs\SyncTrayzor for all-users or current-user version respectively.
By default, SyncTrayzor will put its own configuration in C:\Users\<You>\AppData\Roaming\SyncTrayzor, and let Syncthing use its default folder for its database, which is C:\Users\<You>\AppData\Local\Syncthing. It will also create a registry key at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run\SyncTrayzor the first time that it is run, which will let it start when you log in.
You can delete this registry key by unchecking "Automatically start on login" in the settings.
You can set a custom home path for Syncthing in the settings if you wish (Settings -> Syncthing -> Advanced -> Syncthing Custom Home Path). This is useful if you want to keep the copy of Syncthing managed by SyncTrayzor separate from another copy running on your machine.
I want to change The GUI Listen Address from 127.0.0.1:8384 to 0.0.0.0:8384 from syncthong cli config gui
syncthing cli config gui raw-address set 0.0.0.0:8384Just copy the config.xml, cert.pem and key.pem. I actually have a Syncthing folder setup on remote devices to sync that back to a trusted local machine (folders are setup send-only, receive-only).
If you save the config.xml the remote Device IDs and folder IDs (as well as local paths) are already saved.
If you save the cert.pem and key.pem you have saved your own device ID. It is impossible to recreate the Device ID without these, so saving the local device fingerprint (“Device ID”) is unnecessary.
No need to make note of all those folder IDs and remote device IDs unless you want to reconstruct the config because the config.xml was not saved.
As long as the local folder paths are the same:
- For safety, set all the remote folders to “Send Only”.
- Install Syncthing on the replacement device (wait for an automatic upgrade if needed).
- Stop Syncthing.
- Copy over the config.xml, cert.pem and key.pem that you saved from the old device.
- Start Syncthing.
- It will see that the folders don’t exist and should create them and copy files back.
- Once they are in sync, set the remote folders back to “Send & Receive”.
Note that any .stignore files you had on the old device will be lost because they are not synced, and do not get stored in the config.xml.
One workaround is to use an #include file in the .stignore and maintain the Ignore patterns there. But it makes maintenance more onerous because to edit the ignore patterns you have to open that file with another app.
Where its possible, you can use identical ignore patterns on both sides; it is redundant, but it preserves the patterns. This is not always possible.
A final alternative is to run a periodic script to copy every .stignore to device-parent-folder.stignore (where device- is hard-coded in your script). This file would be synced.
Switching from the deprecated official version
Switching is easier than you may think!
Stc is a command line tool for Syncthing. It can be used to quickly check status of Syncthing from a terminal / command line without need of a Web Browser. For example on a remote machine over ssh, without port forwarding or if you have large number of machines to query. Also run from a script, crontab, scheduled task, etc.
You can download ready-to-use binaries for [Linux x86_64](http://(https://github.com/basiliscos/syncspirit/releases/download/v0.4.1/syncspirit-fltk-v0.4.1-x86_64.AppImage) (AppImage), Windows (WindowsXP is supported) and Mac OS X (Apple silicon).
Notable changes:
- unified shared folders model, which allows to inspect on a local and remove devices
- possibility to import files from local storage
performance improvents, upto 5 times on a smaller files - fix compatibility with global discovery v3 protocol
- support folder_type folder setting (send only, receive only, send & receive)
- support pull_older folder setting (alphabetic, by size, by modification date)
- support disable_temp_indixes (hardcoded to 1 for atm)
- support ignore_permissions folder flag, permissions and no_permissions file flag
- support ignore_deletes folder flag
- support device auto-accept folder flag
- support device introducer and skip_introduction_removals markers
- support outgoing messages to be compressed using lz4
Syncspirit is a syncthing-compatible is written from the scratch software in C++ as classical desktop application.
Syncthing-Fork "Wrapper for Syncthing" has these release channels:
- F-Droid release build
"COMMON USER" - please choose this!
- GitHub release build
If you don't like to use F-Droid for some reason, please choose this!
- Google Play release build
- Published by nel0x at Google Play Store
- May contain limited functionality due to play policies.
- It's an appetizer for your family and friends to start their Syncthing experience.
- GitHub debug build
- Only published on GitHub
- Can be obtained by looking at the action workflow builds and artifacts.
- It's for maintainers and contributors who require a second installation of the app on their phone for testing purposes.
Nextcloud's public story of Play Store problems seems to have helped. //
Nextcloud, a host-your-own cloud platform that wants to help you "regain control over your data," has had to tell its Android-using customers for months now that they cannot upload files from their phone to their own servers. Months of emails and explanations to Google's Play Store representatives have yielded no changes, Nextcloud wrote in a blog post.
That blog post—and media coverage of it—seem to have moved the needle. In an update to the post, Nextcloud wrote that as of May 15, Google has offered to restore full file access permissions. "We are preparing a test release first (expected tonight) and a final update with all functionality restored. If no issues occur, the update will hopefully be out early next week," the Nextcloud team wrote. //
Nextcloud stated that it has had read and write access to all file types since its first Android app. In September 2024, a Nextcloud Android update with "all files access" was "refused out of the blue," with a request that the app use "a more privacy aware replacement," Nextcloud claimed. The firm states it has provided background and explanations but received "the same copy-and-paste answers or links to documentation" from Google.
"To make it crystal clear: All of you as users have a worse Nextcloud Files client because Google wanted that," reads Nextcloud's blog post. "We understand and share your frustration, but there is nothing we can do." //
HyperionAlphaMAX Seniorius Lurkius
7y
29
A similar app called Syncthing also got booted off the Play Store for the same reason. I still have it on my phone and it's a fantastic Cloud-free way to backup my phone to my NAS, even over the internet.
Permissions are supposed to be laid in front of me and then I can make an educated decision whether to install it or not. Why is Google blocking useful apps that can compete with their Cloud Storage while allowing data-slurping malware masquerading as shopping apps and games on the store? //
rorybaust Seniorius Lurkius
16y
18
Google now appear hellbent on proving that all the anti trust efforts by the authorities are not just political stunts and theater but actually have merit. Who would have thought that when Google dropped the "do no evil" mantra that they would actively pursue evil as a business strategy instead ?
and yes that last one was a rhetorical question indeed //
If anyone has ideas on how to set up automatic flattening on a non-rooted Android phone, I’m all ears. If not, perhaps there is a thing that would be possible with Tasker or some other tool which can run a linux command like:
find "$TARGET" -mindepth 2 -type f -exec mv -n "{}" "$TARGET/" \;
find "$TARGET" -mindepth 1 -type d -empty -delete
Hi @testing123,
I’ve implemented custom script support into the Syncthing-Fork app. The wrapper can now run shell scripts when a folder completes its sync progress. I’m using it myself to clean up mess Android itself repeatedly puts in my folders to prevent it from syncing across to other connected devices.
You can optIn to test it by turning expert options on and upgrading to this test build:
https://github.com/Catfriend1/syncthing-android/actions/runs/15002361443/artifacts/3116423884
For security considerations, you have to put your scripts into “.stfolder” and turn that option explicitly on per folder. See Expert option: Run custom shell script after folder sync completed by Catfriend1 · Pull Request [#1412](https://a.plas.ml/./add-tag/1412) · Catfriend1/syncthing-android · GitHub for more details and demo scripts.
This uses syncthing cli which is included in the package, but the concepts should apply to folks looking to integrate into the REST API.
I have two virtual machines, syncOne and syncTwo, and I want to make a shared folder on them. I want to only use the CLI. Maybe these are remote machines, maybe I need to automate this, or maybe I don’t have a web browser handy.
It’s much easier than I expected, but it’s also not clear from the docs. Here’s how to do this.
Syncthing, an open-source, decentralized file synchronization tool, provides a continuous, bidirectional sync alternatively that operates in real-time. Unlike OCI Functions, which rely on an event driven model for object replication, Syncthing synchronizes entire file structures efficiently between virtual machines (VMs) while supporting local and OCI Object Storage mounted directories.
In this tutorial, we will deploy Syncthing on OCI Compute instances across two regions using an OCI Resource Manager stack, enabling automatic, bidirectional synchronization between local VM storage and OCI Object Storage mounted directories.
Stc is a command line tool for Syncthing. It can be used to quickly check status of Syncthing from a terminal / command line without need of a Web Browser. For example on a remote machine over ssh, without port forwarding or if you have large number of machines to query. Also run from a script, crontab, scheduled task, etc.
There is a setting in the app to change the port (don’t change it in the Web GUI!). You need to set it to 0.0.0.0:8384 for remote access. Please also be aware that on Android, the username is hard-coded to “syncthing” and the password to the API key, and you cannot change them for now. //
(App menu > Settings > Syncthing Options > GUI Listen Addresses > 0.0.0.0:8384)
(App menu > Web GUI > Settings > GUI Tab > GUI Authentication User).
Just for the record, if you do change them in the Web GUI, they will reset back to “syncthing” and the API key after restart. This is a known issue and limitation.
In this tutorial, we will show you how you can use the Syncthing software on your Raspberry Pi.
Syncthing Debian/Ubuntu Packages
Syncthing Tray provides a tray icon and further platform integration for Syncthing.
It focuses on GNU/Linux and Windows.
stshare - Syncthing encrypted peer file server
Serves files from Syncthing peers that hold encrypted files using untrusted device encryption. This is useful when syncing files to an (untrusted) cloud server, but you still want to be able to hand out 'sharing links' that allow incidental access to specific files. A sharing link only contains the per-file encryption key, so only the requested file can be decrypted by anyone who is able to observe the request.
syncthing-hooks
Run shell scripts via event hook files (similar to Git hooks) when changes are detected in a Syncthing folder.
Prerequisites
Node.js >= 10
11sync.net is a Hosted Syncthing peer. Designed for Syncthing users seeking reliable backups and resilience.