Proyek syncthing-macos adalah bundel aplikasi baki sinkronisasi macOS yang hemat. Ini mengikat instance sinkronisasi sendiri dan membungkus proses latar belakang sinkronisasi, membuatnya berperilaku lebih seperti aplikasi macOS asli dan kurang seperti utilitas baris perintah dengan antarmuka browser web.
Fitur meliputi:
~/Library/Application Support/Syncthing/syncthing.log , gunakan finder -> go -> buka folder untuk membukanya.
PEMBERITAHUAN : Ini adalah bundel aplikasi macOS synching resmi. Pastikan Anda tidak memiliki instance sinkronisasi lain atau pembungkus yang berjalan atau aplikasi ini tidak akan berfungsi!
Saat ini, OS X 10.13 atau lebih tinggi diperlukan. Syncthing-Macos dikemas sebagai gambar disk sebagai aplikasi yang dibundel dengan biner syncthing.
Untuk menginstal cukup unduh DMG, pasang dan seret dan lepas aplikasi untuk menginstal. Satu-satunya konfigurasi yang diperlukan adalah mengatur kunci API dan URL saat menyediakan instance sinkronisasi jarak jauh, instance lokal dikonfigurasi secara otomatis. Bundel aplikasi syncthing-macos menonaktifkan auto-updater dari syncthing karena memiliki mekanisme pembaruan sendiri menggunakan Sparkle.
Versi terbaru tersedia di Github Releases, atau juga dapat diinstal menggunakan Homebrew brew install --cask syncthing
Semua pendekatan lintas platform tidak dapat menggunakan semua fasilitas asli yang disediakan Apple MacOS. Termasuk pembaruan otomatis, set ikon vektor (siap retina) dan membuat bundel aplikasi. GUI dirancang dengan Xcode dan semuanya diberi kode dalam campuran Objective-C dan Swift yang merupakan "pendekatan asli".
Tujuan dari proyek ini adalah untuk menjaga agar nampan macOS asli tetap ramping tetapi dapat digunakan. Tidak ada grafik, tidak ada jendela konfigurasi canggih. Ini hanya menyediakan pembungkus yang sangat sederhana, sehingga pengguna tidak sadar akan menyinkronkan kapal sebagai aplikasi Commandline. Ini berusaha untuk memiliki kegunaan yang baik-baik saja dan harus selalu mengikuti pedoman antarmuka manusia Apple untuk merasakan sebanyak mungkin aplikasi asli.
Lihat pelacak masalah (tag bug difilter) untuk status saat ini.
Kontribusi dan laporan masalah dipersilakan.
Mit
Pembaruan otomatis harus dinonaktifkan secara manual untuk versi OS yang tidak didukung.
syncthing-macos dirancang untuk menjalankan instance sinkronisasi sendiri dan secara otomatis mendeteksi kunci API. Jendela Preferensi digunakan untuk menunjuk ke instance berjalan lokal, instance jarak jauh tidak didukung. Dimungkinkan untuk menjalankan instance Anda sendiri dan menunjukkannya untuk tujuan lanjutan/pengembangan. Anda hanya harus mengubah pengaturan jika Anda tahu apa yang Anda lakukan.
Mengatur Parameter Commandline Synching Ekstra adalah fitur tersembunyi. Anda perlu menulis ini menggunakan konfigurasi default aplikasi. Satu -satunya batasan saat ini parameter tidak dapat berisi spasi!. Dalam contoh di bawah log audit diaktifkan:
defaults write com.github.xor-gate.syncthing-macosx Arguments '--audit --auditfile=/Users/JohnDoe/staudit.log'
Ketika alamat IP default diubah dari 127.0.0.1 menjadi yang dapat dirutekan seperti misalnya 192.168.1.102 Preferensi aplikasi baki perlu ditetapkan juga. Atau API tidak dapat diakses dan akan tetap 'offline'. Jika Anda memecahkan konfigurasi, Anda dapat mengedit file secara manual di bawah ~/Library/Application Support/Syncthing/config.xml menggunakan Finder dengan Go -> Go to folder. Dan restart layanan sinkronisasi dari baki.
com.apple.provenance Metadata) Saat menggunakan fitur sinkronisasi XATTR itu gagal saat menyinkronkan dari macOS 13.0 ke macOS <13.0. Saat menggunakan fitur ini, seseorang harus berhenti sinkronisasi dan mengedit file xml konfigurasi secara manual yang terletak di /Users/<user>/Library/Application Support/Syncthing/config.xml . Atau lokasi saat menjalankan instance daemon sinkronisasi tidak dikelola bundel aplikasi). Mengedit secara manual file konfigurasi diperlukan karena UI Web belum mendukung manajemen filter XATTR dulu (rilis v1.22.1-1).
Per folder bersama xattrFilter harus dikonfigurasi sebagai berikut:
<folder id="..." ...>
<xattrFilter>
...
<entry match="com.apple.provenance" permit="false"/>
<entry match="*" permit="true"/>
</xattrFilter>
</folder>
Catatan: Lihat entry com.apple.provenance xattrFilter .
Lihat juga #185 dan posting forum untuk informasi lebih lanjut.
Di Mac OS X Anda menjatuhkan aplikasi dari folder aplikasi ke sampah Anda. Tetapi ada beberapa file spesifik pengguna disimpan di tempat lain, yang terletak di bawah $HOME/Library/Application Support/Syncthing . File di folder ini adalah file konfigurasi, enkripsi/profil dan cache database. Untuk informasi lebih lanjut lihat docs.syncthing.net/users/config.html.
Secara default aplikasi macOS synching memeriksa secara otomatis untuk pembaruan. Untuk menonaktifkan (atau mengaktifkan kembali) Periksa Pembaruan Otomatis Seseorang harus mengatur parameter pembaruan Sparkle dari CommandLine:
defaults write com.github.xor-gate.syncthing-macosx SUEnableAutomaticChecks 0
Pengaturan ini tidak diselenggarakan dan karenanya hanya tersedia dari Commandline. Ketika sistem Anda tidak didukung lagi dan tidak ingin diberi tahu tentang pembaruan yang tidak didukung, maka disarankan.
Sebelum menyusun submodul Git perlu ada:
git submodule update --init
syncthing.xcworkspace baru harus digunakan saat pengkodean dalam XCODE.
Bangun dengan xcode atau jalankan:
make debug
Ini akan secara otomatis mengunduh Synching Universal Binary dan menambahkannya ke bundel aplikasi.
Untuk pembuatan rilis yang menandatangani Bangun Aplikasi dan membuat DMG yang dapat didistribusikan:
make release-dmg
Skrip akan memilih ID pengembang pertama yang tersedia dan menandatangani aplikasi dengannya. Untuk menentukan identitas penandatanganan, gunakan variabel lingkungan SYNCTHING_APP_CODE_SIGN_IDENTITY :
SYNCTHING_APP_CODE_SIGN_IDENTITY="Mac Developer: [email protected] (XB59MXU8EC)" make release-dmg
Pengaturan syncthing menggunakan fasilitas NSDefaults. Dari garis perintah semua pengaturan dapat ditampilkan dengan:
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 Property (hanya pengguna daya) Jika Anda ingin menggunakan GUI NICE tetapi memiliki Executable sendiri yang terletak di luar bundel Syncthing.app , maka parameter konfigurasi Executable dapat ditimpa secara manual dengan alat CommandLine defaults menggunakan Terminal Builtin atau ITERM2. Argumen terakhir harus diubah ke aplikasi Synching Daemon Golang.
defaults write com.github.xor-gate.syncthing-macosx Executable /Users/jerry/develop/Syncthing/exe/syncthing
Untuk mengembalikannya ke jalur bundel cukup gunakan hapus properti. Itu akan secara otomatis mengatur ulang kembali.
defaults delete com.github.xor-gate.syncthing-macosx Executable
Cocoapods digunakan untuk manajemen ketergantungan. Itu dapat diinstal dengan Homebrew Package Manager. Untuk informasi lebih lanjut tentang cocoapod, baca panduan Cocoapods.
Ini menggunakan versi yang dapat dieksekusi Synching yang dikirim ditambahkan dengan nomor -<bundle index> . Jadi untuk sinkronisasi 0.14.28 dengan Build/Paket pertama diversi sebagai 0.14.28-1 . Saat ini tidak perlu memiliki versi terpisah untuk syncthing-macos . Karena itu juga membuat pembungkus ditambah dengan rapat dengan pelepasan sinkronisasi.
syncthing/Scripts/syncthing-resource.shsyncthing/Scripts/create-dmg.shsyncthing/Info.plist, key CFBundleShortVersionStringSYNCTHING_APP_CODE_SIGN_IDENTITY Variable Lingkungan) syncthing/syncthing-macos hanya akan mengirimkan pelepasan yang stabil dan tidak ada kandidat pelepasan dari layanan synching (daemon).
Setelah DMG dibuat, ia harus dikirim ke Apple untuk dinotasikan. Dapat diperiksa dengan spctl jika aplikasi diverifikasi dengan benar oleh Apple untuk distribusi:
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)
Ketika tidak dicatat dengan benar, output berikut terlihat (perhatikan sumbernya):
spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)
Lihat juga Dokumentasi Pengembang Apple di https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution
Aktifkan lingkungan virtual Python dengan modul semver terpasang. Misalnya source venv/bin/activate .
Untuk memperbarui Synching yang dibundel make release-update harus dijalankan dari folder utama yang pada dasarnya melakukan langkah-langkah ini secara otomatis:
Perbarui syncthing/Scripts/syncthing-resource.sh , SYNCTHING_VERSION
Perbarui syncthing/Info.plist
CFBundleShortVersionString : String yang dapat dibaca pengguna (mis. 1.27.10-1 )CFBundleVersion : Penghitung Versi Penambahan (mis. 102701001 untuk 1.27.10-1 )Saat cabang git berkembang atau rilis didorong ke Github Tindakan GitHub Server CI secara otomatis membangun debug dan rilis
Unduh rilis .dmg secara manual dari tindakan github.com yang ditandatangani dengan benar dan dinotasikan
Buat rilis GitHub baru secara manual dengan TAG v<major>.<minor>.<patch>-<bundle index>
Jalankan penyebaran Sparkle Updater Appcast.xml. Yang mengubah Rilis GitHub JSON menjadi file Appcast.xml yang berkilau. (Lihat juga dokumentasi Sparkle) untuk mendorong pengguna.