Разгръщане на настолното приложение
Как да инсталирате настолното приложение Antimatter на компютрите на компания или училище и да зададете централно сървърите, потребителското име и проверките за актуализации в Windows, macOS и Linux.
Изтегляне на приложението
Релийзите на настолното приложение са в GitHub, на адрес github.com/AntimatterChat/desktop-app/releases. Подобно на сървъра, приложението е в бета версия: релийз, чиято версия има суфикс след тире, е маркиран като Pre-release. Всеки релийз съдържа файл SHA256SUMS с контролните суми на всеки файл. Проверете изтеглянето с sha256sum --check --ignore-missing SHA256SUMS в Linux или сравнете изхода на Get-FileHash <file> -Algorithm SHA256 в PowerShell с реда му във файла SHA256SUMS.
- Windows (x64 и arm64): инсталаторът
.exe, пакетът.msiили архивът.zip. Напримерantimatter-desktop-<version>-win-x64.exeиantimatter-desktop-<version>-win-x64.msi. - macOS: дисков образ
.dmgили.zip, за Apple silicon (arm64), Intel Mac (x64) или и двете (universal). - Linux (x64 и arm64): пакет .deb или .rpm, AppImage, Flatpak пакет или архив
.tar.gz.
Кой инсталатор за Windows да използвате
| Инсталаторът .exe | Пакетът .msi | |
|---|---|---|
| За | Хора, които инсталират приложението сами | Компании, които го разгръщат на своите компютри |
| Инсталация | Само за текущата Windows сметка, в %LOCALAPPDATA%\Programs\antimatter-desktop, без администраторски права | За всеки потребител на компютъра, в C:\Program Files\Antimatter, с администраторски права |
| Актуализации | Приложението проверява за нови версии и предлага да изтегли новия .exe, който актуализира инсталираното копие на място | Приложението не проверява за нови версии: вие ги разгръщате |
Приложението проверява за нови версии в GitHub на всеки час, докато работи, и открива само пълни релийзи, а не предварителни версии. Когато открие такава, уведомява потребителя и предлага връзка за изтегляне. Копие, инсталирано чрез MSI, по подразбиране не извършва проверка, тъй като потребителите, които го използват, обикновено нямат права за инсталиране на софтуер. Можете да активирате проверките за него чрез настройката EnableAutoUpdater: в такъв случай предлаганото за изтегляне е новият .msi, за чието инсталиране са необходими права на администратор.
Използвайте MSI за управлявано внедряване чрез SCCM (Configuration Manager), Intune или инсталиране на софтуер чрез Group Policy. Инсталирането на MSI премахва .exe копието на акаунта, който извършва инсталацията, ако такова съществува.
Управляеми настройки
Едни и същи настройки съществуват на всяка система. В Windows това са стойности в регистъра под SOFTWARE\Policies\Antimatter, в HKEY_LOCAL_MACHINE (за компютъра) или HKEY_CURRENT_USER (за един потребител). В macOS и Linux това са ключове на управляваните предпочитания или на файла с политики.
| Настройка | В Windows | В macOS и Linux | Какво прави |
|---|---|---|---|
DefaultServerList | Подключ с една текстова стойност за всеки сървър: името на стойността е името на нейния таб, а данните са URL адресът ѝ | Масив от речници (обекти в Linux) с name и url | Добавя сървъри към приложението. Потребителите не могат да ги редактират или премахват. |
DefaultUsername | Текстова стойност | Текстова стойност | Попълва потребителското име на страницата за вход на тези сървъри. |
EnableServerManagement | DWORD, 0 или 1 | Логическа стойност (boolean) | 0 или false: потребителите могат да използват само сървърите, зададени чрез DefaultServerList, и приложението скрива опциите за добавяне, редактиране и премахване на сървъри. Ако не е зададено: потребителите могат да добавят свои собствени сървъри. |
EnableAutoUpdater | DWORD, 0 или 1 | Логическа стойност (boolean) | 0 или false: приложението никога не проверява за нови версии и скрива Проверка за актуализации. 1 или true: то извършва проверка, дори когато е инсталирано чрез MSI. Ако не е зададено: .exe копието проверява, а MSI копието не. |
TrustedEmbeddedMediaOrigins | Подключ с текстови стойности, всяка от които е JSON обект с serverOrigin и embeddedOrigin | Масив от речници с serverOrigin и embeddedOrigin | Позволява на вградено съдържание в страниците на сървъра, като например страница за видеообаждане, да използва разрешенията за камера и микрофон, предоставени на този сървър. |
- Потребителското име се попълва само на страницата за вход на сървъри, зададени чрез политика, никога на сървър, добавен от потребителя, и никога не презаписва това, което някой е въвел. Хората все още могат да го променят. Променливите на средата между проценти се заместват, така че една стойност да е подходяща за всички:
%USERNAME%на Windows или%USER%на macOS и Linux дава името на акаунта, а%USERNAME%@example.com– имейл адрес, който следва този модел. Ако променливата не е зададена, приложението не попълва нищо. - Ако изключите управлението на сървъри, задайте поне един сървър в
DefaultServerList. - На Windows политиката за компютър (
HKEY_LOCAL_MACHINE) има приоритет пред политиката за потребител (HKEY_CURRENT_USER). Списъците със сървъри от двете политики се обединяват. - Приложението чете настройките при стартиране: след промяна потребителите трябва да го затворят и да го отворят отново.
Windows: тиха инсталация с MSI
MSI пакетът приема публични свойства, които записват настройките като политики за компютър в HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Използвайте ги в приложение за SCCM, приложение за Intune или скрипт. В PowerShell:
msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
| Свойство | Записва | Ако не е зададено |
|---|---|---|
SERVERURL | Сървър в DefaultServerList с този URL адрес | Няма сървър |
SERVERNAME | Името на раздела на този сървър | Antimatter |
DEFAULTUSERNAME | DefaultUsername | Нищо |
AUTOUPDATE | EnableAutoUpdater, 0 или 1 | Нищо: копие на MSI не проверява за актуализации |
SERVERMANAGEMENT | EnableServerManagement, 0 или 1 | Нищо: потребителите могат да добавят сървъри |
- Свойство, което не е зададено, не записва нищо, така че не презаписва стойност, зададена чрез Group Policy.
AUTOUPDATEиSERVERMANAGEMENTприемат само 0 или 1. MSI пакетът задава един сървър: използвайте Group Policy за повече. DEFAULTUSERNAMEтрябва да достигне до инсталатора като текст%USERNAME%, така че приложението да го замени за всеки потребител. В противен случай обвивката (shell), която изпълнява инсталацията, го заменя с името на собствения си акаунт. В PowerShell запазете единичните кавички. В.batфайл напишете%%USERNAME%%. След тестова инсталация проверете в регистъра далиDefaultUsernameсъдържа%USERNAME%.- Предавайте свойствата отново при всяка надграждане. Инсталирането на нова версия на MSI премахва старата, заедно със стойностите, които е записала, и след това записва стойностите от новия команден ред. SCCM и Intune пазят командния ред на приложение: използвайте го отново за всяка нова версия. Или задайте политиките чрез Group Policy или Intune, които не се засягат от надгражданията.
- MSI пакетът и Group Policy записват една и същи стойности в регистъра. За всяка настройка използвайте едното или другото: деинсталирането на MSI пакета изтрива записаните от него стойности, дори ако те са зададени и чрез Group Policy.
- MSI пакетът записва и папката на инсталацията си в
HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop(InstallDir). По този начин приложението знае, че е инсталирано чрез MSI пакет.
За деинсталиране: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. В Intune типът „Windows app (Win32)“ приема същите командни редове. За типа „Line-of-business app“ добавете свойствата към аргументите на командния ред.
Windows: Group Policy и Intune
Административните шаблони, antimatter.admx и en-US\antimatter.adml, се намират в папката gpo на инсталираното приложение (C:\Program Files\Antimatter\gpo за MSI пакета) и в папката resources/windows/gpo на хранилището на приложението. Те показват следните политики в Administrative Templates › Antimatter:
| Политика | Стойност в регистъра | Конфигурация |
|---|---|---|
| Servers (DefaultServerList) | Подключ DefaultServerList | за компютър и потребител |
| Username to prefill (DefaultUsername) | DefaultUsername | за компютър и потребител |
| Let people add and remove servers (EnableServerManagement) | EnableServerManagement | за компютър и потребител |
| Notify about new versions (EnableAutoUpdater) | EnableAutoUpdater | само за компютър |
| Trusted embedded media origins (TrustedEmbeddedMediaOrigins) | Подключ TrustedEmbeddedMediaOrigins | за компютър и потребител |
Group Policy в домейн
- Копирайте
antimatter.admxв централното хранилище\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitionsиantimatter.admlв неговата папкаen-US. - В редактора за управление на Group Policy отворете Computer Configuration (или Конфигурация на потребителя) › Policies › Administrative Templates › Antimatter.
- Редактирайте политика, изберете Разрешено и я попълнете. За Servers кликнете на Покажи и добавете по един ред за всеки сървър: името на стойността е името на раздела, а стойността е URL адресът на сървъра, например
https://chat.example.com.
Разрешаването на Let people add and remove servers или Notify about new versions записва 1; забраняването записва 0.
Intune
В Устройства › Конфигурация използвайте Импортиране на ADMX, за да импортирате antimatter.admx с en-US\antimatter.adml. След това създайте профил от Шаблони › Импортирани административни шаблони и задайте в него правилата на Antimatter.
На един компютър или чрез скрипт
Копирайте шаблоните в C:\Windows\PolicyDefinitions, за да ги използвате в gpedit.msc (за Windows Pro и Enterprise). Или задайте стойностите в регистъра директно чрез .reg файл, импортиран като администратор (reg import antimatter-policies.reg), като например този. Файлът example-policies.reg в същата папка съдържа тези стойности с коментари.
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: конфигурационен профил
На macOS приложението чете настройките си от управляваните предпочитания на идентификатора на пакета си, chat.antimatter.desktop, използвайки ключовете от таблицата с настройки. Разгърнете ги чрез вашата MDM система (Jamf, Intune, Kandji, Mosyle и други) като конфигурационен профил.
- Папката resources/mac/mdm в хранилището на приложението съдържа примерен профил,
antimatter.mobileconfig. Редактирайте неговите стойности, задайте собствени стойности заPayloadIdentifierиPayloadUUID(командатаuuidgenгенерира нови UUID) и го качете като персонализиран профил. - Повечето MDM системи приемат и само ключовете като полезна натоварване (payload) за „персонализирани настройки“ или „домейн с предпочитания“ за
chat.antimatter.desktop. Същата папка ги съдържа въвexample-managed-preferences.plist.
Настройките в полезното натоварване на профила:
<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/>
Логическите стойности могат да бъдат зададени и като цели числа 0 и 1.
Linux: файл с правила
На Linux приложението чете /etc/antimatter-desktop/policies.json, JSON обект с ключовете от таблицата с настройки:
{
"DefaultServerList": [
{"name": "Chat", "url": "https://chat.example.com"}
],
"DefaultUsername": "%USER%",
"EnableServerManagement": false,
"EnableAutoUpdater": false,
"TrustedEmbeddedMediaOrigins": []
}
Разгърнете го чрез инструмента за управление на конфигурацията (Ansible, Puppet, Salt и други), като собственик е root, файлът е четим от всички и записим само от root:
sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json
Файл, който не е валиден JSON, се игнорира с предупреждение в журнала на приложението. Flatpak версията не вижда /etc на хоста: предоставете ѝ права за четене и тя ще чете файла от /run/host/etc/antimatter-desktop/policies.json:
sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop
Правила, зададени за настолното приложение на Mattermost
В Windows приложението чете и политиките, зададени за настолното приложение Mattermost, в SOFTWARE\Policies\Mattermost, като резервен вариант. То ги чете по местоположение: стойностите директно под ключа на политиката, подключът DefaultServerList и подключът TrustedEmbeddedMediaOrigins. За всяко от тези три места то чете ключа на Mattermost само когато ключът на Antimatter няма стойности там, в нито един от двата клона (hive). Следователно, щом една стойност е зададена директно под ключа на Antimatter (например чрез свойството AUTOUPDATE на MSI), нито една от стойностите директно под ключа на Mattermost не се чете. Преместете всички свои политики в ключа на Antimatter наведнъж.
В macOS управляваните предпочитания на настолното приложение Mattermost (com.mattermost.desktop) не се четат: задайте ги за chat.antimatter.desktop.
Неподписани версии
Версиите на настолното приложение все още не са подписани с сертификат на издател.
- Windows. Когато потребител отвори изтеглен
.exeили.msiфайл, Microsoft Defender SmartScreen съобщава, че Windows е защитил компютъра, и посочва неизвестен издател. Потребителят избира Още информация, след което Run anyway. SmartScreen проверява файлове, които потребителите отварят след изтегляне, така че това предупреждение няма да се появи, ако разгърнете приложението чрез SCCM, Intune или Group Policy. Ако вашите компютри изпълняват само софтуер от одобрени издатели (правилата на AppLocker или App Control for Business), разрешете приложението по неговия път на инсталация или хеш на файла. - macOS. Приложението е подписано ad hoc, но не е нотариализирано от Apple. При първото отваряне на изтеглено копие macOS съобщава, че не може да провери дали приложението е свободно от зловреден софтуер, и не го отваря. В macOS 15 и по-нови версии потребителите отварят System Settings › Privacy & Security и избират Open Anyway. В по-ранни версии те кликват с Control върху приложението и избират Open. Gatekeeper проверява само файлове, маркирани като изтеглени (с атрибута за карантина): когато инсталирате приложението със собствени инструменти, премахнете маркера в скрипта за инсталация с командата
xattr -dr com.apple.quarantine /Applications/Antimatter.app.