Ανάπτυξη της εφαρμογής για υπολογιστή
Πώς να εγκαταστήσετε την εφαρμογή Antimatter για υπολογιστή στους υπολογιστές μιας εταιρείας ή σχολείου και να ρυθμίσετε κεντρικά τους διακομιστές, το όνομα χρήστη και τους ελέγχους ενημέρωσης σε Windows, macOS και Linux.
Λήψη της εφαρμογής
Οι εκδόσεις της εφαρμογής για υπολογιστή βρίσκονται στο GitHub, στη διεύθυνση github.com/AntimatterChat/desktop-app/releases. Όπως και ο διακομιστής, η εφαρμογή βρίσκεται σε στάδιο beta: μια έκδοση της οποίας ο αριθμός έχει κατάληξη μετά από παύλα φέρει την ένδειξη Pre-release. Κάθε έκδοση διαθέτει ένα αρχείο SHA256SUMS με το checksum κάθε αρχείου. Ελέγξτε μια λήψη με την εντολή 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), Macs με Intel (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 ή εγκατάσταση λογισμικού μέσω Πολιτικής Ομάδας. Η εγκατάσταση του 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μια διεύθυνση email που ακολουθεί αυτό το πρότυπο. Αν μια μεταβλητή δεν έχει οριστεί, η εφαρμογή δεν συμπληρώνει τίποτα. - Αν απενεργοποιήσετε τη διαχείριση διακομιστών, ορίστε τουλάχιστον έναν διακοστή στο
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 ορίζει έναν διακοστή: χρησιμοποιήστε την Πολιτική Ομάδας για περισσότερους. - Το
DEFAULTUSERNAMEπρέπει να φτάσει στο πρόγραμμα εγκατάστασης ως το κείμενο%USERNAME%, ώστε η εφαρμογή να το αντικαθιστά για κάθε χρήστη. Διαφορετικά, το κέλυφος που εκτελεί την εγκατάσταση το αντικαθιστά με το δικό του όνομα λογαριασμού. Σε PowerShell, κρατήστε τα μονά εισαγωγικά. Σε αρχείο.bat, γράψτε%%USERNAME%%. Μετά από μια δοκιμαστική εγκατάσταση, ελέγξτε στο μητρώο ότι τοDefaultUsernameπεριέχει το%USERNAME%. - Περάστε ξανά τις ιδιότητες σε κάθε αναβάθμιση. Η εγκατάσταση μιας νέας έκδοσης του MSI αφαιρεί την παλιά, μαζί με τις τιμές που έγραψε, και στη συνέχεια γράφει τις τιμές της νέας γραμμής εντολών. Το SCCM και το Intune διατηρούν τη γραμμή εντολών μιας εφαρμογής: επαναχρησιμοποιήστε την για κάθε νέα έκδοση. Εναλλακτικά, ορίστε τις πολιτικές με την Πολιτική Ομάδας (Group Policy) ή το Intune, τις οποίες οι αναβαθμίσεις δεν αγγίζουν.
- Το MSI και η Ομάδα Πολιτικής γράφουν τις ίδιες τιμές μητρώου. Για κάθε ρύθμιση, χρησιμοποιήστε το ένα ή το άλλο: η κατάργηση εγκατάστασης του MSI διαγράφει τις τιμές που έγραψε, ακόμα και αν τις είχαν ορίσει και οι Ομάδες Πολιτικής.
- Το 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: Ομάδες Πολιτικής και Intune
Τα πρότυπα διαχείρισης, antimatter.admx και en-US\antimatter.adml, βρίσκονται στον φάκελο gpo της εγκατεστημένης εφαρμογής (C:\Program Files\Antimatter\gpo για το MSI) και στον φάκελο resources/windows/gpo του αποθετηρίου της εφαρμογής. Εμφανίζουν αυτές τις πολιτικές, κάτω από Πρότυπα διαχείρισης › Antimatter:
| Πολιτική | Τιμή μητρώου | Διαμόρφωση |
|---|---|---|
| Διακομιστές (DefaultServerList) | Υποκλειδί DefaultServerList | υπολογιστής και χρήστης |
| Όνομα χρήστη για προσυμπλήρωση (DefaultUsername) | DefaultUsername | υπολογιστής και χρήστης |
| Να επιτρέπεται στους χρήστες η προσθήκη και αφαίρεση διακομιστών (EnableServerManagement) | EnableServerManagement | υπολογιστής και χρήστης |
| Ειδοποίηση για νέες εκδόσεις (EnableAutoUpdater) | EnableAutoUpdater | μόνο υπολογιστής |
| Έγκυρες προέλευσεις ενσωματωμένων πολυμέσων (TrustedEmbeddedMediaOrigins) | Υποκλειδί TrustedEmbeddedMediaOrigins | υπολογιστής και χρήστης |
Ομάδα Πολιτικής σε τομέα
- Αντιγράψτε το
antimatter.admxστον κεντρικό χώρο αποθήκευσης,\\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, και τοantimatter.admlστον φάκελοen-USτου. - Στον Επεξεργαστή Ομάδας Πολιτικής, ανοίξτε Διαμόρφωση υπολογιστή (ή Ρυθμίσεις χρήστη) › Πολιτικές › Πρότυπα διαχείρισης › Antimatter.
- Επεξεργαστείτε μια πολιτική, επιλέξτε Ενεργοποιημένο και συμπληρώστε την. Για τους Διακομιστές, κάντε κλικ στο Εμφάνιση και προσθέστε μία γραμμή ανά διακομιστή: το όνομα της τιμής είναι το όνομα της καρτέλας, η τιμή είναι η διεύθυνση URL του διακομιστή, όπως
https://chat.example.com.
Η ενεργοποίηση του Να επιτρέπεται στους χρήστες η προσθήκη και αφαίρεση διακομιστών ή του Ειδοποίηση για νέες εκδόσεις γράφει 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, η εφαρμογή διαβάζει τις ρυθμίσεις της από τις διαχειριζόμενες προτιμήσεις του αναγνωριστικού δέσμης (bundle identifier) chat.antimatter.desktop, χρησιμοποιώντας τα κλειδιά του πίνακα ρυθμίσεων. Αναπτύξτε τις μέσω του συστήματος διαχείρισης κινητών συσκευών (MDM) σας (Jamf, Intune, Kandji, Mosyle και άλλα) ως προφίλ διαμόρφωσης.
- Ο φάκελος resources/mac/mdm του αποθετηρίου της εφαρμογής περιέχει ένα παράδειγμα προφίλ, το
antimatter.mobileconfig. Επεξεργαστείτε τις τιμές του, δώστε του δικές σας τιμές για τα πεδίαPayloadIdentifierκαιPayloadUUID(η εντολήuuidgenδημιουργεί νέα UUID) και ανεβάστε το ως προσαρμοσμένο προφίλ. - Οι περισσότερες πλατφόρμες MDM δέχονται επίσης τα κλειδιά μόνο τους, ως φορτίο «προσαρμοσμένων ρυθμίσεων» ή «τομέα προτιμήσεων» για το
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/>
Οι τιμές λογικού τύπου (booleans) μπορούν επίσης να δοθούν ως ακέραιοι 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 αγνοείται, με μια προειδοποίηση στο αρχείο καταγραφής (log) της εφαρμογής. Η έκδοση 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.
Μη υπογεγραμμένες εκδόσεις
Οι εκδόσεις της εφαρμογής επιφάνειας εργασίας δεν έχουν ακόμη υπογραφεί με πιστοποιητικό εκδότη.
- Παράθυρα. Όταν κάποιος ανοίγει ένα ληφθέν αρχείο
.exeή.msi, το Microsoft Defender SmartScreen αναφέρει ότι τα Windows προστάτευσαν τον υπολογιστή και αναφέρει έναν άγνωστο εκδότη. Πρέπει να επιλέξουν Περισσότερες Πληροφορίες και στη συνέχεια Εκτέλεση παρ' όλα αυτά. Το SmartScreen ελέγχει τα αρχεία που ανοίγουν οι χρήστες μετά από μια λήψη, οπότε δεν θα δουν αυτήν την προειδοποίηση εάν αναπτύξετε την εφαρμογή μέσω SCCM, Intune ή Group Policy. Εάν οι υπολογιστές σας εκτελούν μόνο λογισμικό από εγκεκριμένους εκδότες (κανόνες AppLocker ή App Control for Business), επιτρέψτε την εφαρμογή μέσω της διαδρομής εγκατάστασης ή της τιμής hash του αρχείου. - macOS. Η εφαρμογή είναι υπογεγραμμένη ad hoc, αλλά δεν έχει πιστοποιηθεί (notarised) από την Apple. Την πρώτη φορά που κάποιος ανοίγει ένα ληφθέν αντίγραφο, το macOS αναφέρει ότι δεν μπορεί να επαληθεύσει ότι η εφαρμογή είναι απαλλαγμένη από κακόβουλο λογισμικό και δεν την ανοίγει. Στο macOS 15 και νεότερες εκδόσεις, πρέπει να ανοίξουν Ρυθμίσεις Συστήματος › Απόρρητο και Ασφάλεια και να επιλέξουν Άνοιγμα παρ' όλα αυτά. Σε προηγούμενες εκδόσεις, πρέπει να κάνουν Control-click στην εφαρμογή και να επιλέξουν άνοιγμα. Το Gatekeeper ελέγχει μόνο αρχεία που έχουν επισημανθεί ως ληφθέντα (με το χαρακτηριστικό quarantine): όταν εγκαθιστάτε την εφαρμογή με τα δικά σας εργαλεία, αφαιρέστε την επισήμανση στο σενάριο εγκατάστασής σας, χρησιμοποιώντας την εντολή
xattr -dr com.apple.quarantine /Applications/Antimatter.app.