डेस्कटॉप ऐप का डिप्लॉयमेंट

कंपनी या स्कूल के कंप्यूटरों पर Antimatter डेस्कटॉप ऐप कैसे इंस्टॉल करें, और Windows, macOS और Linux पर इसके सर्वर, यूज़रनेम और अपडेट जाँचें केंद्रीय रूप से कैसे सेट करें।

ऐप डाउनलोड करें

डेस्कटॉप ऐप की रिलीज़ GitHub पर github.com/AntimatterChat/desktop-app/releases पर उपलब्ध हैं। सर्वर की तरह, ऐप बीटा में है: जिस रिलीज़ की संस्करण में हाइफ़न के बाद एक सuffix है, उसे Pre-release के रूप में चिह्नित किया गया है। हर रिलीज़ में हर फ़ाइल की चेकसम के साथ एक SHA256SUMS फ़ाइल होती है। Linux पर sha256sum --check --ignore-missing SHA256SUMS के साथ डाउनलोड की जाँच करें, या PowerShell में Get-FileHash <file> -Algorithm SHA256 के आउटपुट की तुलना SHA256SUMS में उसकी पंक्ति से करें।

  • Windows (x64 और arm64): .exe इंस्टॉलर, .msi पैकेज, या .zip आर्काइव। उदाहरण के लिए antimatter-desktop-<version>-win-x64.exe और antimatter-desktop-<version>-win-x64.msi।
  • macOS: Apple silicon (arm64), Intel Macs (x64) या दोनों (universal) के लिए .dmg डिस्क इमेज या .zip।
  • 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 होता है, जिसके लिए एडमिन अधिकारों की आवश्यकता होती है।

SCCM (Configuration Manager), Intune या Group Policy सॉफ़्टवेयर इंस्टॉलेशन के साथ मैनेज्ड डिप्लॉयमेंट के लिए MSI का उपयोग करें। MSI इंस्टॉल करने से, यदि कोई मौजूद है, तो इंस्टॉलेशन चला रहे अकाउंट की .exe कॉपी हट जाती है।

जो सेटिंग्स आप मैनेज कर सकते हैं

यह सभी सेटिंग्स हर सिस्टम पर मौजूद हैं। Windows पर, ये SOFTWARE\Policies\Antimatter के तहत रजिस्ट्री वैल्यूज़ हैं, HKEY_LOCAL_MACHINE (कंप्यूटर के लिए) या HKEY_CURRENT_USER (एक उपयोगकर्ता के लिए) में। macOS और Linux पर, ये मैनेज्ड प्रीफरेंस या पॉलिसी फ़ाइल की कुंजियाँ हैं।

सेटिंगWindows परmacOS और Linux परयह क्या करता है
DefaultServerListहर सर्वर के लिए एक स्ट्रिंग वैल्यू वाला सबकी: वैल्यू का नाम उसके टैब का नाम है, और डेटा उसका URL हैname और url वाले डिक्शनरी (Linux पर ऑब्जेक्ट्स) का एक अरेऐप में सर्वर जोड़ता है। उपयोगकर्ता उन्हें संपादित या हटा नहीं सकते।
DefaultUsernameएक स्ट्रिंगएक स्ट्रिंगइन सर्वरों के लॉगिन पेज पर यूज़रनेम भर देता है।
EnableServerManagementएक DWORD, 0 या 1एक बूलियन0 या false: उपयोगकर्ता केवल DefaultServerList द्वारा सेट किए गए सर्वर का उपयोग कर सकते हैं, और ऐप सर्वर जोड़ने, संपादित करने और हटाने के विकल्प छिपा देता है। सेट नहीं किया गया: उपयोगकर्ता अपने स्वयं के सर्वर जोड़ सकते हैं।
EnableAutoUpdaterएक DWORD, 0 या 1एक बूलियन0 या false: ऐप कभी नए वर्ज़न की जाँच नहीं करता, और Check for Updates छिपा देता है। 1 या true: यह जाँच करता है, यहां तक कि MSI से इंस्टॉल होने पर भी। सेट नहीं किया गया: .exe कॉपी जाँच करती है, MSI कॉपी नहीं।
TrustedEmbeddedMediaOriginsस्ट्रिंग वैल्यूज़ वाला सबकी, प्रत्येक serverOrigin और embeddedOrigin वाला JSON ऑब्जेक्टserverOrigin और embeddedOrigin वाले डिक्शनरी का एक अरेसर्वर के पेज में एम्बेडेड कंटेंट, जैसे वीडियो मीटिंग पेज, को उस सर्वर को प्रदान किए गए कैमरा और माइक्रोफ़ोन अनुमतियों का उपयोग करने की अनुमति देता है।
  • यूज़रनेम केवल नीति द्वारा निर्धारित सर्वर के लॉगिन पेज पर भरा जाता है, कभी भी किसी ऐसे सर्वर पर नहीं जो किसी ने जोड़ा हो, और कभी भी किसी ने जो टाइप किया हो उस पर नहीं। लोग इसे फिर भी बदल सकते हैं। प्रतिशत चिह्नों के बीच की एनवायरनमेंट वेरिएबल्स बदल दी जाती हैं, इसलिए एक मान सभी के लिए उपयुक्त होता है: Windows पर %USERNAME% या macOS और Linux पर %USER% अकाउंट नाम देता है, और %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
प्रॉपर्टीलिखता हैयदि नहीं दिया गया
SERVERURLDefaultServerList में एक सर्वर, इस URL के साथकोई सर्वर नहीं
SERVERNAMEउस सर्वर के टैब का नामAntimatter
DEFAULTUSERNAMEDefaultUsernameकुछ नहीं
AUTOUPDATEEnableAutoUpdater, 0 या 1कुछ नहीं: MSI कॉपी अपडेट्स की जांच नहीं करती
SERVERMANAGEMENTEnableServerManagement, 0 या 1कुछ नहीं: लोग सर्वर जोड़ सकते हैं
  • जो प्रॉपर्टी नहीं दी जाती, वह कुछ नहीं लिखती, इसलिए यह Group Policy द्वारा सेट किए गए मान को ओवरराइट नहीं करती। AUTOUPDATE और SERVERMANAGEMENT केवल 0 या 1 स्वीकार करते हैं। MSI एक सर्वर सेट करता है: अधिक के लिए Group Policy का उपयोग करें।
  • DEFAULTUSERNAME को इंस्टॉलर तक %USERNAME% के रूप में टेक्स्ट के रूप में पहुंचना होगा, ताकि ऐप इसे हर व्यक्ति के लिए बदल सके। अन्यथा, इंस्टॉलेशन चला रहा शेल इसे अपने अकाउंट नाम से बदल देगा। PowerShell में, सिंगल क्वॉट्स रखें। .bat फ़ाइल में, %%USERNAME%% लिखें। टेस्ट इंस्टॉलेशन के बाद, रजिस्ट्री में जांचें कि DefaultUsername में %USERNAME% है।
  • हर अपग्रेड पर प्रॉपर्टीज़ को फिर से पास करें। MSI के नए वर्शन का इंस्टॉलेशन पुराने को हटा देता है, उसके लिखे मानों के साथ, फिर नई कमांड लाइन के मान लिखता है। SCCM और Intune एप्लिकेशन की कमांड लाइन को रखते हैं: हर नए वर्शन के लिए इसे दोबारा उपयोग करें। या नीतियों को Group Policy या Intune के साथ सेट करें, जिसे अपग्रेड्स छुआ नहीं करते।
  • MSI और Group Policy समान registry मान लिखते हैं। प्रत्येक सेटिंग के लिए एक या दूसरा उपयोग करें: 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 फोल्डर में (MSI के लिए C:\Program Files\Antimatter\gpo) और ऐप के रिपॉज़िटरी की resources/windows/gpo फोल्डर में हैं। ये नीचे Administrative Templates › Antimatter के तहत नीचे दी गई नीतियाँ दिखाते हैं:

नीतिRegistry मानकॉन्फ़िगरेशन
सर्वर (DefaultServerList)DefaultServerList सबकीकंप्यूटर और यूज़र
प्रीफिल करने के लिए यूज़रनेम (DefaultUsername)DefaultUsernameकंप्यूटर और यूज़र
लोगों को सर्वर जोड़ने और हटाने की अनुमति दें (EnableServerManagement)EnableServerManagementकंप्यूटर और यूज़र
नए वर्ज़न के बारे में सूचित करें (EnableAutoUpdater)EnableAutoUpdaterकेवल कंप्यूटर
विश्वसनीय एम्बेडेड मीडिया ओरिजिन (TrustedEmbeddedMediaOrigins)TrustedEmbeddedMediaOrigins सबकीकंप्यूटर और यूज़र

डोमेन में Group Policy

  1. antimatter.admx को सेंट्रल स्टोर, \\<domain>\SYSVOL\<domain>\Policies\PolicyDefinitions, में और antimatter.adml को उसके en-US फोल्डर में कॉपी करें।
  2. Group Policy Management Editor में, Computer Configuration (या User Configuration) › Policies › Administrative Templates › Antimatter खोलें।
  3. एक नीति संपादित करें, सक्रिय चुनें और उसे भरें। सर्वर के लिए, दिखाएँ पर क्लिक करें और प्रत्येक सर्वर के लिए एक लाइन जोड़ें: मान का नाम टैब का नाम है, और मान सर्वर URL है, जैसे https://chat.example.com।

लोगों को सर्वर जोड़ने और हटाने की अनुमति दें या नए वर्ज़न के बारे में सूचित करें को सक्रिय करने पर 1 लिखा जाता है; इसे अक्षम करने पर 0 लिखा जाता है।

Intune

डिवाइसेस › कॉनफ़िगरेशन में, Import ADMX का उपयोग करके antimatter.admx को en-US\antimatter.adml के साथ इम्पोर्ट करें। फिर टेम्पलेट्स › Imported Administrative templates से एक प्रोफ़ाइल बनाएं, और उसमें Antimatter पॉलिसी सेट करें।

एक अकेला कंप्यूटर, या एक स्क्रिप्ट

gpedit.msc (Windows Pro और Enterprise) में इन्हें उपयोग करने के लिए टेम्पलेट्स को C:\Windows\PolicyDefinitions में कॉपी करें। या रजिस्ट्री वैल्यूज़ को सीधे लिखें, एक .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 बनाता है), और इसे एक कस्टम प्रोफ़ाइल के रूप में अपलोड करें।
  • ज़्यादातर MDMs भी 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 डेस्कटॉप ऐप के लिए सेट की गई पॉलिसी

विंडोज़ पर, ऐप Mattermost डेस्कटॉप ऐप के लिए सेट की गई नीतियों को भी पढ़ता है, जो SOFTWARE\Policies\Mattermost के अंतर्गत होती हैं, एक फॉलबैक के रूप में। यह उन्हें स्थान के आधार पर पढ़ता है: नीति की कुंजी के तहत सीधे मान, DefaultServerList उप-कुंजी और TrustedEmbeddedMediaOrigins उप-कुंजी। इन तीनों स्थानों में से प्रत्येक के लिए, यह Mattermost की कुंजी को तभी पढ़ता है जब Antimatter की कुंजी वहाँ कोई मान नहीं रखती, चाहे वह किसी भी हिब में हो। इसलिए, एक बार जब Antimatter की कुंजी के तहत सीधे कोई मान सेट कर दिया जाता है, उदाहरण के लिए MSI के AUTOUPDATE गुणधर्म द्वारा, तो Mattermost की कुंजी के तहत सीधे रखे गए कोई भी मान पढ़े नहीं जाते। अपनी सभी नीतियों को एक साथ Antimatter की कुंजी में स्थानांतरित करें।

macOS पर, Mattermost डेस्कटॉप ऐप की प्रबंधित प्राथमिकताएँ (com.mattermost.desktop) पढ़ी नहीं जातीं: उन्हें chat.antimatter.desktop के लिए सेट करें।

अहस्ताक्षरित बिल्ड

डेस्कटॉप ऐप के बिल्ड अभी तक प्रकाशक प्रमाणपत्र से हस्ताक्षरित नहीं किए गए हैं।

  • विंडोज़। जब कोई व्यक्ति डाउनलोड किया गया .exe या .msi खोलता है, तो Microsoft Defender SmartScreen बताता है कि विंडोज़ ने कंप्यूटर की रक्षा की है और एक अज्ञात प्रकाशक का नाम लेता है। वे अधिक जानकारी चुनते हैं, फिर फिर भी चलाएँ। SmartScreen उन फ़ाइलों की जाँच करता है जो लोग डाउनलोड के बाद खोलते हैं, इसलिए जब आप ऐप को SCCM, Intune या Group Policy के माध्यम से डिप्लॉय करते हैं, तो लोग इस चेतावनी को नहीं देखते हैं। यदि आपके कंप्यूटर केवल अनुमोदित प्रकाशकों से सॉफ्टवेयर चलाते हैं (AppLocker या App Control for Business नियम), तो ऐप को उसके इंस्टॉलेशन पथ या फ़ाइल हैश द्वारा अनुमति दें।
  • macOS। ऐप ad hoc हस्ताक्षरित है, लेकिन Apple द्वारा notarised नहीं किया गया है। पहली बार जब कोई व्यक्ति डाउनलोड की गई कॉपी खोलता है, तो macOS बताता है कि वह ऐप में मालवेयर की अनुपस्थिति की पुष्टि नहीं कर सकता, और इसे नहीं खोलता है। macOS 15 और बाद की संस्करणों में, वे सिस्टम सेटिंग्स › गोपनीयता और सुरक्षा खोलते हैं और फिर भी खोलें चुनते हैं। पिछले संस्करणों में, वे ऐप पर Control-क्लिक करते हैं और खोलें चुनते हैं। Gatekeeper केवल उन फ़ाइलों की जाँच करता है जिन्हें डाउनलोड किया गया है (quarantine गुणधर्म के साथ): जब आप अपना इंस्टॉलेशन टूल से ऐप इंस्टॉल करते हैं, तो अपने इंस्टॉलेशन स्क्रिप्ट में चिह्न को हटा दें, xattr -dr com.apple.quarantine /Applications/Antimatter.app के साथ।