Wdrażanie aplikacji na urządzenia stacjonarne
Jak zainstalować aplikację Antimatter na komputerach firmy lub szkoły oraz jak centralnie ustawić serwery, nazwę użytkownika i sprawdzanie aktualizacji w systemach Windows, macOS i Linux.
Pobieranie aplikacji
Wydania aplikacji na urządzenia stacjonarne są dostępne na GitHub, pod adresem github.com/AntimatterChat/desktop-app/releases. Podobnie jak serwer, aplikacja jest w fazie beta: wydanie, którego wersja ma przyrostek po myślniku, jest oznaczane jako Pre-release. Każde wydanie zawiera plik SHA256SUMS z sumami kontrolnymi wszystkich plików. Na systemie Linux możesz zweryfikować pobrany plik poleceniem sha256sum --check --ignore-missing SHA256SUMS, a w PowerShell porównać wynik polecenia Get-FileHash <file> -Algorithm SHA256 z odpowiednią linią w pliku SHA256SUMS.
- Windows (x64 i arm64): instalator
.exe, pakiet.msilub archiwum.zip. Na przykładantimatter-desktop-<version>-win-x64.exeiantimatter-desktop-<version>-win-x64.msi. - macOS: obraz dysku
.dmglub archiwum.zipdla procesorów Apple silicon (arm64), Maców z procesorami Intel (x64) lub dla obu architektur (universal). - Linux (x64 i arm64): pakiet .deb lub .rpm, AppImage, pakiet Flatpak lub archiwum
.tar.gz.
Który instalator Windows wybrać
| Instalator .exe | Pakiet .msi | |
|---|---|---|
| Dla | Osób, które instalują aplikację samodzielnie | Firm, które wdrażają ją na komputerach |
| Instalacja | Tylko dla bieżącego konta Windows, w katalogu %LOCALAPPDATA%\Programs\antimatter-desktop, bez uprawnień administratora | Dla wszystkich użytkowników komputera, w katalogu C:\Program Files\Antimatter, z uprawnieniami administratora |
| Aktualizacje | Aplikacja sprawdza, czy są dostępne nowe wersje, i proponuje pobranie nowego pliku .exe, który aktualizuje zainstalowaną kopię w miejscu docelowym | Aplikacja nie sprawdza, czy są dostępne nowe wersje: to Ty wdrażasz aktualizacje |
Aplikacja sprawdza na GitHubie, czy pojawiła się nowa wersja, co godzinę podczas działania i wykrywa wyłącznie pełne wydania, nie wersje przedwstępne. Gdy znajdzie nową wersję, informuje o tym użytkownika i oferuje link do pobrania. Kopia zainstalowana za pomocą pliku MSI domyślnie nie wykonuje takich sprawdzeń, ponieważ użytkownicy zwykle nie mają uprawnień do instalowania oprogramowania. Możesz włączyć te sprawdzenia za pomocą ustawienia EnableAutoUpdater: w takim przypadku oferowany do pobrania jest nowy plik .msi, który wymaga uprawnień administratora.
Użyj pliku MSI do zarządzanej instalacji za pomocą SCCM (Configuration Manager), Intune lub instalacji oprogramowania przez zasady grupy. Instalacja pliku MSI usuwa kopię .exe konta, pod którym wykonywana jest instalacja, jeśli taka kopia istnieje.
Ustawienia, które możesz zarządzać
Te same ustawienia istnieją na każdym systemie. Na Windows są to wartości rejestru pod SOFTWARE\Policies\Antimatter, w HKEY_LOCAL_MACHINE (dla komputera) lub HKEY_CURRENT_USER (dla jednego użytkownika). Na macOS i Linux są to klucze preferencji zarządzanych lub pliku zasad.
| Ustawienie | Na Windows | Na macOS i Linux | Opis |
|---|---|---|---|
DefaultServerList | Podklucz z jedną wartością tekstową na serwer: nazwa wartości to nazwa jego karty, dane to jego adres URL | Tablica słowników (obiektów na Linux) z polami name i url | Dodaje serwery do aplikacji. Użytkownicy nie mogą ich edytować ani usuwać. |
DefaultUsername | Wartość tekstowa | Wartość tekstowa | Wypełnia nazwę użytkownika na stronie logowania tych serwerów. |
EnableServerManagement | Wartość DWORD, 0 lub 1 | Wartość logiczna | 0 lub false: użytkownicy mogą korzystać wyłącznie z serwerów ustawionych przez DefaultServerList, a aplikacja ukrywa opcje dodawania, edytowania i usuwania serwerów. Nie ustawiono: użytkownicy mogą dodać własne serwery. |
EnableAutoUpdater | Wartość DWORD, 0 lub 1 | Wartość logiczna | 0 lub false: aplikacja nigdy nie sprawdza nowych wersji i ukrywa opcję Sprawdź aktualizacje. 1 lub true: sprawdza nowe wersje, nawet gdy jest zainstalowana za pomocą pliku MSI. Nie ustawiono: kopia .exe sprawdza nowe wersje, a kopia MSI nie. |
TrustedEmbeddedMediaOrigins | Podklucz z wartościami tekstowymi, z których każda jest obiektem JSON z polami serverOrigin i embeddedOrigin | Tablica słowników z polami serverOrigin i embeddedOrigin | Pozwala treści osadzonym w stronach serwera, takim jak strona spotkania wideo, korzystać z uprawnień do kamery i mikrofonu przyznanych temu serwerowi. |
- Nazwa użytkownika jest wypełniana wyłącznie na stronie logowania serwerów ustawionych przez politykę, nigdy na serwerze dodanym przez użytkownika oraz nigdy nad tym, co ktoś wpisał. Użytkownicy mogą ją nadal zmieniać. Zmienne środowiskowe między znakami procenta są podmieniane, dzięki czemu jedna wartość pasuje do wszystkich:
%USERNAME%w systemie Windows lub%USER%w systemach macOS i Linux podaje nazwę konta, a%USERNAME%@example.comadres e-mail zgodny z tym wzorcem. Jeśli zmienna nie jest ustawiona, aplikacja nie wpisze nic. - Jeśli wyłączysz zarządzanie serwerami, ustaw co najmniej jeden serwer w
DefaultServerList. - W systemie Windows polityka komputera (
HKEY_LOCAL_MACHINE) ma pierwszeństwo przed polityką użytkownika (HKEY_CURRENT_USER). Listy serwerów z obu są łączone. - Aplikacja odczytuje ustawienia przy starcie: po zmianie użytkownicy muszą ją zamknąć i otworzyć ponownie.
Windows: cicha instalacja za pomocą pliku MSI
Plik MSI przyjmuje publiczne właściwości, które zapisują ustawienia jako polityki komputera w HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Używaj ich w aplikacji SCCM, aplikacji Intune lub skrypcie. W PowerShell:
msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
| Właściwość | Zapisuje | Jeśli nie zostanie podana |
|---|---|---|
SERVERURL | Serwer w DefaultServerList z tym adresem URL | Brak serwera |
SERVERNAME | Nazwa karty tego serwera | Antimatter |
DEFAULTUSERNAME | DefaultUsername | Nic |
AUTOUPDATE | EnableAutoUpdater, 0 lub 1 | Nic: kopia MSI nie sprawdza aktualizacji |
SERVERMANAGEMENT | EnableServerManagement, 0 lub 1 | Nic: użytkownicy mogą dodawać serwery |
- Właściwość, która nie zostanie podana, nie zapisze nic, więc nie nadpisze wartości ustawionej przez Group Policy.
AUTOUPDATEiSERVERMANAGEMENTakceptują wyłącznie 0 lub 1. Plik MSI ustawia jeden serwer: użyj Group Policy dla większej liczby. DEFAULTUSERNAMEmusi dotrzeć do instalatora jako tekst%USERNAME%, aby aplikacja mogła go podmienić dla każdego użytkownika. W przeciwnym razie powłoka uruchamiająca instalację podmieni go na nazwę własnego konta. W PowerShell zachowaj pojedyncze cudzysłowy. W pliku.batzapisz%%USERNAME%%. Po instalacji testowej sprawdź w rejestrze, czyDefaultUsernamezawiera%USERNAME%.- Przekazuj właściwości ponownie przy każdej aktualizacji. Instalacja nowej wersji pliku MSI usuwa starą, wraz z wartościami, które zapisała, a następnie zapisuje wartości z nowej linii poleceń. SCCM i Intune zachowują linię poleceń aplikacji: użyj jej ponownie dla każdej nowej wersji. Albo ustaw polityki za pomocą Group Policy lub Intune, których aktualizacje nie dotykają.
- Plik MSI i Group Policy zapisują te same wartości rejestru. Dla każdego ustawienia użyj jednego lub drugiego: odinstalowanie pliku MSI usuwa wartości, które zapisał, nawet jeśli Group Policy również je ustawiła.
- Plik MSI zapisuje również folder instalacji w
HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop(InstallDir). Dzięki temu aplikacja wie, że została zainstalowana za pomocą pliku MSI.
Aby odinstalować: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. W Intune typ „Windows app (Win32)” przyjmuje te same wiersze poleceń. Dla typu „Line-of-business app” dodaj właściwości do argumentów wiersza poleceń.
Windows: Group Policy i Intune
Szablony administracyjne, antimatter.admx i en-US\antimatter.adml, znajdują się w folderze gpo zainstalowanej aplikacji (C:\Program Files\Antimatter\gpo dla pliku MSI) oraz w folderze resources/windows/gpo w repozytorium aplikacji. Wyświetlają one te zasady pod Administrative Templates › Antimatter:
| Zasada | Wartość rejestru | Konfiguracja |
|---|---|---|
| Serwery (DefaultServerList) | Podklucz DefaultServerList | komputer i użytkownik |
| Nazwa użytkownika do wstępnie wypełnienia (DefaultUsername) | DefaultUsername | komputer i użytkownik |
| Pozwalaj osobom dodawać i usuwać serwery (EnableServerManagement) | EnableServerManagement | komputer i użytkownik |
| Powiadomienia o nowych wersjach (EnableAutoUpdater) | EnableAutoUpdater | tylko komputer |
| Ufane źródła osadzonego multimediów (TrustedEmbeddedMediaOrigins) | Podklucz TrustedEmbeddedMediaOrigins | komputer i użytkownik |
Group Policy w domenie
- Skopiuj
antimatter.admxdo centralnego magazynu,\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, aantimatter.admldo jego folderuen-US. - W edytorze zarządzania Group Policy otwórz Computer Configuration (lub User Configuration) › Policies › Administrative Templates › Antimatter.
- Edytuj zasadę, wybierz Włączony i wypełnij ją. Dla Serwery, kliknij Pokaż i dodaj jeden wiersz na serwer: nazwa wartości to nazwa karty, a wartość to adres URL serwera, np.
https://chat.example.com.
Włączenie Pozwalaj osobom dodawać i usuwać serwery lub Powiadomienia o nowych wersjach zapisuje 1; wyłączenie zapisuje 0.
Intune
W Urządzenia › Konfiguracja użyj Importuj ADMX, aby zaimportować antimatter.admx wraz z en-US\antimatter.adml. Następnie utwórz profil z Szablony › Zaimportowane szablony administracyjne i ustaw w nim zasady Antimatter.
Pojedynczy komputer lub skrypt
Skopiuj szablony do C:\Windows\PolicyDefinitions, aby używać ich w gpedit.msc (Windows Pro i Enterprise). Możesz też bezpośrednio zapisać wartości rejestru, importując plik .reg jako administrator (reg import antimatter-policies.reg), np. w ten sposób. Plik example-policies.reg w tym samym folderze zawiera te wartości wraz z komentarzami.
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 konfiguracji
Na macOS aplikacja odczytuje swoje ustawienia z preferencji zarządzanych identyfikatora pakietu chat.antimatter.desktop, używając kluczy z tabeli ustawień. Rozmieść je za pomocą swojego MDM (Jamf, Intune, Kandji, Mosyle i innych) jako profil konfiguracji.
- Folder resources/mac/mdm w repozytorium aplikacji zawiera przykładowy profil
antimatter.mobileconfig. Edytuj jego wartości, nadaj mu własne wartościPayloadIdentifieriPayloadUUID(uuidgengeneruje nowe UUID-y) i wgraj go jako niestandardowy profil. - Większość systemów MDM akceptuje również same klucze jako obciążenie „niestandardowych ustawień” lub „domeny preferencji” dla
chat.antimatter.desktop. Ten sam folder zawiera je w plikuexample-managed-preferences.plist.
Ustawienia w obciążeniu profilu:
<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/>
Wartości logiczne można również podać jako liczby całkowite 0 i 1.
Linux: plik zasad
Na Linuxie aplikacja odczytuje /etc/antimatter-desktop/policies.json, obiekt JSON z kluczami z tabeli ustawień:
{
"DefaultServerList": [
{"name": "Chat", "url": "https://chat.example.com"}
],
"DefaultUsername": "%USER%",
"EnableServerManagement": false,
"EnableAutoUpdater": false,
"TrustedEmbeddedMediaOrigins": []
}
Rozmieść go za pomocą swojego narzędzia do zarządzania konfiguracją (Ansible, Puppet, Salt i innych), z właścicielem root, odczytywalnym przez wszystkich i zapisywalnym tylko przez roota:
sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json
Plik, który nie jest poprawnym JSON-em, jest ignorowany, a w dzienniku aplikacji pojawia się ostrzeżenie. Wersja Flatpak nie widzi /etc systemu hosta: przyznaj mu dostęp do odczytu, a odczyta plik z /run/host/etc/antimatter-desktop/policies.json:
sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop
Zasady ustawione dla aplikacji desktopowej Mattermost
Na systemie Windows aplikacja czyta również polityki ustawione dla aplikacji Mattermost desktop, pod kluczem SOFTWARE\Policies\Mattermost, jako rozwiązanie awaryjne. Czyta je w trzech miejscach: wartości bezpośrednio pod kluczem polityki, podkluczu DefaultServerList oraz podkluczu TrustedEmbeddedMediaOrigins. W każdym z tych trzech miejsc klucz Mattermost jest odczytywany tylko wtedy, gdy klucz Antimatter nie ma tam żadnych wartości, w żadnej z uli. Dlatego, gdy tylko jedna wartość zostanie ustawiona bezpośrednio pod kluczem Antimatter, na przykład przez właściwość AUTOUPDATE pakietu MSI, żadna z wartości bezpośrednio pod kluczem Mattermost nie zostanie odczytana. Przenieś wszystkie swoje polityki do klucza Antimatter naraz.
Na systemie macOS preferencje zarządzane aplikacji Mattermost desktop (com.mattermost.desktop) nie są odczytywane: ustaw je dla chat.antimatter.desktop.
Niepodpisane buildy
Buildy aplikacji desktop nie są jeszcze podpisane certyfikatem wydawcy.
- Windows. Gdy użytkownik otwiera pobrany plik
.exelub.msi, Microsoft Defender SmartScreen informuje, że Windows chroni komputer, i wskazuje nieznanego wydawcę. Użytkownik wybiera Więcej Informacji, a następnie Uruchom mimo to. SmartScreen sprawdza pliki, które użytkownicy otwierają po pobraniu, więc to ostrzeżenie nie jest wyświetlane, gdy aplikacja jest wdrażana za pomocą SCCM, Intune lub Group Policy. Jeśli komputery w Twojej organizacji uruchamiają tylko oprogramowanie od zatwierdzonych wydawców (reguły AppLocker lub App Control for Business), zezwól na aplikację na podstawie ścieżki instalacji lub sumy kontrolnej pliku. - macOS. Aplikacja jest podpisana ad hoc, ale nie została notaryzowana przez Apple. Przy pierwszym otwarciu pobranej kopii macOS informuje, że nie może zweryfikować, czy aplikacja jest wolna od złośliwego oprogramowania, i nie otwiera jej. Na systemie macOS 15 i nowszych użytkownik otwiera Ustawienia systemowe › Prywatność i bezpieczeństwo i wybiera Otwórz mimo to. Na wcześniejszych wersjach użytkownik klika aplikację przytrzymując klawisz Control i wybiera Otwórz. Gatekeeper sprawdza tylko pliki oznaczone jako pobrane (z atrybutem kwarantanny): gdy instalujesz aplikację własnymi narzędziami, usuń to oznaczenie w skrypcie instalacyjnym, używając polecenia
xattr -dr com.apple.quarantine /Applications/Antimatter.app.