iOS Port of Syncthing

I think the UI part needs to be done in OpenGL, so you’d probably still want to have a libsyncthing like on Android and UI in Cocoa as OpenGL UI’s is some hard stuff.

Yeah that sounds reasonable. But it looks like go programs can now be linked into a lib that can be linked to a C program, so we could actually have a useful with a Swift front end or something.

1 Like

Bump, @sgilani where’s the long promised blog post?

What news on this port? I have LOADS of people with money waiting to donate if there is an iOS port working! :slight_smile:

Hey Guys,

i have not so much time in the moment to continue the devlopement and the documentation, i preparing today until tommorow the hole project with a basic guideline on github and the community can continue until i have finish my actual project and can come back to this ios port.

PS: It would be nice when i can see my name “Saber Gilani” on the Developer list of Syncthing.

@paullittlefield Money is not a motivator for me :slight_smile: i prefare to develop with passion… and see great stuff…


Fair enough. Fingers crossed.

hey guys,

here is the repo: here you will find the Xcode project and a basic how to for compiling golang for ios.

any questions? write me… i will try to answer soon.

Regards, Saber



I think you will continue the project? When yes, i can help you with teamviewer to setup the project to get it running, so then maybe you can write a better README :smile:

Do you know whats the commit you were at for syncthing? I want to inspect the changes required to syncthing.

I’m still interested in helping out. I actually just setup syncthing on a few of my machines last night. I’m really happy with it so far. So I’ll definitely want to be able to use the iPhone app.

When i am not wrong it was v.11.10 i had done just a few changes, but with a diff you can see what i did.

Same here, still interested in working on this as well. I wonder how difficult it might be to set this up as a proper fork from the syncthing master, so we can make changes and rebase w/ master to keep it on track with the main branch. Do you have a commit-hash for when you started working on this?

I think one of the admins can create this and i can deliver the project with the latest version of syncthing. I need just 15min to implement the latest syncthing source, when it is helpful?

Anybody continued here? My last project is now finshed, i have time again for this project.

1 Like

So I only checked the syncthing changes, and apart from CGO directives, rewritten imports (why?), tweaked HTML, and a few exports from the main module there isn’t much changes. It seems to have been a modified v0.11.13 version.

Okay, so then i can get the latest source and start to write a wrapper, because i think is better to develop the GUI for iOS and use Syncthing as a library or what the community prefare the default GUI?

1 Like

Given the state of the Android GUI, and my own experience with writing my own GUI, I’d say that you need to preserve the original GUI as a backup at the very least. Things change quickly. New features are added to the GUI quicker than you might think, and breaking changes are made not infrequently.

I’d say take the quickest route to getting something that works. If that means a weird hybrid of the web GUI and a couple of custom things in a different location: fine. Get something that works, and that people can use. After that’s out, think about a more native GUI.

It pleases me a lot to see development of Syncthing for iOS. :smile:

I agree with ‘canton7’ that the focus should be on getting Syncthing working, with the basic functions managed through browser gui. A native gui/app with built in file browser, camera upload, TouchID security, “Sync on wifi only”-setting, and more would indeed be awesome, but can come later.

1 Like

This is so cool!

Dose it work to compile it with Go 1.5 and Gomobile too?

Info: I compiled again the last version and i pushed it up the app store, lets see what happend and what apple will say with the first golang app in the app store…

i prepare now a roadmap for all todo’s