Syncthing for Mac OS X
Introduction
syncthing-macosx
is a native macOS Syncthing tray application bundle. It hosts and wraps Syncthing, making it behave more like a native macOS application and less like a command-line utility with a web browser interface.
Features include:
- Open the Syncthing WebGUI from the tray in your prefered browser.
- Optionally starts on login, so you don't need to set up Syncthing as a service.
- Tray icon indicates when it is connected to syncthing (no status updates yet).
- Retina ready icons for the Application bundle and status tray.
- Automatic updates (using Sparkle pushed from github releases).
- Open shared folders directly in Finder.
Screenshot
Installation
Currently Mac OS X 10.10 or higher is necessary. syncthing-macosx is packaged as and disk image with a application bundle. You should download the dmg and drag and drop to install. The only necessary configuration is to set the api key which can be found in the web interface.
The latest version can be downloaded from Github Releases
NOTE: As I am not a paid Mac Developer member I have no approved signing keys. It is possible the application is not allowed to run due to the new Apple Application Security Policy (since Mac OS Sierra 10.12). And is already discussed in issue 8.
You can soften the policy just for syncthing-macosx
as described by Apple Knowledge Base #18657.
Why
All cross-platform approaches are not able to use all the native facilities of macOS. Including auto-updates, vector icon set (retina-ready) and creating an application bundle. GUIs are designed with XCode and everything is coded in Objective-C which is "the native approach".
Compiling
Build with XCode or run:
make debug
It will automaticly download syncthing amd64 binary and add it to the Application Bundle.
Goal
The goal of this project is to keep the Native Mac OS X Syncthing tray as simple as possible. No graphs, no advanced configuration windows. It just provides a very simple wrapper so users are not aware syncthing ships as a commandline application.
Known bugs
- Issue #24: HTTPS with self signed certificate doesn't work and gives no usefull error.
- Workaround: Disable HTTPS
Design
Design, internals and build process is documented in doc/design.md
Contributions
Contributions and issue reports are welcome. I'm an beginner in programming in Objective-C. Please keep in mind I do this on best-effort basis, and I try not to break the auto-updater.
I'm willing to add donated-based features if you need them.