Implantação do aplicativo para desktop
Como instalar o aplicativo Antimatter para desktop nos computadores de uma empresa ou escola e configurar seus servidores, o nome de usuário e as verificações de atualização centralmente no Windows, macOS e Linux.
Baixar o aplicativo
As versões do aplicativo para desktop estão no GitHub, em github.com/AntimatterChat/desktop-app/releases. Assim como o servidor, o aplicativo está em beta: uma versão cujo número tem um sufixo após um hífen é marcada como Pre-release. Cada versão tem um arquivo SHA256SUMS com o checksum de cada arquivo. Verifique um download com sha256sum --check --ignore-missing SHA256SUMS no Linux, ou compare a saída de Get-FileHash <file> -Algorithm SHA256 no PowerShell com a linha correspondente em SHA256SUMS.
- Windows (x64 e arm64): o instalador
.exe, o pacote.msiou um arquivo.zip. Por exemplo,antimatter-desktop-<version>-win-x64.exeeantimatter-desktop-<version>-win-x64.msi. - macOS: uma imagem de disco
.dmgou um.zip, para Apple silicon (arm64), Macs Intel (x64) ou ambos (universal). - Linux (x64 e arm64): um pacote .deb ou .rpm, um AppImage, um bundle Flatpak ou um arquivo
.tar.gz.
Qual instalador do Windows usar
| O instalador .exe | O pacote .msi | |
|---|---|---|
| Para | Pessoas que instalam o aplicativo por conta própria | Empresas que o implantam nos próprios computadores |
| Instalação | Somente para a conta de usuário atual do Windows, em %LOCALAPPDATA%\Programs\antimatter-desktop, sem privilégios de administrador | Para todos os usuários do computador, em C:\Program Files\Antimatter, com privilégios de administrador |
| Atualizações | O aplicativo verifica novas versões e oferece para baixar o novo .exe, que atualiza a cópia instalada no local | O aplicativo não verifica novas versões: você as implanta |
O aplicativo verifica novas versões no GitHub a cada hora durante a execução e detecta apenas lançamentos completos, não pré-lançamentos. Quando encontra uma, ele notifica o usuário e oferece um link para download. Uma cópia instalada com o MSI não verifica por padrão, pois os usuários geralmente não podem instalar software. Você pode ativar as verificações para ela com a configuração EnableAutoUpdater: o download oferecido será então o novo .msi, que requer privilégios de administrador.
Use o MSI para uma implantação gerenciada com SCCM (Configuration Manager), Intune ou instalação de software via Group Policy. A instalação do MSI remove a cópia .exe da conta que está executando a instalação, se houver.
As configurações que você pode gerenciar
As mesmas configurações existem em todos os sistemas. No Windows, são valores de registro sob SOFTWARE\Policies\Antimatter, em HKEY_LOCAL_MACHINE (para o computador) ou HKEY_CURRENT_USER (para um único usuário). No macOS e Linux, são chaves das preferências gerenciadas ou do arquivo de política.
| Configuração | No Windows | No macOS e Linux | O que faz |
|---|---|---|---|
DefaultServerList | Uma subchave com um valor de string por servidor: o nome do valor é o nome da aba, e os dados são a URL correspondente | Um array de dicionários (objetos no Linux) com name e url | Adiciona servidores ao aplicativo. Os usuários não podem editá-los ou removê-los. |
DefaultUsername | Uma string | Uma string | Preenche o nome de usuário na página de login desses servidores. |
EnableServerManagement | Um DWORD, 0 ou 1 | Um booleano | 0 ou false: os usuários podem usar apenas os servidores definidos por DefaultServerList, e o aplicativo oculta as opções para adicionar, editar e remover servidores. Não definido: os usuários podem adicionar seus próprios servidores. |
EnableAutoUpdater | Um DWORD, 0 ou 1 | Um booleano | 0 ou false: o aplicativo nunca verifica novas versões e oculta Verificar Atualizações. 1 ou true: ele verifica, mesmo quando instalado com o MSI. Não definido: a cópia .exe verifica, a cópia MSI não. |
TrustedEmbeddedMediaOrigins | Uma subchave com valores de string, cada um sendo um objeto JSON com serverOrigin e embeddedOrigin | Um array de dicionários com serverOrigin e embeddedOrigin | Permite que o conteúdo incorporado nas páginas de um servidor, como uma página de reunião de vídeo, use as permissões de câmera e microfone concedidas a esse servidor. |
- O nome de usuário é preenchido apenas na página de login dos servidores definidos pela política, nunca em um servidor adicionado por uma pessoa e nunca sobre o que alguém digitou. As pessoas ainda podem alterá-lo. Variáveis de ambiente entre sinais de porcentagem são substituídas, de modo que um único valor atende a todos:
%USERNAME%no Windows ou%USER%no macOS e Linux fornece o nome da conta, e%USERNAME%@example.comum endereço de e-mail que segue esse padrão. Se uma variável não estiver definida, o aplicativo não preencherá nada. - Se você desativar a gestão de servidores, defina pelo menos um servidor em
DefaultServerList. - No Windows, uma política de computador (
HKEY_LOCAL_MACHINE) tem precedência sobre uma política de usuário (HKEY_CURRENT_USER). As listas de servidores de ambas são combinadas. - O aplicativo lê as configurações ao iniciar: após uma alteração, as pessoas devem encerrar e reabrir o aplicativo.
Windows: instalação silenciosa com o MSI
O MSI aceita propriedades públicas que gravam as configurações como políticas de computador, em HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Use-as em um aplicativo SCCM, um aplicativo Intune ou em um script. No PowerShell:
msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
| Propriedade | Grava | Se não for fornecida |
|---|---|---|
SERVERURL | Um servidor em DefaultServerList, com esta URL | Nenhum servidor |
SERVERNAME | O nome da aba desse servidor | Antimatter |
DEFAULTUSERNAME | DefaultUsername | Nada |
AUTOUPDATE | EnableAutoUpdater, 0 ou 1 | Nada: a cópia do MSI não verifica atualizações |
SERVERMANAGEMENT | EnableServerManagement, 0 ou 1 | Nada: as pessoas podem adicionar servidores |
- Uma propriedade que não for fornecida não grava nada, portanto não substitui um valor definido pela Group Policy.
AUTOUPDATEeSERVERMANAGEMENTaceitam apenas 0 ou 1. O MSI define um servidor: use a Group Policy para mais. DEFAULTUSERNAMEdeve chegar ao instalador como o texto%USERNAME%, para que o aplicativo o substitua para cada pessoa. Caso contrário, o shell que executa a instalação o substituirá pelo nome da própria conta. No PowerShell, mantenha as aspas simples. Em um arquivo.bat, escreva%%USERNAME%%. Após uma instalação de teste, verifique no registro queDefaultUsernamecontém%USERNAME%.- Repasse as propriedades em cada atualização. A instalação de uma nova versão do MSI remove a antiga, com os valores que ela gravou, e então grava os valores da nova linha de comando. O SCCM e o Intune mantêm a linha de comando de um aplicativo: reutilize-a para cada nova versão. Ou defina as políticas com a Group Policy ou o Intune, que as atualizações não alteram.
- O MSI e a Diretiva de Grupo gravam os mesmos valores de registro. Para cada configuração, use um ou o outro: desinstalar o MSI exclui os valores que ele gravou, mesmo que a Diretiva de Grupo também os tenha definido.
- O MSI também registra sua pasta de instalação em
HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop(InstallDir). É assim que o aplicativo sabe que foi instalado com o MSI.
Para desinstalar: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. No Intune, o tipo "Windows app (Win32)" usa as mesmas linhas de comando. Para o tipo "Line-of-business app", adicione as propriedades aos argumentos de linha de comando.
Windows: Diretiva de Grupo e Intune
Os modelos administrativos, antimatter.admx e en-US\antimatter.adml, estão na pasta gpo do aplicativo instalado (C:\Program Files\Antimatter\gpo para o MSI) e na pasta resources/windows/gpo do repositório do aplicativo. Eles exibem estas políticas, sob Administrative Templates › Antimatter:
| Política | Valor de registro | Configuração |
|---|---|---|
| Servers (DefaultServerList) | Subchave DefaultServerList | computador e usuário |
| Username to prefill (DefaultUsername) | DefaultUsername | computador e usuário |
| Let people add and remove servers (EnableServerManagement) | EnableServerManagement | computador e usuário |
| Notify about new versions (EnableAutoUpdater) | EnableAutoUpdater | somente computador |
| Trusted embedded media origins (TrustedEmbeddedMediaOrigins) | Subchave TrustedEmbeddedMediaOrigins | computador e usuário |
Diretiva de Grupo em um domínio
- Copie
antimatter.admxpara o armazenamento central,\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, eantimatter.admlpara sua pastaen-US. - No Editor de Gerenciamento de Diretiva de Grupo, abra Computer Configuration (ou User Configuration) › Policies › Administrative Templates › Antimatter.
- Edite uma política, escolha Habilitado e preencha-a. Para Servers, clique em Exibir e adicione uma linha por servidor: o nome do valor é o nome da aba, e o valor é a URL do servidor, como
https://chat.example.com.
Habilitar Let people add and remove servers ou Notify about new versions grava 1; desabilitá-los grava 0.
Intune
Em Dispositivos › Configuração, use Importar ADMX para importar antimatter.admx com en-US\antimatter.adml. Em seguida, crie um perfil a partir de Modelos › Modelos administrativos importados e defina as políticas do Antimatter nele.
Um único computador, ou um script
Copie os modelos para C:\Windows\PolicyDefinitions para usá-los no gpedit.msc (Windows Pro e Enterprise). Ou escreva os valores do registro diretamente, com um arquivo .reg importado como administrador (reg import antimatter-policies.reg), como este. O arquivo example-policies.reg da mesma pasta contém esses valores, com comentários.
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: um perfil de configuração
No macOS, o aplicativo lê suas configurações das preferências gerenciadas do seu identificador de bundle, chat.antimatter.desktop, com as chaves da tabela de configurações. Implante-as com seu MDM (Jamf, Intune, Kandji, Mosyle e outros) como um perfil de configuração.
- A pasta resources/mac/mdm do repositório do aplicativo contém um perfil de exemplo,
antimatter.mobileconfig. Edite seus valores, atribua-lhe seus próprios valores dePayloadIdentifierePayloadUUID(uuidgengera novos UUIDs) e faça o upload como um perfil personalizado. - A maioria dos MDMs também aceita apenas as chaves, como um payload de "configurações personalizadas" ou "domínio de preferências" para
chat.antimatter.desktop. A mesma pasta as contém emexample-managed-preferences.plist.
As configurações dentro do payload do perfil:
<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/>
Os valores booleanos também podem ser fornecidos como os inteiros 0 e 1.
Linux: o arquivo de política
No Linux, o aplicativo lê /etc/antimatter-desktop/policies.json, um objeto JSON com as chaves da tabela de configurações:
{
"DefaultServerList": [
{"name": "Chat", "url": "https://chat.example.com"}
],
"DefaultUsername": "%USER%",
"EnableServerManagement": false,
"EnableAutoUpdater": false,
"TrustedEmbeddedMediaOrigins": []
}
Implante-o com sua ferramenta de gerenciamento de configuração (Ansible, Puppet, Salt e outros), com propriedade do root, legível por todos e gravável apenas pelo root:
sudo install -d /etc/antimatter-desktop
sudo install -m 644 policies.json /etc/antimatter-desktop/policies.json
Um arquivo que não é um JSON válido é ignorado, com um aviso no log do aplicativo. A versão Flatpak não vê o /etc do host: conceda-lhe acesso de leitura, e ela lê o arquivo de /run/host/etc/antimatter-desktop/policies.json:
sudo flatpak override --system --filesystem=host-etc:ro chat.antimatter.desktop
Políticas definidas para o aplicativo desktop do Mattermost
No Windows, o aplicativo também lê as políticas definidas para o aplicativo desktop do Mattermost, em SOFTWARE\Policies\Mattermost, como alternativa. Ele as lê por local: os valores diretamente sob a chave de política, a subchave DefaultServerList e a subchave TrustedEmbeddedMediaOrigins. Para cada um desses três locais, ele lê a chave do Mattermost apenas quando a chave do Antimatter não tiver valores ali, em qualquer hive. Assim, uma vez que um valor seja definido diretamente sob a chave do Antimatter, por exemplo pela propriedade AUTOUPDATE do MSI, nenhum dos valores diretamente sob a chave do Mattermost será lido. Mova todas as suas políticas para a chave do Antimatter de uma só vez.
No macOS, as preferências gerenciadas do aplicativo desktop do Mattermost (com.mattermost.desktop) não são lidas: defina-as para chat.antimatter.desktop.
Compilações não assinadas
As compilações do aplicativo desktop ainda não são assinadas com um certificado de editor.
- Windows. Quando uma pessoa abre um
.exeou.msibaixado, o Microsoft Defender SmartScreen informa que o Windows protegeu o computador e cita um editor desconhecido. A pessoa escolhe Mais Informações e, em seguida, Executar mesmo assim. O SmartScreen verifica os arquivos que as pessoas abrem após um download, portanto, elas não veem esse aviso quando você implanta o aplicativo por meio do SCCM, Intune ou Group Policy. Se seus computadores executam apenas software de editores aprovados (regras do AppLocker ou App Control for Business), permita o aplicativo por seu caminho de instalação ou hash de arquivo. - macOS. O aplicativo é assinado ad hoc, mas não notariado pela Apple. Na primeira vez que uma pessoa abre uma cópia baixada, o macOS informa que não pode verificar se o aplicativo está livre de malware e não o abre. No macOS 15 e posterior, a pessoa abre Configurações do Sistema › Privacidade e Segurança e escolhe abrir. Em versões anteriores, ela clica com o botão direito (ou Control-clique) no aplicativo e escolhe abrir. O Gatekeeper verifica apenas arquivos marcados como baixados (com o atributo de quarentena): ao instalar o aplicativo com suas próprias ferramentas, remova a marcação em seu script de instalação, com
xattr -dr com.apple.quarantine /Applications/Antimatter.app.