Le projet syncthing-macos est un paquet d'application de bac de synchronisation macOS frugal macOS. Il regroupe sa propre instance de synchronisation et enveloppe le processus d'arrière-plan de synchronisation, le faisant se comporter davantage comme une application macOS native et moins comme un utilitaire de ligne de commande avec une interface de navigateur Web.
Les fonctionnalités incluent:
~/Library/Application Support/Syncthing/syncthing.log , utilisez Finder -> go -> allez dans le dossier pour l'ouvrir.
AVIS : Il s'agit du bundle officiel d'application MacOS Syncthing. Veuillez vous assurer que vous n'avez aucune autre instance de synchronisation ni en cours d'exécution, sinon cette application ne fonctionnera pas!
Actuellement, OS X 10.13 ou plus est nécessaire. Syncthing-Macos est emballé sous forme d'image de disque sous forme d'application groupée avec le binaire Syncthing.
Pour installer simplement Téléchargez le DMG, montez-le et faites glisser et déposez l'application pour installer. La seule configuration nécessaire consiste à définir la clé API et l'URL lors de la fourniture d'une instance de synchronisation distante, l'instance locale est automatiquement configurée. Le bundle d'applications syncthing-macos désactive la daté automatique de syncthing car il a son propre mécanisme de mise à jour en utilisant Sparkle.
La dernière version est disponible dans les sorties GitHub, ou elle peut également être installée à l'aide de Homebrew brew install --cask syncthing
Toutes les approches multiplateformes ne sont pas en mesure d'utiliser toutes les installations natives qu'Apple MacOS fournit. Y compris les dates automatique, le jeu d'icônes vectoriel (Retina-Ready) et la création d'un bundle d'applications. Les GUIS sont conçus avec Xcode et tout est codé dans un mélange d'objectif-C et de Swift qui est "l'approche native".
L'objectif de ce projet est de garder le plateau de synchronisation macOS natif maigre mais utilisable. Pas de graphiques, pas de fenêtres de configuration avancées. Il fournit simplement un wrapper très simple, afin que les utilisateurs ne soient pas conscients de synchroniser les navires en tant qu'application de ligne de commande. Il s'efforce d'avoir une convivialité de la durée de vie et devrait toujours suivre les directives d'interface humaine Apple pour se sentir autant qu'une application native que possible.
Voir le tracker de problème (balise Bug Filtory) pour l'état actuel.
Les contributions et les rapports de problèmes sont les bienvenus.
Mit
Auto-update doit être désactivé manuellement pour les versions du système d'exploitation non pris en charge.
syncthing-macos est conçu pour exécuter sa propre instance de synchronisation et détecter automatiquement la touche API. La fenêtre Préférences est utilisée pour pointer une instance de course locale, une instance distante n'est pas prise en charge. Il est possible d'exécuter votre propre instance et de le pointer à des fins avancées / de développement. Vous ne devez modifier les paramètres que si vous savez ce que vous faites.
Définir des paramètres de commande de synchronisation supplémentaires est une fonctionnalité cachée. Vous devez les écrire à l'aide de la configuration par défaut de l'application. La seule limitation de courant Les paramètres ne peuvent pas contenir d'espaces!. Dans l'exemple ci-dessous, le journal d'audit est activé:
defaults write com.github.xor-gate.syncthing-macosx Arguments '--audit --auditfile=/Users/JohnDoe/staudit.log'
Lorsque l'adresse IP par défaut est passée de 127.0.0.1 à celle de routable comme par exemple 192.168.1.102, les préférences d'application du plateau doivent également être définies. Ou bien l'API ne peut être accessible et restera «hors ligne». Si vous avez cassé la configuration, vous pouvez modifier manuellement le fichier sous le ~/Library/Application Support/Syncthing/config.xml à l'aide de Finder avec go -> go dans le dossier. Et redémarrez le service de synchronisation du plateau.
com.apple.provenance métadonnées) Lors de l'utilisation de la fonction de synchronisation XATTR, il échoue lors de la synchronisation de MacOS 13.0 à MacOS <13.0. Lorsque vous utilisez cette fonctionnalité, il faut arrêter la synchronisation et modifier manuellement le fichier XML de configuration situé sur /Users/<user>/Library/Application Support/Syncthing/config.xml . Ou l'emplacement lors de l'exécution d'une instance de démon de synchronisation non géré le bundle d'applications). Le montage manuel du fichier de configuration est nécessaire car l'interface utilisateur Web ne prend pas en charge la gestion du filtre XATTR (version v1.22.1-1).
Selon le dossier partagé, le xattrFilter doit être configuré comme suit:
<folder id="..." ...>
<xattrFilter>
...
<entry match="com.apple.provenance" permit="false"/>
<entry match="*" permit="true"/>
</xattrFilter>
</folder>
Remarque: Voir l' entry com.apple.provenance xattrFilter .
Voir aussi # 185 et le Forum Post pour plus d'informations.
Sur Mac OS X, vous déposez l'application du dossier de l'application à votre poubelle. Mais certains fichiers spécifiques à l'utilisateur sont conservés ailleurs, qui sont situés sous $HOME/Library/Application Support/Syncthing . Les fichiers de ce dossier sont la configuration, les fichiers de chiffrement / profil et le cache de base de données. Pour plus d'informations, voir docs.syncthing.net/users/config.html.
Par défaut, l'application MacOS Syncthing vérifie automatiquement les mises à jour. Pour désactiver (ou réactiver), la mise à jour automatique vérifie, il faut définir le paramètre de mise à jour Sparkle à partir de la ligne de commande:
defaults write com.github.xor-gate.syncthing-macosx SUEnableAutomaticChecks 0
Ce paramètre n'est pas admis et ne disponible que sur la ligne de commande. Lorsque votre système n'est plus pris en charge et ne souhaite pas être informé des mises à jour non pris en charge, la désactivation est recommandée.
Avant de compiler les sous-modules Git, doit être présent:
git submodule update --init
Le nouveau syncthing.xcworkspace doit être utilisé lors du codage dans Xcode.
Construisez avec Xcode ou Exécutez:
make debug
Il téléchargera automatiquement Syncthing Universal Binary et l'ajoutera au bundle d'applications.
Pour les builds de libération de signature de la construction de l'application et de la création d'un DMG distribuable:
make release-dmg
Le script sélectionnera le premier ID de développeur disponible et signera l'application avec. Pour spécifier l'identité de signature, utilisez la variable d'environnement SYNCTHING_APP_CODE_SIGN_IDENTITY :
SYNCTHING_APP_CODE_SIGN_IDENTITY="Mac Developer: [email protected] (XB59MXU8EC)" make release-dmg
Les paramètres de synchronisation utilisent l'installation NSDefaults. Dans la ligne de commande, tous les paramètres peuvent être affichés avec:
jerry@Jerrys-iMac ~ % defaults read com.github.xor-gate.syncthing-macosx
{
ApiKey = rR7YrEDLKhNETJZKgySmnYPZvebY9qgk;
Executable = "/Applications/Syncthing.app/Contents/Resources/syncthing/syncthing";
SUEnableAutomaticChecks = 1;
SUHasLaunchedBefore = 1;
SULastCheckTime = "2021-01-08 12:05:53 +0000";
SUSendProfileInfo = 0;
StartAtLogin = 1;
URI = "http://127.0.0.1:8384";
}
Executable Propriété (Power-Users uniquement) Si vous souhaitez utiliser l'interface graphique Nice mais que votre propre exécutable soit situé à l'extérieur du bundle Syncthing.app , le paramètre de configuration Executable peut être écrasé manuellement avec l'outil de commande defaults à l'aide du terminal intégré ou Iter2. Les derniers arguments doivent être modifiés en application Syncthing Daemon Golang.
defaults write com.github.xor-gate.syncthing-macosx Executable /Users/jerry/develop/Syncthing/exe/syncthing
Pour le restaurer sur le chemin du bundle, utilisez simplement la suppression de la propriété. Il le réinitialise automatiquement.
defaults delete com.github.xor-gate.syncthing-macosx Executable
Cocoapods est utilisé pour la gestion des dépendances. Il peut être installé avec Homebrew Package Manager. Pour plus d'informations sur les cocoapodes, lisez les guides Cocoapods.
Il utilise la version exécutable Syncthing expédiée avec un numéro -<bundle index> . Donc, pour Syncthing 0.14.28 avec la première version / package, il est versé à 0.14.28-1 . Actuellement, il n'est pas nécessaire d'avoir une version distincte pour syncthing-macos . Car il maintient également l'emballage étroitement couplé aux versions de synchronisation.
syncthing/Scripts/syncthing-resource.shsyncthing/Scripts/create-dmg.shsyncthing/Info.plist, key CFBundleShortVersionStringSYNCTHING_APP_CODE_SIGN_IDENTITY ) syncthing/syncthing-macos ne fera que des versions stables et aucun candidat à la libération du service de synchronisation (démon).
Une fois le DMG créé, il doit être envoyé à Apple pour être notarié. Il peut être vérifié avec spctl si l'application est correctement vérifiée par Apple pour la distribution:
spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)
Lorsqu'il n'est pas correctement notarié, la sortie suivante est visible (notez la source):
spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)
Voir également la documentation du développeur Apple sur https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution
Activez l'environnement virtuel Python avec le module semver installé. EG source venv/bin/activate .
Pour mettre à jour la synchronisation groupée, la make release-update doit être exécutée à partir du dossier principal qui fait automatiquement ces étapes:
Mettre à jour syncthing/Scripts/syncthing-resource.sh , SYNCTHING_VERSION
Mettre à jour syncthing/Info.plist
CFBundleShortVersionString : chaîne lisible par l'utilisateur (par exemple 1.27.10-1 )CFBundleVersion : compteur de version incrémente (par exemple 102701001 pour 1.27.10-1 )Lorsque la branche Git se développe ou la libération poussée pour GitHub, les actions GitHub CI Server créent automatiquement le débogage et la libération
Téléchargez manuellement la version .dmg à partir des actions github.com qui est correctement signée et notariée
Créez manuellement une nouvelle version GitHub avec TAG v<major>.<minor>.<patch>-<bundle index>
Exécutez le déploiement de Sparkle Updater Appcast.xml. Qui transforme GitHub publie JSON en un fichier Sparkle Appcast.xml. (Voir aussi la documentation Sparkle) pour pousser aux utilisateurs.