Masaüstü uygulamasını dağıtma

Antimatter masaüstü uygulamasını bir şirketin veya okulun bilgisayarlarına nasıl yükleyeceğinizi ve sunucularını, kullanıcı adını ve güncelleme denetimlerini Windows, macOS ve Linux üzerinde merkezden nasıl ayarlayacağınızı anlatır.

Uygulamayı indirin

Masaüstü uygulamasının sürümleri GitHub'da, github.com/AntimatterChat/desktop-app/releases adresinde bulunur. Sunucu gibi uygulama da beta aşamasındadır: sürüm numarasının tire işaretinden sonra bir son eki olan sürümler Pre-release olarak işaretlenir. Her sürümün, her dosyanın denetim toplamını içeren bir SHA256SUMS dosyası vardır. İndirilen dosyayı Linux'ta sha256sum --check --ignore-missing SHA256SUMS komutuyla, PowerShell'de ise Get-FileHash <file> -Algorithm SHA256 komutunun çıktısını SHA256SUMS dosyasındaki ilgili satırla karşılaştırarak doğrulayın.

  • Windows (x64 ve arm64): .exe kurulum dosyası, .msi paketi veya .zip arşivi. Örneğin antimatter-desktop-<version>-win-x64.exe ve antimatter-desktop-<version>-win-x64.msi.
  • macOS: Apple silikon (arm64), Intel Mac (x64) veya her ikisi (universal) için .dmg disk imajı veya .zip arşivi.
  • Linux (x64 ve arm64): .deb veya .rpm paketi, AppImage, Flatpak paketi veya .tar.gz arşivi.

Hangi Windows kurulum dosyasının kullanılacağı

.exe kurulum dosyası.msi paketi
Kullanım alanıUygulamayı kendileri kuran kişilerUygulamayı bilgisayarlarına dağıtan şirketler
KurulumYalnızca geçerli Windows hesabı için, yönetici yetkisi olmadan %LOCALAPPDATA%\Programs\antimatter-desktop dizinineBilgisayarın tüm kullanıcıları için, yönetici yetkisiyle C:\Program Files\Antimatter dizinine
GüncellemelerUygulama yeni sürümleri denetler ve yeni .exe dosyasını indirmenizi önerir; bu, yüklü kopyayı yerinde güncellerUygulama yeni sürümleri denetlemez: güncellemeleri siz dağıtırsınız

Uygulama, çalıştığı sürece her saat başında GitHub üzerinden yeni sürümleri kontrol eder ve yalnızca tam sürümleri, ön sürümleri değil görür. Yeni bir sürüm bulduğunda kullanıcıyı bilgilendirir ve indirmek için bir bağlantı sunar. MSI ile yüklenen kopya, kullanıcıların genellikle yazılım kurma yetkisine sahip olmaması nedeniyle varsayılan olarak kontrol yapmaz. Bu kontrolleri EnableAutoUpdater ayarıyla etkinleştirebilirsiniz; bu durumda sunulan indirme, yönetici yetkileri gerektiren yeni .msi dosyası olur.

SCCM (Configuration Manager), Intune veya Grup İlkesi yazılım kurulumu ile yönetilen dağıtımlar için MSI kullanın. MSI'yi yüklemek, kurulumu gerçekleştiren hesabın .exe kopyasını (varsa) kaldırır.

Yönetilebilen ayarlar

Bu ayarlar her sistemde mevcuttur. Windows'ta SOFTWARE\Policies\Antimatter altındaki kayıt defteri değerleri olarak, HKEY_LOCAL_MACHINE (bilgisayar için) veya HKEY_CURRENT_USER (tek bir kullanıcı için) altında bulunurlar. macOS ve Linux'ta ise yönetilen tercihlerin veya ilke dosyasının anahtarları olarak yer alırlar.

AyarWindows'tamacOS ve Linux'taNe işe yarar
DefaultServerListSunucu başına birer dize değeri içeren bir alt anahtar: değer adı sekmesinin adı, veri ise URL'sidirname ve url içeren sözlüklerin (Linux'ta nesnelerin) bir dizisiUygulamaya sunucular ekler. Kullanıcılar bunları düzenleyemez veya silemez.
DefaultUsernameBir dizeBir dizeBu sunucuların giriş sayfasındaki kullanıcı adını doldurur.
EnableServerManagementBir DWORD, 0 veya 1Bir booleen0 veya false: kullanıcılar yalnızca DefaultServerList ile belirlenen sunucuları kullanabilir ve uygulama sunucu ekleme, düzenleme ve silme seçeneklerini gizler. Ayarlanmamış: kullanıcılar kendi sunucularını ekleyebilir.
EnableAutoUpdaterBir DWORD, 0 veya 1Bir booleen0 veya false: uygulama asla yeni sürümleri kontrol etmez ve Güncellemeleri Kontrol Et seçeneğini gizler. 1 veya true: MSI ile yüklenmiş olsa bile kontrol eder. Ayarlanmamış: .exe kopya kontrol eder, MSI kopya etmez.
TrustedEmbeddedMediaOriginsserverOrigin ve embeddedOrigin içeren JSON nesneleri olan dize değerleri bulunan bir alt anahtarserverOrigin ve embeddedOrigin içeren sözlüklerin bir dizisiBir sunucunun sayfalarına gömülü içeriklerin (örneğin bir video toplantı sayfası), o sunucuya verilen kamera ve mikrofon izinlerini kullanmasına olanak tanır.
  • Kullanıcı adı, yalnızca politika ile belirlenen sunucuların giriş sayfasında doldurulur; bir kişinin eklediği sunucularda veya birinin yazdığı değerlerin üzerine asla yazılmaz. Kullanıcılar bunu yine de değiştirebilir. Yüzde işaretleri arasındaki ortam değişkenleri değiştirilir, böylece tek bir değer herkes için geçerli olur: Windows’ta %USERNAME% veya macOS ve Linux’ta %USER% hesap adını, %USERNAME%@example.com ise bu kalıbı izleyen bir e-posta adresini verir. Bir değişken tanımlı değilse uygulama hiçbir şey doldurmaz.
  • Sunucu yönetimini kapatırsanız, DefaultServerList içinde en az bir sunucu belirleyin.
  • Windows’ta bilgisayar politikası (HKEY_LOCAL_MACHINE), kullanıcı politikasına (HKEY_CURRENT_USER) göre önceliklidir. Her ikisinin sunucu listeleri birleştirilir.
  • Uygulama ayarları başlatıldığında okur: bir değişiklikten sonra kullanıcılar uygulamayı kapatıp yeniden açmalıdır.

Windows: MSI ile sessiz kurulum

MSI, ayarları bilgisayar politikası olarak HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter altına yazan genel özellikleri (properties) alır. Bunları bir SCCM uygulamasında, Intune uygulamasında veya bir betikte kullanın. PowerShell’de:

msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
ÖzellikYazarVerilmezse
SERVERURLDefaultServerList içinde bu URL’ye sahip bir sunucuSunucu yok
SERVERNAMEBu sunucunun sekmesinin adıAntimatter
DEFAULTUSERNAMEDefaultUsernameHiçbir şey
AUTOUPDATEEnableAutoUpdater, 0 veya 1Hiçbir şey: MSI kopyası güncelleme denetimi yapmaz
SERVERMANAGEMENTEnableServerManagement, 0 veya 1Hiçbir şey: kullanıcılar sunucu ekleyebilir
  • Verilmeyen bir özellik hiçbir şey yazmaz, bu yüzden Grup İlkesi ile belirlenen bir değeri üzerine yazmaz. AUTOUPDATE ve SERVERMANAGEMENT yalnızca 0 veya 1 kabul eder. MSI tek bir sunucu belirler: daha fazlası için Grup İlkesi kullanın.
  • DEFAULTUSERNAME, uygulamanın her kullanıcı için değiştirebilmesi için kurulum programına %USERNAME% metni olarak ulaşmalıdır. Aksi halde kurulumu çalıştıran kabuk, bunu kendi hesap adıyla değiştirir. PowerShell’de tek tırnakları koruyun. Bir .bat dosyasında %%USERNAME%% yazın. Deneme kurulumundan sonra, kayıt defterinde DefaultUsername alanının %USERNAME% içerdiğini kontrol edin.
  • Her yükseltmede özellikleri yeniden iletin. MSI’nin yeni bir sürümünü kurmak, eski sürümü ve onun yazdığı değerleri kaldırır, ardından yeni komut satırının değerlerini yazar. SCCM ve Intune bir uygulamanın komut satırını saklar: her yeni sürüm için yeniden kullanın. Bunun yerine politikaları Grup İlkesi veya Intune ile belirleyin; yükseltmeler bunlara dokunmaz.
  • MSI ve Grup İlkesi aynı kayıt defteri değerlerini yazar. Her ayar için bunlardan birini kullanın: MSI'yi kaldırmanız, Grup İlkesi tarafından da ayarlanmış olsa bile, MSI'nin yazdığı değerleri siler.
  • MSI, kurulum klasörünü HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop altında (InstallDir) da kaydeder. Uygulama, MSI ile kurulduğunu bu şekilde anlar.

Kaldırmak için: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. Intune'da "Windows app (Win32)" türü aynı komut satırlarını kullanır. "Line-of-business app" türü için, bu özellikleri komut satırı argümanlarına ekleyin.

Windows: Grup İlkesi ve Intune

Yönetici şablonları olan antimatter.admx ve en-US\antimatter.adml, kurulu uygulamanın gpo klasöründe (MSI için C:\Program Files\Antimatter\gpo) ve uygulamanın deposundaki resources/windows/gpo klasöründedir. Bu ilkelere Administrative Templates › Antimatter altında erişilir:

İlkeKayıt defteri değeriYapılandırma
Sunucular (DefaultServerList)DefaultServerList alt anahtarıbilgisayar ve kullanıcı
Önceden doldurulacak kullanıcı adı (DefaultUsername)DefaultUsernamebilgisayar ve kullanıcı
Kişilerin sunucu ekleyip kaldırmasına izin ver (EnableServerManagement)EnableServerManagementbilgisayar ve kullanıcı
Yeni sürümler hakkında bildir (EnableAutoUpdater)EnableAutoUpdateryalnızca bilgisayar
Güvenilen gömülü medya kaynakları (TrustedEmbeddedMediaOrigins)TrustedEmbeddedMediaOrigins alt anahtarıbilgisayar ve kullanıcı

Bir alan (domain) içinde Grup İlkesi

  1. antimatter.admx dosyasını merkezi depoya, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions konumuna, antimatter.adml dosyasını ise en-US klasörüne kopyalayın.
  2. Grup İlkesi Yönetim Düzenleyicisi'nde Computer Configuration (veya User Configuration) › Policies › Administrative Templates › Antimatter yolunu açın.
  3. Bir ilkeyi düzenleyin, Açık seçeneğini işaretleyin ve doldurun. Sunucular için Görüntüle düğmesine tıklayın ve her sunucu için bir satır ekleyin: değer adı sekme adı, değer ise sunucu URL'sidir, örneğin https://chat.example.com.

Kişilerin sunucu ekleyip kaldırmasına izin ver veya Yeni sürümler hakkında bildir ilkelerini etkinleştirme 1 yazar; devre dışı bırakma 0 yazar.

Intune

Aygıtlar › Yapılandırma bölümünde, antimatter.admx dosyasını en-US\antimatter.adml ile birlikte içe aktarmak için ADMX İçe Aktar seçeneğini kullanın. Ardından Şablonlar › İçe Aktarılmış Yönetim Şablonları bölümünden bir profil oluşturun ve Antimatter politikalarını bu profilde yapılandırın.

Tek bir bilgisayar veya bir betik

Şablonları gpedit.msc (Windows Pro ve Enterprise) ile kullanmak için C:\Windows\PolicyDefinitions dizinine kopyalayın. Veya kayıtlı değerleri doğrudan, yönetici olarak içe aktarılan bir .reg dosyası ile yazın (örneğin reg import antimatter-policies.reg). Aynı klasördeki example-policies.reg dosyası, bu değerleri açıklamalarla birlikte içerir.

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: bir yapılandırma profili

macOS'te uygulama, ayarlarını chat.antimatter.desktop paket tanımlayıcısının yönetilen tercihlerinden, ayarlar tablosundaki anahtarlarla okur. Bunları MDM'niz (Jamf, Intune, Kandji, Mosyle ve diğerleri) aracılığıyla bir yapılandırma profili olarak dağıtın.

  • Uygulamanın deposundaki resources/mac/mdm klasöründe, antimatter.mobileconfig adlı örnek bir profil bulunur. Değerlerini düzenleyin, kendinize ait PayloadIdentifier ve PayloadUUID değerleri atayın (uuidgen yeni UUID'ler oluşturur) ve özel bir profil olarak yükleyin.
  • Çoğu MDM, chat.antimatter.desktop için anahtarları tek başına, "özel ayarlar" veya "tercih alanı" yüklemesi olarak da kabul eder. Aynı klasörde bunlar example-managed-preferences.plist dosyasında bulunur.

Profilin yüklemesindeki ayarlar:

<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/>

Booleen değerler, 0 ve 1 tamsayıları olarak da verilebilir.

Linux: politika dosyası

Linux'ta uygulama, ayarlar tablosundaki anahtarları içeren bir JSON nesnesi olan /etc/antimatter-desktop/policies.json dosyasını okur:

{
    "DefaultServerList": [
        {"name": "Chat", "url": "https://chat.example.com"}
    ],
    "DefaultUsername": "%USER%",
    "EnableServerManagement": false,
    "EnableAutoUpdater": false,
    "TrustedEmbeddedMediaOrigins": []
}

Bunu yapılandırma yönetim aracınız (Ansible, Puppet, Salt ve diğerleri) ile dağıtın; dosya root tarafından sahip olunsun, herkes tarafından okunabilir ve yalnızca root tarafından yazılabilir olsun:

sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json

Geçerli JSON olmayan bir dosya, uygulamanın günlüğünde bir uyarıyla birlikte yok sayılır. Flatpak sürümü, ana bilgisayarın /etc dizinini göremez: ona okuma erişimi verin ve dosyayı /run/host/etc/antimatter-desktop/policies.json konumundan okusun:

sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop

Mattermost masaüstü uygulaması için ayarlanan politikalar

Windows'ta uygulama, SOFTWARE\Policies\Mattermost altında Mattermost masaüstü uygulaması için ayarlanan politikaları da yedek olarak okur. Bunları konuma göre okur: politika anahtarının hemen altındaki değerler, DefaultServerList alt anahtarı ve TrustedEmbeddedMediaOrigins alt anahtarı. Bu üç konumun her birinde, Antimatter anahtarının ilgili arı (hive) içinde değeri yoksa yalnızca Mattermost anahtarını okur. Bu nedenle, örneğin MSI'nin AUTOUPDATE özelliğiyle Antimatter anahtarının hemen altına bir değer ayarlandığında, Mattermost anahtarının hemen altındaki hiçbir değer okunmaz. Tüm politikalarınızı tek seferde Antimatter anahtarına taşıyın.

macOS'ta Mattermost masaüstü uygulamasının yönetilen tercihleri (com.mattermost.desktop) okunmaz: bunları chat.antimatter.desktop için ayarlayın.

İmzasız derlemeler

Masaüstü uygulamasının derlemeleri henüz bir yayıncı sertifikasıyla imzalanmamıştır.

  • Windows. Bir kişi indirilen bir .exe veya .msi dosyasını açtığında, Microsoft Defender SmartScreen, Windows'un bilgisayarı koruduğunu ve bilinmeyen bir yayıncıyı adlandırdığını belirtir. Kişi Diğer bilgiler seçeneğini, ardından Yine de çalıştır seçeneğini seçer. SmartScreen, kişiler tarafından indirme sonrasında açılan dosyaları denetler; bu nedenle uygulamayı SCCM, Intune veya Grup İlkesi yoluyla dağıttığınızda kişiler bu uyarıyı görmez. Bilgisayarlarınız yalnızca onaylı yayıncılardan yazılım çalıştırıyorsa (AppLocker veya App Control for Business kuralları), uygulamayı kurulum yolu veya dosya özet değeri (hash) ile onaylayın.
  • macOS. Uygulama geçici (ad hoc) olarak imzalanmıştır, ancak Apple tarafından onaylanmamıştır (notarise). Bir kişi indirilen bir kopyayı ilk kez açtığında, macOS, uygulamanın kötü amaçlı yazılımdan arındığını doğrulayamadığını belirtir ve uygulamayı açmaz. macOS 15 ve sonraki sürümlerde, Sistem Ayarları › Gizlilik ve Güvenlik bölümünü açıp Yine de Aç seçeneğini seçerler. Önceki sürümlerde, uygulamaya Control tuşuyla tıklayıp Aç seçeneğini seçerler. Gatekeeper yalnızca indirildi olarak işaretlenmiş dosyaları (quarantine özniteliğine sahip) denetler: uygulamayı kendi araçlarınızla yüklediğinizde, xattr -dr com.apple.quarantine /Applications/Antimatter.app komutuyla kurulum betiğinizde bu işareti kaldırın.