SyncUp: an android and iOS Syncthing client

I was playing around with syncthing macos client and noticed there wasn’t any official iOS client. I looked through the syncting github and found an archived android client.

My background is heavily into building mobile apps and recently I’ve transitioned into Devops. I missed the thrill of building mobile apps and saw that this seems like a good opportunity to bring that back by building a react-native app that can become both an iOS and Android Client from a singe codebase.

I built GitHub - siddarthkay/syncup: SyncUp: an open-source Syncthing client for iOS and Android, powered by react-native · GitHub its open source and has the same license as syncthing itself. It took a while to get the apple developer account set up but I finally got enrolled today and will open up public testflight soon for this.

Thoughts and feedback are welcome, you may build the client locally as well the instructions are pretty simple and I’ve used nix so it should be pretty easy to get reproducible builds.

Cheers, Sid

12 Likes

Thank you for your work! I’ll check it out.

1 Like

As I set up the release pipelines and deal with the bureaucracy (Google and Apple) the easiest no nonsense way to share Android build seems to be Fdroid and the MR for that is here : New app: com.siddarthkay.syncup (!36749) · Merge requests · F-Droid / Data · GitLab

1 Like

Wow, this is a very nice UI. Definitely switching to this.

1 Like

iOS External Testflight build is submitted for apple review

Fdroid has a large test queue of about 100 MRs so they will take time to test and merge

Thank you very much for this and all of your efforts are appreciated.

I’m on Android and I have installed your software thank you.

I have a friend who is an apple person do they get your software from the regular Apple App Store? I mentioned your software to a friend of mine who’s on the Apple platform and he could not find your software in the Apple Store.

1 Like

Hi @Wank I’m currently in process of getting testflight approved/reviewed by apple. will also make progress to get it released on apple app store and post here when it becomes available. Please ask your friend to wait for a week or so and I will post here with progress updates on the same.

Thank you

1 Like

Thanks :blush:

now available on apple app store ‎SyncUp-Client App - App Store I am working to also make it available in EU, have filled the necessary compliance documentation. I will also be sharing public testflight link to join once i publish a new version here.

1 Like

Wow that was a lot less than a week!

I applaud your effort. And I’m sure my friends and Associates will appreciate your efforts a lot more than I because I’m not an apple person. I have passed on your information to my friend who is interested in iOS software for syncthing. He’s currently using it on Windows and Mac.

1 Like

I’d be interested to know how this compares to Synctrain functionality wise, besides being available for Android (which I think is great but not a platform I use personally).

I haven’t used Synctrain so I don’t know, but if you do and find something is missing in functionality or UX please let me know by opening an issue Issues · siddarthkay/syncup · GitHub and I will make it my mission to make it available.

Thank you

1 Like

Synctrain developer here. I haven’t yet had the time to test SyncUp, but I did have a quick look at the screenshots and code. Both apps run Syncthing in-process and wrap it with their own UI. I see two more fundamental differences between the two:

  • Synctrain exclusively focuses on Apple platforms (and supports iPadOS and macOS in addition to iOS). The goal is to closely integrate with the native platform and its affordances, i.e. with native UI (SwiftUI), Shortcuts, Handover support, etc. SyncUp instead supports both Android and iOS (although I can imagine iPadOS and macOS can be added easily). This can (with due effort) be as integrated of course, but there is a tradeoff between how similar the app is between the platforms (if end users want that consistency) and how native it is to each of them. For Synctrain, iOS and iPadOS and macOS are essentially close enough to build native UI from the same code with some ifdefs.
  • Synctrain’s UI is file-centered, whereas (so far) SyncUp follows the ‘control center’ UI paradigm (where the app is primarily there to configure a service that syncs folders, which you then access through other means) also used in the Syncthing web UI. There’s no reason SyncUp couldn’t also add a file browser of course at some point.

In addition to the technical differences, it may be relevant for end users to know how maintenance and the development process will be.

@siddarthay I am curious to see where your app is headed, and what the vision is as to the above points. Also cordially invited to try Synctrain of course :slight_smile:

2 Likes

Maybe it’s a good idea to remove file access within Synctrain?

Less code, less to maintain, fewer vulnerabilities. Users already have files app! No need for another app.

1 Like

The more file-centered, the better IMHO. What Spacedrive envisions is probably my ideal solution.

I use Syncthing for cross platform syncing between Mac/Windows/Linux devices. It’s the most reliable/performant solution for me. But on my phone I actually don’t need sync at all. Basically I’d be happy with on demand file access with thumbnail preview and file management (including deleting files from the Global State without downloading them locally first). Photo back-up (with PhotoKit Background Resource Upload) would be a bonus. I’m fine even with a centralized setup + VPN, just for phone access.

Synctrain has photo-backup but I haven’t tried it as the disk space limitation turns me off. Synctrain has thumbnail support too and can cache them inside a .thumbnails directory inside a shared folder. But it seems my iPhone has to sync the entire .thumbnails directory to be able to benefit from it, which doesn’t fit on the phone. On-demand thumbnail downloading from a (shared) thumbnail folder was being considered.

I’d been hosting Nextcloud on top of the folders synced by Syncthing, just to be able to access them from my phone with a native iOS app. Now I’m transitioning to OpenCloud because it does what I need out of the box without having to install lots of plugins. But if there’s an app which talks directly Syncthing and works more like a virtual file provider (with thumbnail support) I’d happily switch to that. :slight_smile:

Still very interested to follow the development of native Syncthing clients for iOS/Android :smiley:

On-demand thumbnail download is now implemented, it will be in build >=76 (or the next App Store version, v2.6)

1 Like

Hello Sid,

I’ve just setup a home server and since I use macOs, iOs and linux I was looking for a reliable Synching client for iOs and found yours yesterday evening so I was thrilled. The app is very well built and does its job perfectly for the moment so thanks for your work !! One request though: would it be possible to save the synced documents in another folder than ‘SyncUp/syncthing/folders’ ? It’s the only issue I’ve got for the moment, other than that it’s amazing :slight_smile: Ewan

1 Like

Finally a client that I can install and use an my old iPad (stuck on iOS 16).

Thank you so much for this!

How does this compare to Syncthing-Fork available for Android via F-Droid?

That is what I currently use, and it does the job.