Menerapkan aplikasi desktop
Cara menginstal aplikasi desktop Antimatter di komputer perusahaan atau sekolah, serta mengatur server, nama pengguna, dan pemeriksaan pembaruan secara terpusat di Windows, macOS, dan Linux.
Unduh aplikasi
Rilis aplikasi desktop tersedia di GitHub, di github.com/AntimatterChat/desktop-app/releases. Seperti server, aplikasi ini masih dalam tahap beta: rilis yang versi-nya memiliki akhiran setelah tanda hubung ditandai Pre-release. Setiap rilis memiliki file SHA256SUMS berisi checksum untuk setiap file. Periksa unduhan dengan sha256sum --check --ignore-missing SHA256SUMS di Linux, atau bandingkan keluaran Get-FileHash <file> -Algorithm SHA256 di PowerShell dengan barisnya di SHA256SUMS.
- Windows (x64 dan arm64): instalator
.exe, paket.msi, atau arsip.zip. Misalnyaantimatter-desktop-<version>-win-x64.exedanantimatter-desktop-<version>-win-x64.msi. - macOS: gambar disk
.dmgatau.zip, untuk Apple silicon (arm64), Mac Intel (x64), atau keduanya (universal). - Linux (x64 dan arm64): paket .deb atau .rpm, AppImage, bundle Flatpak, atau arsip
.tar.gz.
Instalator Windows mana yang harus digunakan
| Instalator .exe | Paket .msi | |
|---|---|---|
| Untuk | Orang yang menginstal aplikasi sendiri | Perusahaan yang menerapkannya ke komputer mereka |
| Instalasi | Hanya untuk akun Windows saat ini, di %LOCALAPPDATA%\Programs\antimatter-desktop, tanpa hak admin | Untuk setiap pengguna komputer, di C:\Program Files\Antimatter, dengan hak admin |
| Pembaruan | Aplikasi memeriksa versi baru dan menawarkan untuk mengunduh .exe baru, yang memperbarui salinan terinstal di tempatnya | Aplikasi tidak memeriksa versi baru: Anda yang menerapkannya |
Aplikasi memeriksa versi baru di GitHub setiap jam selama berjalan, dan hanya melihat rilis penuh, bukan prarelis. Saat menemukannya, aplikasi memberi tahu pengguna dan menawarkan tautan untuk mengunduhnya. Salinan yang diinstal dengan MSI tidak memeriksa secara bawaan, karena pengguna biasanya tidak dapat menginstal perangkat lunak. Anda dapat mengaktifkan pemeriksaan untuknya dengan pengaturan EnableAutoUpdater: unduhan yang ditawarkan kemudian adalah .msi baru, yang memerlukan hak administrator.
Gunakan MSI untuk deployment terkelola dengan SCCM (Configuration Manager), Intune, atau instalasi perangkat lunak Group Policy. Menginstal MSI akan menghapus salinan .exe dari akun yang menjalankan instalasi, jika ada.
Pengaturan yang dapat Anda kelola
Pengaturan yang sama ada di setiap sistem. Di Windows, ini adalah nilai registri di bawah SOFTWARE\Policies\Antimatter, di HKEY_LOCAL_MACHINE (untuk komputer) atau HKEY_CURRENT_USER (untuk satu pengguna). Di macOS dan Linux, ini adalah kunci preferensi terkelola atau file kebijakan.
| Pengaturan | Di Windows | Di macOS dan Linux | Fungsinya |
|---|---|---|---|
DefaultServerList | Subkunci dengan satu nilai string per server: nama nilai adalah nama tabnya, datanya adalah URL-nya | Array dari kamus (objek di Linux) dengan name dan url | Menambahkan server ke aplikasi. Pengguna tidak dapat mengedit atau menghapusnya. |
DefaultUsername | String | String | Mengisi nama pengguna di halaman login server-server ini. |
EnableServerManagement | DWORD, 0 atau 1 | Boolean | 0 atau false: pengguna hanya dapat menggunakan server yang diatur oleh DefaultServerList, dan aplikasi menyembunyikan opsi untuk menambahkan, mengedit, dan menghapus server. Tidak diatur: pengguna dapat menambahkan server mereka sendiri. |
EnableAutoUpdater | DWORD, 0 atau 1 | Boolean | 0 atau false: aplikasi tidak pernah memeriksa versi baru, dan menyembunyikan Periksa Pembaruan. 1 atau true: aplikasi memeriksa, bahkan saat diinstal dengan MSI. Tidak diatur: salinan .exe memeriksa, salinan MSI tidak. |
TrustedEmbeddedMediaOrigins | Subkunci dengan nilai string, masing-masing objek JSON dengan serverOrigin dan embeddedOrigin | Array dari kamus dengan serverOrigin dan embeddedOrigin | Memungkinkan konten yang tertanam di halaman server, seperti halaman pertemuan video, untuk menggunakan izin kamera dan mikrofon yang diberikan ke server tersebut. |
- Nama pengguna hanya diisi di halaman masuk server yang diatur oleh kebijakan, tidak pernah di server yang ditambahkan oleh seseorang, dan tidak pernah menimpa apa yang diketik seseorang. Orang tetap dapat mengubahnya. Variabel lingkungan di antara tanda persentase diganti, sehingga satu nilai cocok untuk semua orang:
%USERNAME%di Windows atau%USER%di macOS dan Linux memberikan nama akun, dan%USERNAME%@example.commemberikan alamat email yang mengikuti pola ini. Jika variabel tidak diatur, aplikasi tidak mengisi apa pun. - Jika Anda menonaktifkan manajemen server, setel setidaknya satu server di
DefaultServerList. - Di Windows, kebijakan komputer (
HKEY_LOCAL_MACHINE) menang atas kebijakan pengguna (HKEY_CURRENT_USER). Daftar server dari keduanya digabungkan. - Aplikasi membaca pengaturan saat dimulai: setelah perubahan, orang harus keluar dan membukanya kembali.
Windows: instalasi senyap dengan MSI
MSI mengambil properti publik yang menulis pengaturan sebagai kebijakan komputer, di HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Gunakan mereka dalam aplikasi SCCM, aplikasi Intune, atau skrip. Di PowerShell:
msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
| Properti | Menulis | Jika tidak diberikan |
|---|---|---|
SERVERURL | Server di DefaultServerList, dengan URL ini | Tidak ada server |
SERVERNAME | Nama tab server tersebut | Antimatter |
DEFAULTUSERNAME | DefaultUsername | Tidak ada |
AUTOUPDATE | EnableAutoUpdater, 0 atau 1 | Tidak ada: salinan MSI tidak memeriksa pembaruan |
SERVERMANAGEMENT | EnableServerManagement, 0 atau 1 | Tidak ada: orang dapat menambahkan server |
- Properti yang tidak diberikan tidak menulis apa pun, sehingga tidak menimpa nilai yang diatur oleh Group Policy.
AUTOUPDATEdanSERVERMANAGEMENThanya menerima 0 atau 1. MSI mengatur satu server: gunakan Group Policy untuk lebih banyak. DEFAULTUSERNAMEharus mencapai pemasang sebagai teks%USERNAME%, sehingga aplikasi menggantinya untuk setiap orang. Jika tidak, shell yang menjalankan instalasi akan menggantinya dengan nama akunnya sendiri. Di PowerShell, pertahankan tanda kutip tunggal. Di file.bat, tulis%%USERNAME%%. Setelah instalasi uji, periksa di registry bahwaDefaultUsernameberisi%USERNAME%.- Lewatkan properti lagi di setiap peningkatan. Menginstal versi baru MSI menghapus yang lama, beserta nilai yang ditulisnya, lalu menulis nilai dari baris perintah baru. SCCM dan Intune menyimpan baris perintah aplikasi: gunakan kembali untuk setiap versi baru. Atau setel kebijakan dengan Group Policy atau Intune, yang tidak disentuh oleh peningkatan.
- MSI dan Group Policy menulis nilai registri yang sama. Untuk setiap pengaturan, gunakan salah satu: saat MSI dihapus, nilai yang ditulisnya juga dihapus, bahkan jika Group Policy juga menyetelnya.
- MSI juga mencatat folder instalasinya di
HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop(InstallDir). Ini adalah cara aplikasi mengetahui bahwa ia diinstal dengan MSI.
Untuk menghapus: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. Di Intune, tipe "Windows app (Win32)" menggunakan baris perintah yang sama. Untuk tipe "Line-of-business app", tambahkan properti ke argumen baris perintahnya.
Windows: Group Policy dan Intune
Template administratif, antimatter.admx dan en-US\antimatter.adml, ada di folder gpo dari aplikasi yang terinstal (C:\Program Files\Antimatter\gpo untuk MSI), dan di folder resources/windows/gpo dari repositori aplikasi. Mereka menampilkan kebijakan ini, di bawah Administrative Templates › Antimatter:
| Kebijakan | Nilai registri | Konfigurasi |
|---|---|---|
| Server (DefaultServerList) | Subkey DefaultServerList | komputer dan pengguna |
| Nama pengguna untuk diisi otomatis (DefaultUsername) | DefaultUsername | komputer dan pengguna |
| Izinkan orang untuk menambahkan dan menghapus server (EnableServerManagement) | EnableServerManagement | komputer dan pengguna |
| Beritahu tentang versi baru (EnableAutoUpdater) | EnableAutoUpdater | hanya komputer |
| Asal media tertanam yang dipercaya (TrustedEmbeddedMediaOrigins) | Subkey TrustedEmbeddedMediaOrigins | komputer dan pengguna |
Group Policy di domain
- Salin
antimatter.admxke penyimpanan pusat,\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, danantimatter.admlke folderen-USnya. - Di Group Policy Management Editor, buka Computer Configuration (atau User Configuration) › Policies › Administrative Templates › Antimatter.
- Edit kebijakan, pilih Aktif dan isikan. Untuk Server, klik Tampilkan dan tambahkan satu baris per server: nama nilai adalah nama tab, nilainya adalah URL server, seperti
https://chat.example.com.
Mengaktifkan Izinkan orang untuk menambahkan dan menghapus server atau Beritahu tentang versi baru menulis 1; mematikannya menulis 0.
Intune
Di Perangkat › Konfigurasi, gunakan Impor ADMX untuk mengimpor antimatter.admx bersama en-US\antimatter.adml. Kemudian buat profil dari Templat › Templat Administratif yang Diimpor, dan atur kebijakan Antimatter di dalamnya.
Satu komputer, atau sebuah skrip
Salin templat ke C:\Windows\PolicyDefinitions untuk menggunakannya di gpedit.msc (Windows Pro dan Enterprise). Atau tulis nilai registri secara langsung, dengan file .reg yang diimpor sebagai administrator (reg import antimatter-policies.reg), seperti ini. File example-policies.reg di folder yang sama memuat nilai-nilai ini, lengkap dengan komentar.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter]
"EnableServerManagement"=dword:00000000
"EnableAutoUpdater"=dword:00000000
"DefaultUsername"="%USERNAME%"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter\DefaultServerList]
"Chat"="https://chat.example.com"
macOS: profil konfigurasi
Di macOS, aplikasi membaca pengaturannya dari preferensi terkelola (managed preferences) dari identifier bundle-nya, chat.antimatter.desktop, dengan kunci dari tabel pengaturan. Sebarkan melalui MDM Anda (Jamf, Intune, Kandji, Mosyle, dan lainnya) sebagai profil konfigurasi.
- Folder resources/mac/mdm di repositori aplikasi memuat profil contoh,
antimatter.mobileconfig. Ubah nilainya, berikan nilaiPayloadIdentifierdanPayloadUUIDAnda sendiri (uuidgenmembuat UUID baru), lalu unggah sebagai profil kustom. - Sebagian besar MDM juga menerima kunci saja, sebagai payload "pengaturan kustom" atau "domain preferensi" untuk
chat.antimatter.desktop. Folder yang sama memuatnya diexample-managed-preferences.plist.
Pengaturan di dalam payload profil:
<key>PayloadType</key>
<string>chat.antimatter.desktop</string>
<key>DefaultServerList</key>
<array>
<dict>
<key>name</key>
<string>Chat</string>
<key>url</key>
<string>https://chat.example.com</string>
</dict>
</array>
<key>DefaultUsername</key>
<string>%USER%</string>
<key>EnableServerManagement</key>
<false/>
<key>EnableAutoUpdater</key>
<false/>
Nilai boolean juga dapat diberikan sebagai bilangan bulat 0 dan 1.
Linux: file kebijakan
Di Linux, aplikasi membaca /etc/antimatter-desktop/policies.json, sebuah objek JSON dengan kunci dari tabel pengaturan:
{
"DefaultServerList": [
{"name": "Chat", "url": "https://chat.example.com"}
],
"DefaultUsername": "%USER%",
"EnableServerManagement": false,
"EnableAutoUpdater": false,
"TrustedEmbeddedMediaOrigins": []
}
Sebarkan dengan alat manajemen konfigurasi Anda (Ansible, Puppet, Salt, dan lainnya), dimiliki oleh root, dapat dibaca oleh semua orang, dan hanya dapat ditulis oleh root:
sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json
File yang bukan JSON valid akan diabaikan, dengan peringatan di log aplikasi. Versi Flatpak tidak melihat /etc host: berikan akses baca, dan ia akan membaca file dari /run/host/etc/antimatter-desktop/policies.json:
sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop
Kebijakan yang diatur untuk aplikasi desktop Mattermost
Di Windows, aplikasi juga membaca kebijakan yang diatur untuk aplikasi desktop Mattermost, di bawah SOFTWARE\Policies\Mattermost, sebagai cadangan. Ia membacanya berdasarkan lokasi: nilai yang langsung di bawah kunci kebijakan, subkunci DefaultServerList, dan subkunci TrustedEmbeddedMediaOrigins. Untuk masing-masing dari ketiga lokasi ini, ia hanya membaca kunci Mattermost ketika kunci Antimatter tidak memiliki nilai di sana, di hive mana pun. Jadi, begitu satu nilai diatur langsung di bawah kunci Antimatter, misalnya melalui properti AUTOUPDATE dari MSI, tidak ada nilai yang langsung di bawah kunci Mattermost yang akan dibaca. Pindahkan semua kebijakan Anda ke kunci Antimatter sekaligus.
Di macOS, preferensi terkelola untuk aplikasi desktop Mattermost (com.mattermost.desktop) tidak dibaca: atur untuk chat.antimatter.desktop.
Build tanpa tanda tangan
Build aplikasi desktop belum ditandatangani dengan sertifikat penerbit.
- Windows. Ketika seseorang membuka
.exeatau.msiyang diunduh, Microsoft Defender SmartScreen menyatakan bahwa Windows telah melindungi komputer dan menyebutkan penerbit yang tidak dikenal. Mereka memilih Info Lebih Lanjut, lalu Jalankan Sekali Pun. SmartScreen memeriksa file yang dibuka orang setelah diunduh, sehingga peringatan ini tidak akan muncul ketika Anda mendeploy aplikasi melalui SCCM, Intune, atau Group Policy. Jika komputer Anda hanya menjalankan perangkat lunak dari penerbit yang disetujui (aturan AppLocker atau App Control for Business), izinkan aplikasi berdasarkan jalur instalasi atau hash file-nya. - macOS. Aplikasi ditandatangani secara ad hoc, tetapi tidak dinotarasi oleh Apple. Saat seseorang pertama kali membuka salinan yang diunduh, macOS menyatakan bahwa ia tidak dapat memverifikasi bahwa aplikasi bebas dari malware, dan tidak membukanya. Di macOS 15 dan yang lebih baru, mereka membuka Pengaturan Sistem › Privasi & Keamanan dan memilih Buka Sekali Pun. Di versi sebelumnya, mereka klik-kontrol aplikasi dan memilih Buka. Gatekeeper hanya memeriksa file yang ditandai sebagai diunduh (dengan atribut karantina): ketika Anda menginstal aplikasi dengan alat Anda sendiri, hapus tanda tersebut dalam skrip instalasi Anda, dengan
xattr -dr com.apple.quarantine /Applications/Antimatter.app.