Despliegue de la aplicación de escritorio

Cómo instalar la aplicación de escritorio de Antimatter en los ordenadores de una empresa o escuela y configurar de forma centralizada sus servidores, el nombre de usuario y las comprobaciones de actualización en Windows, macOS y Linux.

Descargar la aplicación

Las versiones de la aplicación de escritorio están en GitHub, en github.com/AntimatterChat/desktop-app/releases. Al igual que el servidor, la aplicación está en beta: una versión cuyo número incluye un sufijo después de un guion se marca como Pre-release. Cada versión incluye un archivo SHA256SUMS con la suma de verificación de cada archivo. Compruebe una descarga con sha256sum --check --ignore-missing SHA256SUMS en Linux, o compare la salida de Get-FileHash <file> -Algorithm SHA256 en PowerShell con su línea en SHA256SUMS.

  • Windows (x64 y arm64): el instalador .exe, el paquete .msi o un archivo .zip. Por ejemplo, antimatter-desktop-<version>-win-x64.exe y antimatter-desktop-<version>-win-x64.msi.
  • macOS: una imagen de disco .dmg o un .zip, para Apple silicon (arm64), Macs Intel (x64) o ambos (universal).
  • Linux (x64 y arm64): un paquete .deb o .rpm, un AppImage, un paquete Flatpak o un archivo .tar.gz.

Qué instalador de Windows usar

El instalador .exeEl paquete .msi
ParaPersonas que instalan la aplicación por sí mismasEmpresas que la despliegan en sus ordenadores
InstalaciónSolo para la cuenta de Windows actual, en %LOCALAPPDATA%\Programs\antimatter-desktop, sin permisos de administradorPara todos los usuarios del equipo, en C:\Program Files\Antimatter, con permisos de administrador
ActualizacionesLa aplicación busca nuevas versiones y ofrece descargar el nuevo .exe, que actualiza la copia instalada en el mismo lugarLa aplicación no busca nuevas versiones: usted las despliega

La aplicación busca nuevas versiones en GitHub cada hora mientras está en ejecución, y solo detecta las versiones completas, no las versiones preliminares. Cuando encuentra una, lo indica y ofrece un enlace para descargarla. Una copia instalada con el MSI no realiza comprobaciones de forma predeterminada, ya que las personas que la utilizan normalmente no pueden instalar software. Puedes activar las comprobaciones para esta copia mediante la configuración EnableAutoUpdater: la descarga que se ofrece en ese caso es el nuevo .msi, que requiere permisos de administrador.

Utiliza el MSI para una implementación administrada con SCCM (Configuration Manager), Intune o la instalación de software mediante directivas de grupo. La instalación del MSI elimina la copia .exe de la cuenta que ejecuta la instalación, si existe.

Configuraciones que puedes administrar

Las mismas configuraciones existen en todos los sistemas. En Windows, son valores del registro bajo SOFTWARE\Policies\Antimatter, en HKEY_LOCAL_MACHINE (para el equipo) o HKEY_CURRENT_USER (para un usuario). En macOS y Linux, son claves de las preferencias administradas o del archivo de directivas.

AjusteEn WindowsEn macOS y LinuxQué hace
DefaultServerListUna subclave con un valor de cadena por servidor: el nombre del valor es el nombre de su pestaña, y los datos son su URLUn array de diccionarios (objetos en Linux) con name y urlAñade servidores a la aplicación. Las personas no pueden editarlos ni eliminarlos.
DefaultUsernameUna cadenaUna cadenaRellena el nombre de usuario en la página de inicio de sesión de estos servidores.
EnableServerManagementUn DWORD, 0 o 1Un valor booleano0 o false: las personas solo pueden usar los servidores configurados mediante DefaultServerList, y la aplicación oculta las opciones para añadir, editar y eliminar servidores. No configurado: las personas pueden añadir sus propios servidores.
EnableAutoUpdaterUn DWORD, 0 o 1Un valor booleano0 o false: la aplicación nunca busca nuevas versiones y oculta Buscar actualizaciones. 1 o true: la aplicación busca actualizaciones, incluso si está instalada con el MSI. No configurado: la copia .exe busca actualizaciones, la copia MSI no.
TrustedEmbeddedMediaOriginsUna subclave con valores de cadena, cada uno un objeto JSON con serverOrigin y embeddedOriginUn array de diccionarios con serverOrigin y embeddedOriginPermite que el contenido incrustado en las páginas de un servidor, como una página de videollamada, utilice los permisos de cámara y micrófono concedidos a ese servidor.
  • El nombre de usuario solo se rellena en la página de inicio de sesión de los servidores configurados por la directiva, nunca en un servidor que una persona haya añadido, y nunca sobre lo que alguien haya escrito. Las personas aún pueden cambiarlo. Las variables de entorno entre porcentajes se reemplazan, por lo que un solo valor sirve para todos: %USERNAME% en Windows o %USER% en macOS y Linux proporciona el nombre de la cuenta, y %USERNAME%@example.com una dirección de correo electrónico que sigue este patrón. Si una variable no está establecida, la aplicación no rellena nada.
  • Si desactiva la gestión de servidores, configure al menos un servidor en DefaultServerList.
  • En Windows, una directiva de equipo (HKEY_LOCAL_MACHINE) tiene prioridad sobre una directiva de usuario (HKEY_CURRENT_USER). Las listas de servidores de ambas se combinan.
  • La aplicación lee la configuración al iniciar: tras un cambio, las personas deben cerrarla y volver a abrirla.

Windows: instalación silenciosa con el MSI

El MSI acepta propiedades públicas que escriben la configuración como directivas de equipo, en HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Antimatter. Úselas en una aplicación de SCCM, una app de Intune o un script. En PowerShell:

msiexec /i antimatter-desktop-<version>-win-x64.msi /qn SERVERURL=https://chat.example.com SERVERNAME=Chat DEFAULTUSERNAME='%USERNAME%' AUTOUPDATE=0 SERVERMANAGEMENT=0
PropiedadEscribeSi no se proporciona
SERVERURLUn servidor en DefaultServerList, con esta URLNingún servidor
SERVERNAMEEl nombre de la pestaña de ese servidorAntimatter
DEFAULTUSERNAMEDefaultUsernameNada
AUTOUPDATEEnableAutoUpdater, 0 o 1Nada: la copia del MSI no busca actualizaciones
SERVERMANAGEMENTEnableServerManagement, 0 o 1Nada: las personas pueden añadir servidores
  • Una propiedad que no se proporciona no escribe nada, por lo que no sobrescribe un valor establecido por la directiva de grupo. AUTOUPDATE y SERVERMANAGEMENT solo aceptan 0 o 1. El MSI configura un solo servidor: use la directiva de grupo para más.
  • DEFAULTUSERNAME debe llegar al instalador como el texto %USERNAME%, para que la aplicación lo reemplace para cada persona. De lo contrario, la shell que ejecuta la instalación lo reemplaza con el nombre de su propia cuenta. En PowerShell, mantenga las comillas simples. En un archivo .bat, escriba %%USERNAME%%. Después de una instalación de prueba, compruebe en el registro que DefaultUsername contiene %USERNAME%.
  • Proporcione las propiedades nuevamente en cada actualización. La instalación de una nueva versión del MSI elimina la anterior, junto con los valores que escribió, y luego escribe los valores de la nueva línea de comandos. SCCM e Intune conservan la línea de comandos de una aplicación: reutilícela para cada nueva versión. O establezca las directivas con la directiva de grupo o Intune, que las actualizaciones no modifican.
  • El MSI y la directiva de grupo escriben los mismos valores de registro. Para cada configuración, use uno u otro: desinstalar el MSI elimina los valores que escribió, incluso si la directiva de grupo también los estableció.
  • El MSI también registra su carpeta de instalación en HKEY_LOCAL_MACHINE\SOFTWARE\Antimatter\Desktop (InstallDir). Así es como la aplicación sabe que se instaló con el MSI.

Para desinstalar: msiexec /x antimatter-desktop-<version>-win-x64.msi /qn. En Intune, el tipo "Windows app (Win32)" acepta las mismas líneas de comando. Para el tipo "Line-of-business app", agregue las propiedades a sus argumentos de línea de comando.

Windows: Directiva de grupo e Intune

Las plantillas administrativas, antimatter.admx y en-US\antimatter.adml, se encuentran en la carpeta gpo de la aplicación instalada (C:\Program Files\Antimatter\gpo para el MSI) y en la carpeta resources/windows/gpo del repositorio de la aplicación. Muestran estas directivas, bajo Administrative Templates › Antimatter:

DirectivaValor de registroConfiguración
Servidores (DefaultServerList)Subclave DefaultServerListequipo y usuario
Nombre de usuario para prellenar (DefaultUsername)DefaultUsernameequipo y usuario
Permitir a las personas agregar y eliminar servidores (EnableServerManagement)EnableServerManagementequipo y usuario
Notificar sobre nuevas versiones (EnableAutoUpdater)EnableAutoUpdatersolo equipo
Orígenes de medios incrustados de confianza (TrustedEmbeddedMediaOrigins)Subclave TrustedEmbeddedMediaOriginsequipo y usuario

Directiva de grupo en un dominio

  1. Copie antimatter.admx al almacén central, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, y antimatter.adml a su carpeta en-US.
  2. En el Editor de administración de directivas de grupo, abra Computer Configuration (o User Configuration) › Policies › Administrative Templates › Antimatter.
  3. Edite una directiva, elija Activada y complétela. Para Servidores, haga clic en Mostrar y agregue una línea por servidor: el nombre del valor es el nombre de la pestaña, y el valor es la URL del servidor, como https://chat.example.com.

Activar Permitir a las personas agregar y eliminar servidores o Notificar sobre nuevas versiones escribe 1; desactivarla escribe 0.

Intune

En Dispositivos › Configuración, usa Importar ADMX para importar antimatter.admx con en-US\antimatter.adml. Luego, crea un perfil desde Plantillas › Plantillas administrativas importadas y configura las políticas de Antimatter en él.

Un solo equipo o un script

Copia las plantillas en C:\Windows\PolicyDefinitions para usarlas en gpedit.msc (Windows Pro y Enterprise). O escribe los valores del registro directamente, con un archivo .reg importado como administrador (reg import antimatter-policies.reg), como este. El archivo example-policies.reg de la misma carpeta contiene estos valores, con comentarios.

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: un perfil de configuración

En macOS, la aplicación lee su configuración de las preferencias administradas de su identificador de paquete, chat.antimatter.desktop, con las claves de la tabla de configuración. Desplégalas con tu MDM (Jamf, Intune, Kandji, Mosyle y otros) como un perfil de configuración.

  • La carpeta resources/mac/mdm del repositorio de la aplicación contiene un perfil de ejemplo, antimatter.mobileconfig. Edita sus valores, asigna tus propios valores de PayloadIdentifier y PayloadUUID (uuidgen crea nuevos UUID) y súbelo como un perfil personalizado.
  • La mayoría de los MDM también aceptan las claves por separado, como una carga de "configuración personalizada" o "dominio de preferencias" para chat.antimatter.desktop. La misma carpeta las contiene en example-managed-preferences.plist.

La configuración dentro de la carga del 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/>

Los valores booleanos también se pueden proporcionar como los enteros 0 y 1.

Linux: el archivo de políticas

En Linux, la aplicación lee /etc/antimatter-desktop/policies.json, un objeto JSON con las claves de la tabla de configuración:

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

Desplégalo con tu herramienta de gestión de configuración (Ansible, Puppet, Salt y otros), con propietario root, legible por todos y escribible solo por root:

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

Un archivo que no sea JSON válido se ignora, con una advertencia en el registro de la aplicación. La versión Flatpak no ve el /etc del sistema anfitrión: dale acceso de lectura y leerá el archivo desde /run/host/etc/antimatter-desktop/policies.json:

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

Políticas configuradas para la aplicación de escritorio de Mattermost

En Windows, la aplicación también lee las directivas configuradas para la aplicación de escritorio de Mattermost, en SOFTWARE\Policies\Mattermost, como alternativa. Las lee por ubicación: los valores directamente bajo la clave de directiva, la subclave DefaultServerList y la subclave TrustedEmbeddedMediaOrigins. Para cada una de estas tres ubicaciones, solo lee la clave de Mattermost cuando la clave de Antimatter no tenga valores allí, en ninguno de los dos registros. Por lo tanto, una vez que se establece un valor directamente bajo la clave de Antimatter, por ejemplo mediante la propiedad AUTOUPDATE del MSI, no se leen ninguno de los valores directamente bajo la clave de Mattermost. Mueve todas tus directivas a la clave de Antimatter de una sola vez.

En macOS, no se leen las preferencias administradas de la aplicación de escritorio de Mattermost (com.mattermost.desktop): configúralas para chat.antimatter.desktop.

Compilaciones sin firmar

Las compilaciones de la aplicación de escritorio aún no están firmadas con un certificado de editor.

  • Windows. Cuando una persona abre un .exe o .msi descargado, Microsoft Defender SmartScreen indica que Windows protegió el equipo y nombra a un editor desconocido. Eligen Más información y luego Ejecutar de todos modos. SmartScreen comprueba los archivos que las personas abren después de una descarga, por lo que no verán esta advertencia si despliegas la aplicación a través de SCCM, Intune o Directiva de grupo. Si tus equipos solo ejecutan software de editores aprobados (reglas de AppLocker o App Control for Business), permite la aplicación mediante su ruta de instalación o su hash de archivo.
  • macOS. La aplicación está firmada de forma ad hoc, pero no está autorizada por Apple. La primera vez que una persona abre una copia descargada, macOS indica que no puede verificar que la aplicación esté libre de malware y no la abre. En macOS 15 y versiones posteriores, abren Configuración del sistema › Privacidad y seguridad y eligen Abrir de todos modos. En versiones anteriores, hacen clic con el botón de control en la aplicación y eligen abrir. Gatekeeper solo comprueba los archivos marcados como descargados (con el atributo de cuarentena): si instalas la aplicación con tus propias herramientas, elimina la marca en tu script de instalación con xattr -dr com.apple.quarantine /Applications/Antimatter.app.