On Syncthing iOS port (again)

I haven’t tried gomobile, but I hear it’s supposed to work. I’d probably steer clear from trying to do it all in Go and at the very least do all GUI and similar work with the regular tooling in Swift. Some sort of integration would need to happen for it to be able to access the camera and iCloud Drive libraries (which I assume would be the most interesting)… No idea how that would work, really.

Believe it or not I have almost zero interest in having Syncthing on my phone so I’m not going to pick up this one. :wink:


Re interest having ST on the phone:

I’m actually happy that it’s available on Android and this is actually one reason why we don’t use iPhones. A smartphone becomes the workhorse for road warriors, more and more.

We actually didn’t buy any new Tascams and do band interviews and photographs on Android phones nowadays. The quality is acceptable and it’s just great to have Syncthing upload the interview WAV files and camera pictures directly to the studio machines … :grin:

Just to make a point for Syncthing on smartphones.


I have been watching this for a while and I am quite intrigued.

I am happy to implement the protocol in C++ and keep it open source. I am also happy to make it to work for iOS, Android etc that is write the native layers to use the C++ code. For instance swift 3.1 for iOS.


And I am happy to provide you with any guidance or support in the process. I might even want to contribute here and there to brush up my C++.


Can anyone suggest a nice open source iOS sync tool? I’d like to synchronise an iphone with my home server. Meanwhile, the home server stores my data and uses Syncthing to synchronise among the linux- windows- and several android-devices.

Great! The thing is on then. :slight_smile: I have created an empty repo here https://github.com/reveo/syncthingpp. I start working on it this week.

@antmak, you wait a bit :slight_smile: and you will have syncthing working on iOS. As mentioned previously I will port the Block Exchange protocol to modern c++ and will package it up for use by objective-c or swift applications. This will make it possible to build a native iOS syncthing app.

Getting the protocol itself layed out is not that complicated, as you can just generate structs from protobuf. The async request response connection handling is the harder bit, but I guess you have to decide were to draw the line with what the library is due to provide.

1 Like

I am going to figure the answer to that over the next few days, if I have questions I will let you and the forum know. We can also do some informed decisions if there is a disagreement on what I came up with. Sounds good?

I don’t think there will be much disagreements as by the end of the day its your baby, and I can just advise.

But look at the go code, there is some good solutions there that can be mimicked to C++.

:slight_smile: I was planning to.

@Reveo No problem, I’ll go to official syncthing iOS-app (and buy it) as soon it will be possible. But I’m trying to find a current solution.

Also, you can cast me in this chat for my help you for testing your app or use a release.

tis one?

It also has a recent update. Disclaimer: I am not the developer, just was googling, so don’t ask me about usability and quality.