Проект syncthing-macos -это скромный нативный пакет для синхронизации MacOS. Он объединяет свой собственный экземпляр синхронизации и завершает фоновый процесс синхронизации, что делает его ведущим больше похоже на приложение MacOS и меньше похожей на утилиту командной строки с интерфейсом веб-браузера.
Особенности включают:
~/Library/Application Support/Syncthing/syncthing.log , используйте Finder -> go -> Перейти в папку, чтобы открыть ее.
Примечание : это официальный пакет приложений MacOS Syncthhing. Пожалуйста, убедитесь, что у вас нет других экземпляров синхтинг или оберток, иначе это приложение не сработает!
В настоящее время необходима OS X 10,13 или выше. Syncthhing-Macos упаковывается в виде дискового изображения в виде приложения, связанного с Syncthhing Binary.
Чтобы установить, просто загрузите DMG, установите его и перетащите приложение для установки. Единственная необходимая конфигурация-установить ключ и URL-адрес API при обеспечении удаленного экземпляра синхронизации, локальный экземпляр автоматически конфигурируется. Пакет применения syncthing-macos отключает Auto-Updater of syncthing , поскольку он имеет свой собственный механизм обновления с использованием Sparkle.
Последняя версия доступна в выпусках Github, или ее также можно установить с помощью brew install --cask syncthing
Все кроссплатформенные подходы не могут использовать все местные средства Apple MacOS. Включая Auto-Updates, набор векторных значков (готовый к сетчатке) и создание пакета приложений. GUI разработаны с XCODE, и все закодировано в сочетании Objective-C и Swift, который является «нативным подходом».
Цель этого проекта - поддерживать насыщенный лоток MacOS Syncthing Lean, но пригодным для использования. Нет графиков, нет расширенных окон конфигурации. Он просто обеспечивает очень простую обертку, поэтому пользователи не знают синхентинговых кораблей в качестве приложения командной линии. Он стремится иметь удобство использования прощания к по умолчанию и всегда следует следовать руководящим принципам Apple Human Interface, чтобы чувствовать как можно больше нативного приложения.
См. The Tracker (Filtende Tag Tag) для текущего состояния.
Взносы и отчеты о выпуске приветствуются.
Грань
Auto-Update должна быть отключена вручную для неподдерживаемых версий ОС.
syncthing-macos предназначен для запуска собственного экземпляра Syncthhing и автоматического обнаружения ключа API. Окно настройки используется для указания локального экземпляра, удаленного экземпляра не поддерживается. Можно запустить свой собственный экземпляр и указать на него для продвинутых/разработчиков. Вы должны изменить настройки, только если знаете, что делаете.
Установка дополнительных параметров командной линии синхронизации является скрытой функцией. Вам нужно написать их, используя настройку приложения по умолчанию. Единственное ограничение тока, параметры не могут содержать пробелов!. В примере ниже журнала аудита включено:
defaults write com.github.xor-gate.syncthing-macosx Arguments '--audit --auditfile=/Users/JohnDoe/staudit.log'
Когда IP -адрес по умолчанию изменяется с 127.0.0.1 на маршрутный, например, EG 192.168.1.102, предпочтения приложения для лотка также необходимо также установить. Или иначе API не может быть доступен и останется в автономном режиме. Если вы сломали конфигурацию, вы можете вручную отредактировать файл под ~/Library/Application Support/Syncthing/config.xml используя Finder с Go -> Перейти в папку. И перезапустить службу синхронизации из подноса.
com.apple.provenance ) При использовании функции синхронизации XATTR он не работает при синхронизации от MacOS 13.0 до macOS <13.0. При использовании этой функции необходимо прекратить синхронизировать и вручную редактировать файл XML Configuration, расположенный AT /Users/<user>/Library/Application Support/Syncthing/config.xml . Или местоположение при запуске экземпляра Daemon Daemon не управлялось пакетом приложений). Вручное редактирование файла конфигурации необходимо, потому что веб-интерфейс пока не поддерживает управление фильтрами XATTR (релиз v1.22.1-1).
За общую папку, xattrFilter должен быть настроен следующим образом:
<folder id="..." ...>
<xattrFilter>
...
<entry match="com.apple.provenance" permit="false"/>
<entry match="*" permit="true"/>
</xattrFilter>
</folder>
ПРИМЕЧАНИЕ. См. entry com.apple.provenance xattrFilter .
См. Также #185 и сообщение на форуме для получения дополнительной информации.
На Mac OS X вы отбрасываете приложение из папки приложения в мусор. Но есть некоторые конкретные файлы, конкретные пользователя, хранятся в другом месте, которые расположены под $HOME/Library/Application Support/Syncthing . Файлы в этой папке - это конфигурация, файлы шифрования/профиля и кэш базы данных. Для получения дополнительной информации см. Docs.syncthing.net/users/config.html.
По умолчанию приложение MacOS Syncthing автоматически проверяет обновления. Чтобы отключить (или повторно включить) проверку автоматического обновления, необходимо установить параметр обновления Sparkle в командной линии:
defaults write com.github.xor-gate.syncthing-macosx SUEnableAutomaticChecks 0
Эта настройка не приведена, и поэтому доступно только в командной линии. Когда ваша система больше не поддерживается и не хочет получить уведомление о неподдерживаемых обновлениях, отключенных, тогда рекомендуется.
Перед тем, как собирать подмодулы GIT, необходимо присутствовать:
git submodule update --init
Новый syncthing.xcworkspace должен использоваться при кодировании в XCode.
Построить с помощью Xcode или запустить:
make debug
Он автоматически загрузит синхронизировать универсальный бинар и добавить его в пакет приложений.
Для выпуска строит подписание сборки приложения и создание распределимого DMG:
make release-dmg
Сценарий выберет первый доступный идентификатор разработчика и подпишет приложение с ним. Чтобы указать идентичность подписания, используйте переменную среды SYNCTHING_APP_CODE_SIGN_IDENTITY :
SYNCTHING_APP_CODE_SIGN_IDENTITY="Mac Developer: [email protected] (XB59MXU8EC)" make release-dmg
Настройки синхронизации используют объект NSDefaults. Из командной линии все настройки могут быть показаны с помощью:
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 Daeomon Daeomon (только пользователи мощности) Если вы хотите использовать хороший графический интерфейс, но у вас есть собственный исполняемый файл, расположенный за пределами пакета Syncthing.app , то параметр Executable конфигурации может быть перезаписан вручную с помощью инструмента командной строки defaults с использованием встроенного терминала или iTerm2. Последние аргументы должны быть изменены на приложение Syncthhing Daemon Golang.
defaults write com.github.xor-gate.syncthing-macosx Executable /Users/jerry/develop/Syncthing/exe/syncthing
Чтобы вернуть его обратно на путь пакета, просто используйте удаление свойства. Он автоматически сбросит его обратно.
defaults delete com.github.xor-gate.syncthing-macosx Executable
Кокоподы используются для управления зависимостями. Он может быть установлен с Homebrew Package Manager. Для получения дополнительной информации о кокоподах прочитайте руководства по кокоподам.
Он использует исполняемую версию Sopped Syncthhing, добавленную с номером -<bundle index> . Таким образом, для синхронизации 0.14.28 с первой сборкой/упаковкой он версируется как 0.14.28-1 . В настоящее время нет необходимости иметь отдельную версию для syncthing-macos . Так же, как это также держит обертку плотно связанной с релизами синхронизации.
syncthing/Scripts/syncthing-resource.shsyncthing/Scripts/create-dmg.shsyncthing/Info.plist, key CFBundleShortVersionStringSYNCTHING_APP_CODE_SIGN_IDENTITY ) syncthing/syncthing-macos будут отправлять только стабильные выпуски и не выпускают кандидаты на службу синхронизации (Daemon).
После того, как DMG создан, он должен быть отправлен в Apple, чтобы быть нотариально нотариально. Он может быть проверен с помощью spctl если приложение правильно проверено Apple для распространения:
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)
Когда он не правильно нотарирован, замечен следующий выход (обратите внимание на источник):
spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)
См. Также документацию Apple Developer по адресу https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution
Активируйте виртуальную среду Python с установленным модулем semver . Например, source venv/bin/activate .
Чтобы обновить комплексное синхронизация make release-update должен быть запускаться из основной папки, которая автоматически выполняет эти шаги.
Обновление syncthing/Scripts/syncthing-resource.sh , SYNCTHING_VERSION
Обновление syncthing/Info.plist
CFBundleShortVersionString : Пользовательская строка (например, 1.27.10-1 )CFBundleVersion : увеличение счетчика версий (например, 102701001 для 1.27.10-1 )Когда ветвь GIT разрабатывает или выпускается, чтобы GitHub GitHub Actions Ci Server автоматически создает отладку и выпуск
Вручную скачать релиз .dmg с действий github.com, который правильно подписан и нотариально.
Вручную создать новый релиз GitHub с Tag v<major>.<minor>.<patch>-<bundle index>
Запустите развертывание Sparkle Updater Appcast.xml. Который превращает GitHub выпускает JSON в файл Sparkle Appcast.xml. (См. Также документацию Sparkle), чтобы подтолкнуть пользователей.