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. Misalnya antimatter-desktop-<version>-win-x64.exe dan antimatter-desktop-<version>-win-x64.msi.
  • macOS: gambar disk .dmg atau .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 .exePaket .msi
UntukOrang yang menginstal aplikasi sendiriPerusahaan yang menerapkannya ke komputer mereka
InstalasiHanya untuk akun Windows saat ini, di %LOCALAPPDATA%\Programs\antimatter-desktop, tanpa hak adminUntuk setiap pengguna komputer, di C:\Program Files\Antimatter, dengan hak admin
PembaruanAplikasi memeriksa versi baru dan menawarkan untuk mengunduh .exe baru, yang memperbarui salinan terinstal di tempatnyaAplikasi 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.

PengaturanDi WindowsDi macOS dan LinuxFungsinya
DefaultServerListSubkunci dengan satu nilai string per server: nama nilai adalah nama tabnya, datanya adalah URL-nyaArray dari kamus (objek di Linux) dengan name dan urlMenambahkan server ke aplikasi. Pengguna tidak dapat mengedit atau menghapusnya.
DefaultUsernameStringStringMengisi nama pengguna di halaman login server-server ini.
EnableServerManagementDWORD, 0 atau 1Boolean0 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.
EnableAutoUpdaterDWORD, 0 atau 1Boolean0 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.
TrustedEmbeddedMediaOriginsSubkunci dengan nilai string, masing-masing objek JSON dengan serverOrigin dan embeddedOriginArray dari kamus dengan serverOrigin dan embeddedOriginMemungkinkan 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.com memberikan 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
PropertiMenulisJika tidak diberikan
SERVERURLServer di DefaultServerList, dengan URL iniTidak ada server
SERVERNAMENama tab server tersebutAntimatter
DEFAULTUSERNAMEDefaultUsernameTidak ada
AUTOUPDATEEnableAutoUpdater, 0 atau 1Tidak ada: salinan MSI tidak memeriksa pembaruan
SERVERMANAGEMENTEnableServerManagement, 0 atau 1Tidak ada: orang dapat menambahkan server
  • Properti yang tidak diberikan tidak menulis apa pun, sehingga tidak menimpa nilai yang diatur oleh Group Policy. AUTOUPDATE dan SERVERMANAGEMENT hanya menerima 0 atau 1. MSI mengatur satu server: gunakan Group Policy untuk lebih banyak.
  • DEFAULTUSERNAME harus 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 bahwa DefaultUsername berisi %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:

KebijakanNilai registriKonfigurasi
Server (DefaultServerList)Subkey DefaultServerListkomputer dan pengguna
Nama pengguna untuk diisi otomatis (DefaultUsername)DefaultUsernamekomputer dan pengguna
Izinkan orang untuk menambahkan dan menghapus server (EnableServerManagement)EnableServerManagementkomputer dan pengguna
Beritahu tentang versi baru (EnableAutoUpdater)EnableAutoUpdaterhanya komputer
Asal media tertanam yang dipercaya (TrustedEmbeddedMediaOrigins)Subkey TrustedEmbeddedMediaOriginskomputer dan pengguna

Group Policy di domain

  1. Salin antimatter.admx ke penyimpanan pusat, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, dan antimatter.adml ke folder en-USnya.
  2. Di Group Policy Management Editor, buka Computer Configuration (atau User Configuration) › Policies › Administrative Templates › Antimatter.
  3. 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 nilai PayloadIdentifier dan PayloadUUID Anda sendiri (uuidgen membuat 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 di example-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 .exe atau .msi yang 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.