Giter Site home page Giter Site logo

alexcscn / syncthing-macos Goto Github PK

View Code? Open in Web Editor NEW

This project forked from syncthing/syncthing-macos

0.0 1.0 0.0 7.16 MB

Frugal and native macOS Syncthing application bundle

Home Page: https://syncthing.net

License: MIT License

Objective-C 60.80% Shell 14.27% Ruby 1.22% Python 8.01% AppleScript 2.56% Makefile 0.43% Go 7.51% Swift 5.07% C 0.13%

syncthing-macos's Introduction

Syncthing for macOS

Syncthing forum Downloads Latest release Build Status license

Introduction

syncthing-macos 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 preferred 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

screenshot.png

Installation

NOTICE: This is the official Syncthing macOS application bundle. Please make sure you have no other syncthing instances or wrappers running or else this application will not work!

Currently, OS X 10.10 or higher is necessary. syncthing-macos is packaged as a disk image as an application bundled with the syncthing binary.

To install just download the dmg, mount it and drag and drop the application to install. The only necessary configuration is to set the API key and URL when provisioning a remote syncthing instance, the local instance is auto-configured. The application automatically keeps the syncthing binary updated, while running.

The latest version is available at Github Releases, or it can also be installed using homebrew brew cask install syncthing

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 and Swift 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.

For release builds signing the application build and creating an distributable DMG:

make release-dmg

The script will select the first available Developer ID and sign the app with it. To specify the signing identity, use SYNCTHING_APP_CODE_SIGN_IDENTITY environment variable:

SYNCTHING_APP_CODE_SIGN_IDENTITY="Mac Developer: [email protected] (XB59MXU8EC)" make release-dmg

Goal

The goal of this project is to keep the Native macOS 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. It strives to have a usability of good-by-default and should always follow the Apple Human Interface Guidelines to feel as much as an native application as possible.

Known bugs

See the issue tracker for the current status.

Design

Design, internals and build process is documented in doc/design.md

Contributions

Contributions and issue reports are welcome.

License

MIT

syncthing-macos's People

Contributors

xor-gate avatar calmh avatar virusman avatar justinclift avatar kmutahar avatar drasbeck avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.