تثبيت إضافات Chrome عبر سياسة المجموعة أو "master_preferences"

هذه المقالة لمشرفي تقنية المعلومات الذين يريدون فرض تثبيت إضافات Chrome على الأجهزة التي تديرها الشركة والتي تعمل بنظام التشغيل Windows عبر سياسات مستخدم نظام التشغيل والجهاز.

إضافات Google Chrome هي عبارة عن تطبيقات برمجية صغيرة يمكنها تعديل وظائف Google Chrome وتحسينها.

يمكنك تنزيل إضافات Google Chrome من معرض الإضافات. وكبديل لذلك، يمكنك الاطلاع على إضافات Google Chrome لمعرفة كيفية إنشاء إضافاتك الخاصة.

يمكن فرض تثبيت إحدى الإضافات بإحدى الطريقتين التاليتين: عبر سياسة المجموعة أو عبر master_preferences.

فرض التثبيت عبر سياسة المجموعة

إن استخدام السياسة لنشر إحدى الإضافات أو تطبيق ويب في Chrome هو أسهل الطرق وأكثرها قابلية للتطور. وهذه هي الطريقة الموصى بها لنشر الإضافات، نظرًا لأنها لا تتطلب وجود ملف CRX على الجهاز. ويجب أن تكون متاحة بسهولة على عنوان URL المقدم.

لاستخدام هذه الطريقة، عيِّن السياسة على "فرض تثبيت" الإضافة، كما هو موضح هنا.

فرض التثبيت عبر master_preferences

تتم إضافة الإضافات التي تم فرض تثبيتها إلى ملف master_preferences الموجود بجوار Chrome.exe. وهذا يعني أن الملف CRX يمكن أن يتواجد في أي مكان، وأن وحدات البت لا يلزم أن تكون على جهاز المستخدم المستهدف ولا يلزم إدراجها في أي نص برمجي للتثبيت.

إذا لم تكن لديك معرفة بملف master_preferences أو كيفية عمله، يمكنك الاطلاع على تهيئة التفضيلات.

هناك بعض المتطلبات لاستخدام هذه الطريقة:

  • تعمل هذه الطريقة فقط إذا كان للمستخدم حق الدخول إلى معرض الإضافات العام أو عنوان URL آخر لمكان حفظ ملف CRX. ولذلك قد لا تعمل هذه الطريقة إذا كان المستخدم يعمل خلف جدار ناري عام أو خادم وكيل يعمل على تقييد الدخول إلى المعرض.

  • تعمل هذه الطريقة بشكل عام مع عمليات التثبيت الجديدة فقط. ويسبب استخدامها على التثبيت الحالي أمرًا مرهقًا كما يتطلب العديد من خطوات التنظيف.

لفرض تثبيت إضافة عبر master_preferences:

  1. ابحث عن ملف CRX الذي تريد تثبيته. نزّله من المعرض، أو أنشئه وأدرجه بنفسك.

  2. افتح ملف CRX باستخدام أحد برامج الضغط بتنسيق zip، ثم ابحث عن الملف manifest.json (وهو عبارة عن ملف نصي). يحتوي هذا الملف على العديد من القيم التي ستحتاج إليها.

  3. ويمكنك إعداد ملف master_preferences باستخدام القيم من ملف manifest.json.

وإليك مثالاً لـ master_preferences، الذي يفرض تثبيت إضافة سطح المكتب البعيد من Chrome:


{
 "homepage" : "http://dev.chromium.org",
 "homepage_is_newtabpage" : true,
 "extensions": {
    "settings": {
       "gbchcmhmhahfdphkhkmpfmihenigjmpp": {
          "location": 1,
          "manifest": {
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
              oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+
              X97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYx
              saPVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Chrome Remote Desktop",
             "permissions": [ "tabs", "http://www.google.com/" ],
             "update_url": "http://clients2.google.com/service/update2/crx",
             "version": "0.0"
          },
          "path": "gbchcmhmhahfdphkhkmpfmihenigjmpp\\0.0",
          "state": 1
       }
    }
  }
}

وهذا شرح تفصيلي للسطور في ملف master_preferences هذا:

  • ضمن الإعدادات، تكون القيمة الأولى هي تجزئة الإضافة ("apflmjolhbonpkbkooiamcnenbmbjcbf"). وتحصل عليها من خلال إدراج ملف CRX، وهي أيضًا معرّف الإضافة في المعرض.
  • يجب أن تكون قيمة "location" دائمًا تساوي 1.
  • يجب أن يحتوي قسم "manifest" على "key"، و"name"، و"permissions"، و"update_url"، و"version". ويمكن الحصول عليها من البيان المتوفر في الإضافة.
  • تأتي قيمة "key" من الإضافة المُدرجة، تمامًا كالتجزئة. فإذا نظرت في ملف CRX تم فك ضغطه، فستجد "key" في الملف "manifest.json".
  • ويمكن أن تكون القيمة name أي شيء، بالرغم من أن الحصول على علامة مؤقتة(أي (Installing...)) سيساعد المستخدم على إدراك سبب استغراق إحدى الإضافات مزيدًا من الوقت للتحميل.
  • يجب أن تكون القيمة "permissions" هي ذاتها الموجودة في الأذونات في ملف CRX المتوفر في الإضافة عند "update_url"، وبخلاف ذلك سيتم عرض الكثير من التحذيرات للمستخدم ولن يتم تحميلها. لذلك، لا يمكنك تحديد مصفوفة الأذونات وتفريغها، في حين تتطلب الإضافة الحقيقية العديد من الأذونات، والتي تخفي امتيازًا متزايدًا.
  • والقيمة "update_url" هي عنوان URL الذي يوجد عليه ملف CRX. ويمكن الحصول عليها أيضًا من ملف manifest.json.
  • يجب أن تكون القيمة "version" دائمًا تساوي "0.0".
  • يجب أن تكون القيمة "path" دائمًا تجزئة الإضافة متبوعة بـ "‎\\0.0".
  • يجب أن تكون القيمة "state" تساوي 1 دائمًا.
  • إذا تم كسر أيٍ من هذه القواعد، فقد لا يتم تحميل الإضافة أو قد يتم عرض تحذير للمستخدم.

هام: إذا كانت الإضافة تشتمل على نصوص برمجية للمحتوى تحتاج إلى أذونات، فيجب إدراجها في الملف master_preferences كذلك. وإليك مثالاً على ذلك:


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {
          "location": 1,
          "manifest": {
              "content_scripts": [ {
                "all_frames": true,
                "js": [ "script.js" ],
                "matches": [ "http://*/*", "https://*/*" ],
                "run_at": "document_start"
              } ],
             "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5cK3ybDkh173plsjDX
             oqUzvsjFRMtbc5+a8HR6dxYBETeXQ7GOR5/xYnsY2R4smo5ly4yUK69iF7rnPNH+X
             97K7e7JFbuH5W/ZRc8YaIG66oJ9JwKZagSOZasSJPWNz4f1GdaHD1Z4KRucvOYxsa
             PVdwS2W3nbG6i3oQFaio+JQIDAQAB",
             "name": "Google Reader Notifier (Installing...)",
              ...
إذا كانت الإضافة تحتوي على نصوص برمجية للمحتويات تحتاج إلى أذونات / حقوق وصول، ولم تحدد ذلك هنا، فلن يتم تحميل الإضافة.

يمكنك تحميل عدة إضافات مسبقًا. فوضع "إضافة" جديدة لا يقل سهولة عن إضافة مجموعة أخرى تحت القيمة "settings":


{
 "extensions": {
    "settings": {
       "apflmjolhbonpkbkooiamcnenbmbjcbf": {  <-- extension one
          "location": 1,
          "manifest": {
              ...
          }
        },
       "oaiwevnmzvoinziufeuibyfnzwevmiiw": {  <-- extension two
         "location": 1,
         "manifest": {
           ...
       },
       ...
     }
   }
}

إذا كانت الإضافة تحتوي على أي أذونات تتطلب موافقة المستخدم، يلزمك أيضًا تضمين قسم granted_permissions:


{
  "extensions": {
    "settings": {
      "mihcahmgecmbnbcchbopgniflfhgnkff": {
        "location": 1,
        "manifest": {
          ...
        },
        "granted_permissions": {
          "api": [ "tabs" ],
          "explicit_host": [ "http://*.google.com/*", "https://*.google.com/" ],
          "scriptable_host": [ "http://example.com/" ]
        },
        ...
      },
      ...
    }
  }
}

في حالة عدم تضمين قسم granted_permissions، سيعطل Chrome الإضافة في الحال. يحتوي الحقل granted_permissions على الحقول الفرعية التالية:

  • يحتوي حقل "api" على أذونات واجهة برمجة التطبيقات في مفتاح البيان "permissions"
  • يحتوي حقل "explicit_host" على أي أذونات استضافة في مفتاح البيان "permissions"
  • يجب تعيين "scriptable_host" على أي مضيفات في النصوص البرمجية لمحتوى الإضافة

أسهل طريقة لإنشاء الحقل granted_permissions هي تثبيت الإضافة محليًا ثم نسخ granted_permissions للإضافة من ملف التفضيلات في الملف الشخصي في Chrome.

هل كانت هذه المقالة مفيدة؟
تسجيل الدخول إلى الحساب

يمكنك الحصول على مساعدة تتعلّق بالحساب عن طريق تسجيل الدخول باستخدام عنوان البريد الإلكتروني لحسابك على Apps for Work أو التعرّف على كيفية بدء الخطوات الأولى في Apps for Work.