متجر ملحقات Chrome للمؤسسات
يعد هذا إثباتًا لمفهوم متجر Chrome Extension Store الخاص لاستخدام المؤسسات.
تم اختبار ذلك فقط باستخدام Chromium على نظام التشغيل Linux ، ولكن يجب تطبيق نفس المبادئ على نظام التشغيل Windows للأجهزة المرتبطة بمجال Active Directory.
ملاحظة: "بالنسبة لمثيلات Windows غير المرتبطة بنطاق Microsoft® Active Directory®، يقتصر التثبيت الإجباري على التطبيقات والإضافات المدرجة في سوق Chrome الإلكتروني."
قم بتنزيل المشروع بأكمله إلى مجلد محلي.
قم بتشغيل npm install
لإعداد الحزم.
قم بتشغيل sudo npm run first-run
لإنشاء ملف السياسة في /etc/chromium/policies/managed/
(قد تحتاج إلى تعديل make/SETTINGS.js
إذا كان مثيل Chromium الخاص بك يستخدم مجلدًا مختلفًا)
قم بتشغيل npm start
لبناء الامتدادات وتشغيل خادم ويب بسيط، يخدم المجلد dist/
.
سيؤدي تشغيل sudo npm run first-run
إلى إنشاء ملف سياسة فارغ على /etc/chromium/policies/managed/crx-store-policy.json
مع الأذونات 777 (القراءة/الكتابة لجميع المستخدمين).
سيتم ملء هذا الملف بواسطة npm start
أدناه.
تشغيل npm start
سيتم النسخ من make/crx-store-policy.json
إلى /etc/chromium/policies/managed/crx-store-policy.json
تحتوي على السياسات التالية:
إذا لم ينجح الأمر، فقد تحتاج إلى تعديل make/SETTINGS.js
لتغيير المجلد الهدف إلى أحد المجلدات التالية:
لن يقوم Chrome بتثبيت الإضافات إلا إذا كانت:
بالإضافة إلى ذلك، إذا تم تعيين سياسة ExtensionInstallBlocklist على "*":
(تشير الوثائق الأقدم إلى أسماء السياسات ExtensionInstallBlacklist وExtensionInstallWhitelist.)
سيؤدي تشغيل npm start
إلى إنشاء نموذجين من الامتدادات في src/extensions/
ونسخهما إلى dist/
سيؤدي تشغيل npm start
إلى استضافة خادم ويب خفيف الوزن على المنفذ 5000، والذي يخدم الملفات من dist/
:
يمكن فتح الوظائف الإضافية عن طريق تشغيل Chrome باستخدام علامات سطر الأوامر الخاصة. لكن هذا ليس سيناريو واقعيًا بالنسبة لمعظم مستخدمي المؤسسات.
لإجراء تغييرات على نماذج الامتدادات في src/extensions/
:
manifest.json
npm start
في إعادة إنشاء ملفات Binary.crx الكود الموجود في make/
يستخدم وحدات ES، وليس CommonJS.
لا يحتوي Linux على سجل، لذا يستخدم هذا المشروع ملف سياسة بدلاً من ذلك.
بالنسبة لنظام التشغيل Windows، سيتعين عليك استخدام سياسة المجموعة الخاصة بـ Active Directory.
التعليمات الخاصة بذلك متاحة على نطاق واسع عبر الإنترنت.
لفرض تثبيت ملحق، قم بإنشاء مفتاح التسجيل هذا والقيمة الفرعية:
لتمكين مخزن الملحقات المخصص، قم بإنشاء مفتاح التسجيل والقيمة الفرعية:
لتمكين أدوات المطورين على الإضافات التي تم فرض تثبيتها (قم بإزالة هذا في الإنتاج):
لتمكين API Enterprise.hardwarePlatform:
http://gromnitsky.blogspot.com/2019/04/crx3.html
(من قبل مؤلف crx3-utils)
https://blog.janestreet.com/chrome-extensions-finding-the-missing-proof/
انظر هنا: https://sites.google.com/site/lock5stat/offline-use/installing-for-all-users
يمكن للإضافة التي تم فرض تثبيتها الوصول إلى بعض واجهات برمجة التطبيقات المقيدة الإضافية. من الناحية العملية، واجهة برمجة التطبيقات الإضافية الوحيدة التي لها أي اهتمام هي enterprise.hardwarePlatform
.
مشتق من https://github.com/chromium/chromium/blob/master/chrome/common/extensions/api/_permission_features.json
يأتي Chrome مزودًا بمجموعة واسعة من واجهات برمجة تطبيقات الإضافات. يقتصر الكثير منها على نظام التشغيل ChromeOS و/أو على ملحقات Google و/أو على المكونات فقط. (المكونات هي طريقة مختلفة لتوسيع وظائف المتصفح؛ وهي مخصصة لمطوري Chrome فقط. راجع chrome://components لمزيد من المعلومات.)
فيما يلي جميع واجهات برمجة التطبيقات المعروفة وما إذا كانت متوفرة في نظام التشغيل Windows:
إذن | متوفر في ملحق Enterprise على نظام التشغيل Windows |
---|---|
AccessibilityFeatures.modify | نعم |
إمكانية الوصولميزات.قراءة | نعم |
إمكانية الوصولخاص | لا |
activeTab | نعم |
ActivityLogPrivate | لا |
autofillAssistantPrivate | لا |
الملء التلقائيPrivate | لا |
com.autotestPrivate | لا |
خلفية | نعم |
الإشارات المرجعية | نعم |
brailleDisplayPrivate | لا |
browserData | نعم |
CertifiedProvider | لا |
chromePrivate | لا |
chromeosInfoPrivate | لا |
قراءة الحافظة | نعم |
الحافظةWrite | نعم |
com.commandLinePrivate | لا |
الأوامر.إمكانية الوصول | لا |
إعدادات المحتوى | نعم |
contextMenus | نعم |
ملفات تعريف الارتباط | نعم |
CrashReportPrivate | لا |
cryptotokenPrivate | لا |
مصحح الأخطاء | نعم |
DeveloperPrivate | لا |
أدوات التطوير | نعم |
declarativeContent | نعم |
DesktopCapture | نعم |
DesktopCapturePrivate | نعم، ولكن عديمة الفائدة |
documentScan | لا |
التنزيلات | نعم |
downloads.open | نعم |
downloads.shelf | نعم |
Enterprise.deviceAttributes | لا |
Enterprise.networkingAttributes | لا |
Enterprise.hardwarePlatform | نعم |
Enterprise.platformKeys | لا |
Enterprise.platformKeysPrivate | لا |
Enterprise.reportingPrivate | لا |
تجريبي | نعم، ولكن عديمة الفائدة |
fileBrowserHandler | لا |
fileManagerPrivate | لا |
fileSystemProvider | لا |
إعدادات الخط | نعم |
gcm | نعم |
تحديد الموقع الجغرافي | نعم |
تاريخ | نعم |
هوية | نعم |
الهوية. البريد الإلكتروني | نعم |
الهوية الخاصة | لا |
com.idltest | نعم، ولكن عديمة الفائدة |
imageWriterPrivate | لا |
مدخل | نعم (ليس ماك) |
inputMethodPrivate | لا |
إعدادات اللغةخاص | لا |
LauncherSearchProvider | لا |
lockWindowFullscreenPrivate | لا |
تسجيل الدخول | لا |
تسجيل الدخولشاشة التخزين | لا |
تسجيل الدخولScreenUi | لا |
حالة تسجيل الدخول | لا |
كاميرا ويب خاصة | لا |
network.castPrivate | لا |
إدارة | نعم |
mediaPlayerPrivate | لا |
mediaRouterPrivate | لا |
com.mdns | لا |
إشعارات | نعم |
echoPrivate | لا |
pageCapture | نعم |
كلمات المرورPrivate | لا |
com.platformKeys | لا |
البرنامج المساعد | نعم - ما هذا؟ |
الطباعة | لا |
printMetrics | لا |
خصوصية | نعم |
العمليات | لا |
الوكيل | نعم |
ResourcesPrivate | لا |
rtcPrivate | لا |
SafeBrowsingPrivate | لا |
البرمجة النصية | نعم (م3) |
يبحث | نعم |
جلسات | نعم |
إعدادات خاصة | لا |
SignInDevices | لا (ربما في المستقبل) |
systemPrivate | لا |
tabGroups | نعم (م3) |
علامات التبويب | نعم |
tabCapture | نعم |
TerminalPrivate | لا |
com.topSites | نعم |
transientBackground | لا (ربما في المستقبل) |
تحويل النص إلى كلام | نعم |
ttsEngine | نعم |
usersPrivate | لا |
ورق جدران | لا |
خلفية خاصة | لا |
webNavigation | نعم |
webrtcAudioPrivate | لا |
webrtcDesktopCapturePrivate | لا |
webrtcLoggingPrivate | لا |
webrtcLoggingPrivate.audioDebug | لا |
webstorePrivate | لا |
نهاية الملف.