غريسمونكي

Greasemonkey هو مدير نصوص برمجية متاح كإضافة لمتصفح موزيلا فايرفوكس . وهو يمكّن المستخدمين من تثبيت نصوص برمجية تُجري تغييرات فورية على محتوى صفحات الويب بعد أو قبل تحميل الصفحة في المتصفح (المعروف أيضًا باسم التصفح المعزز ).

يتم تنفيذ التغييرات التي يتم إجراؤها على صفحات الويب في كل مرة يتم فيها عرض الصفحة، مما يجعلها دائمة بشكل فعال بالنسبة للمستخدم الذي يقوم بتشغيل البرنامج النصي.

يمكن استخدام Greasemonkey لتخصيص مظهر الصفحة، وإضافة وظائف جديدة إلى صفحات الويب (على سبيل المثال، تضمين مقارنات الأسعار داخل مواقع التسوق)، وإصلاح أخطاء العرض، ودمج البيانات من صفحات ويب متعددة، والعديد من الأغراض الأخرى.

تاريخ

بدأ مشروع Greasemonkey في 28 نوفمبر 2004، من تأليف آرون بودمان. [ 5 ] [ 6 ] [ 7 ] استلهم بودمان فكرة Greasemonkey بعد الاطلاع على إضافة لمتصفح Firefox مصممة لتحسين واجهة موقع AllMusic ، [ 8 ] من تأليف أدريان هولوفاتي ، الذي أصبح لاحقًا مطورًا لبرامج المستخدم. بحلول مايو 2005، تم توزيع ما يقارب 60 برنامجًا عامًا و115 برنامجًا خاصًا بمواقع محددة لـ Greasemonkey. [ 8 ] في يوليو 2005، اكتشف مارك بيلغريم ثغرات أمنية خطيرة في Greasemonkey، [ 9 ] [ 10 ] وتم إصلاحها في الإصدار 3.5 من Greasemonkey. [ 11 ] خلال هذه الفترة، تم أيضًا تطوير مُجمِّع Greasemonkey لتحويل برنامج المستخدم إلى إضافة مستقلة لمتصفح Firefox. [ 12 ] في البداية، واجه Greasemonkey شكاوى من الناشرين بسبب قدرته على حجب الإعلانات. [ 13 ] ومع ذلك، فقد حول هذا النقد تركيزه إلى إضافات أخرى بدءًا من إصدار Adblock Plus في عام 2006 .

Userscripts.org

استجابةً للعدد المتزايد من البرامج النصية، أسس بريت سيلفيتيل وأعضاء آخرون من مجتمع Greasemonkey موقع userscripts.org في أواخر عام 2005. تم نشر برمجيات userscripts.org كمصدر مفتوح في عام 2007، لكن الموقع ابتعد لاحقًا عن قاعدة البيانات هذه. [ 14 ] وباعتباره المستودع الرئيسي للبرامج النصية المدرج على الموقع الرسمي لـ Greasemonkey، جمع موقع userscripts.org آلاف البرامج النصية سنويًا.

في عام ٢٠١٠، نشر جيسي أندروز، آخر مدير معروف للموقع، أن الموقع في وضع الصيانة لضيق الوقت، وطلب متطوعًا جديدًا لإدارته. [ ١٥ ] ومع ذلك، ظلّ المدير الوحيد للموقع حتى بدأ نقاش حول عدد مرات التثبيت في ١ أبريل ٢٠١٣. [ ١٦ ] قبل ذلك، كان عدد مرات تثبيت العديد من "البرامج النصية الأكثر شيوعًا" كما هو مُدرج على الموقع صفرًا. خلال العام التالي، ازداد انتشار البرامج النصية المُزعجة، وزاد وقت تعطل الخادم، وبقي خلل عدد مرات التثبيت قائمًا. [ ١٧ ] مع انقطاع تواصل أندروز، وصف مُطوّرو البرامج النصية الموقع بأنه مُهمل، وقام موقع Greasemonkey الرسمي بإزالة رابط صفحته الرئيسية. [ ١٨ ] [ ١٩ ] ردًا على ذلك، بدأ مُطوّرو البرامج النصية ومطورون آخرون العمل على نسخة مُعدّلة من الموقع "openuserjs.org"، [ ٢٠ ] [ ٢١ ] ولاحقًا greasyfork.org، [ ٢٢ ] كبديل فوري. [ ٢٣ ]

في مايو 2014، أصبح موقع userscripts.org غير متاح على المنفذ 80، مما دفع المستخدمين إلى الوصول إليه عبر المنفذ 8080 بدلاً من ذلك. [ 17 ] وفي أغسطس 2014، تم إغلاق الموقع نهائياً. وتم نسخ معظم نصوصه البرمجية احتياطياً إلى النسخة الثابتة userscripts-mirror.org حيث يمكن العثور عليها الآن. [ 17 ]

التفاصيل الفنية

تُكتب نصوص Greasemonkey البرمجية بلغة JavaScript ، وتُستخدم لمعالجة محتوى صفحات الويب عبر واجهة نموذج كائن المستند (DOM ). تُصمم هذه النصوص عادةً لتكون خاصة بصفحة معينة أو خاصة بنطاق معين (تُطبق على جميع الصفحات ضمن نطاق محدد)، ولكن يمكن أيضًا إضافة علامات إليها لتطبيقها على جميع النطاقات لتحسين تجربة المستخدم على مستوى المتصفح. يستطيع مستخدمو Greasemonkey كتابة النصوص البرمجية أو تنزيلها وحفظها في مكتبتهم الشخصية. عند زيارة موقع ويب يحتوي على نص برمجي مُطابق في مكتبتهم، يقوم Greasemonkey بتشغيل النص البرمجي ذي الصلة.

تستطيع سكربتات Greasemonkey تعديل صفحات الويب بأي طريقة يسمح بها JavaScript، مع مراعاة بعض القيود الأمنية الخاصة بـ Greasemonkey. كما يمكنها الوصول إلى صفحات وخدمات ويب أخرى عبر طلب XMLHTTP غير مقيد بنطاق معين ، مما يسمح بدمج المحتوى الخارجي مع محتوى الصفحة الأصلي.

تُسمى البرامج النصية باسم somename.user.js ، ويُتيح Greasemonkey تثبيت أي برنامج نصي من هذا النوع عند طلب عنوان URL ينتهي بهذا الامتداد. تحتوي برامج Greasemonkey النصية على بيانات وصفية تُحدد اسم البرنامج النصي، ووصفه، والموارد التي يتطلبها، وعنوان URL لمساحة الاسم المستخدمة لتمييز البرامج النصية ذات الأسماء المتطابقة، وأنماط عناوين URL التي يُراد استدعاء البرنامج النصي من أجلها أو عدم استدعائه.

كتابة سكربت Greasemonkey تُشبه كتابة جافا سكريبت لصفحة ويب، مع بعض الميزات الإضافية مثل طلبات XMLHttpRequests عبر المواقع . بالمقارنة مع كتابة إضافة كاملة لمتصفح فايرفوكس، تُعدّ كتابة سكربتات المستخدم خطوة بسيطة في التعقيد مقارنةً ببرمجة الويب الأساسية. مع ذلك، فإن سكربتات Greasemonkey محدودة بسبب القيود الأمنية التي تفرضها XPCNativeWrappers من موزيلا [ 24 ]. على سبيل المثال، لا تملك سكربتات Greasemonkey صلاحية الوصول إلى العديد من مكونات فايرفوكس، مثل مدير التنزيل، وعمليات الإدخال/الإخراج ، أو أشرطة الأدوات الرئيسية. إضافةً إلى ذلك، تعمل سكربتات Greasemonkey لكل نسخة من صفحة الويب المطابقة. لهذا السبب، يصعب إدارة قوائم العناصر على مستوى الموقع. مع ذلك، يستخدم كتّاب السكربتات ملفات تعريف الارتباط، بل ويُقدّم Greasemonkey واجهات برمجة تطبيقات مثل GM_getValue وGM_setValue للتغلب على هذه المشكلة.

البرامج النصية للمستخدم

تتطلب خوادم استضافة الملفات الخاصة بـ Greasemonkey أن تنتهي عناوين URL الخاصة بالبرامج النصية بـ .org/scripts .user.jsوليس بنوع MIME مثل .org/scripts. سيتم text/htmlدعم HTTPS من خلال مدقق التحديثات المدمج في Greasemonkey. اعتبارًا من يوليو 2019، يُدرج مشروع Greasemonkey ثلاثة مواقع استضافة موصى بها لبرامج المستخدمين النصية: [ 25 ]

  • جيست ، خدمة مشاركة ملفات نصية تديرها منصة جيت هاب، حيث تُستضاف الملفات البسيطة. يمكن لصق الملفات في نموذج ويب وحفظها. يُستخدم بروتوكول HTTPS افتراضيًا. قد تتبع الملفات نمط التسمية الذي يتضمن لاحقة ".user.js" في عنوان URL، والتي تُستخدم كرابط تثبيت.
  • Greasy Fork، وهو موقع أنشأه القائم على صيانة موقع userstyles.org. [ 22 ]
  • OpenUserJS.org، وهو موقع بدأ كنسخة معدلة من مستودع البرامج النصية المتوقف userscripts.org. [ 20 ] [ 21 ]

التوافق

يتوفر Greasemonkey لمتصفحات Firefox و Flock و GNOME Web (المعروف سابقًا باسم Epiphany). يُعدّ امتداد Greasemonkey للويب جزءًا من حزمة امتدادات الويب . مع ذلك، لا يتوافق هذا الامتداد تمامًا مع الإصدارات السابقة (2.15.1)، نظرًا لعدم دعم بعض وظائف واجهة برمجة تطبيقات Greasemonkey ( مثل GM_getValue ) . كما توجد إصدارات مخصصة لمتصفحات SeaMonkey و Songbird و Pale Moon و qutebrowser و Falkon .

انظر أيضاً

مراجع

  1. بوتس (23 أغسطس 2009). "غريس سبوت: أوتي" . غريس سبوت .
  2. "مخطط شبكة Greasemonkey" . GitHub .
  3. بودمان، آرون (6 ديسمبر 2004). "يسعدني أن أعلن" . مؤرشف من الأصل في 12 ديسمبر 2004. تم الاطلاع عليه في 29 مايو 2026 .
  4. "mozdev.org - greasemonkey: index" . 28 يناير 2005. مؤرشف من الأصل في 28 يناير 2005. تم الاطلاع عليه في 29 مايو 2026 .
  5. "معلومات مشروع Greasemonkey" . مؤرشف من الأصل بتاريخ 25 مارس 2012. تم الاطلاع عليه بتاريخ 31 أغسطس 2011 .
  6. بيلغريم، مارك (2005). حيل غريسمونكي . أورايلي. ISBN 978-0-596-55357-9.
  7. بودمان، آرون (1 فبراير 2010). "40,000 إضافة جديدة!" . مدونة كروميوم . تم الاطلاع عليه في 5 مارس 2023 .
  8. 1 2 سينجل، رايان (17 مايو 2005). "هل يتلاعب مستخدمو فايرفوكس بالإنترنت؟" . مجلة وايرد.
  9. " [ Greasemonkey ] Greasemonkey لتأمين البيانات عبر الشبكات/المواقع غير الآمنة" . مؤرشف من الأصل في 3 مارس 2020. تم الاطلاع عليه في 24 فبراير 2021 .
  10. "الأمن [ LWN.net ] " .
  11. "mozdev.org – : /pipermail/greasemonkey/2005-July/004379" . mozdev.org . مؤرشف من الأصل بتاريخ 29 يوليو 2005. 
  12. نيفي (8 مايو 2005). "سيُحدث برنامج Greasemonkey ثورة في نماذج الأعمال (وكذلك في عقلك)" . مؤرشف من الأصل في 3 يونيو 2006. تم الاطلاع عليه في 22 يوليو 2010 .
  13. فيستا، بول (24 مارس 2005). "إضافة لمتصفح فايرفوكس تتيح للمستخدمين تعديل المواقع، ولكن هل هي آمنة؟" . سي نت.
  14. سيلفيتيل، بريت (3 يناير 2007). "Userscripts.org... مفتوح المصدر!" . مؤرشف من الأصل في 17 يناير 2007. تم الاطلاع عليه في 21 مايو 2014 .
  15. "نقل الراية إلى موقع userscripts.org" . هاكر نيوز . 2010. تم الاطلاع عليه بتاريخ 24 أكتوبر 2014 .
  16. "إصلاح عدد عمليات التثبيت" . 1 أبريل 2013. مؤرشف من الأصل في 3 نوفمبر 2013. تم الاطلاع عليه في 21 مايو 2014 .
  17. 1 2 3 برينكمان، مارتن (9 مايو 2014). "هل توقف موقع Userscripts.org نهائيًا؟ إليك بعض البدائل" . تم الاطلاع عليه بتاريخ 21 مايو 2014 .
  18. "استضافة البرامج النصية للمستخدم" . 16 مايو 2014. تم الاطلاع عليه بتاريخ 21 مايو 2014 .
  19. "يرجى تغيير موقع سكربت المستخدم الرسمي" . قائمة بريدية ( graesmonkey-dev ). 21 أبريل 2014. تم الاطلاع عليه في 21 مايو 2014 .
  20. 1 2 "OpenUserJS" . openuserjs.org .
  21. 1 2 "إصلاح عدد عمليات التثبيت - الصفحة 6" . 1 أبريل 2013. مؤرشف من الأصل في 3 نوفمبر 2013. تم الاطلاع عليه في 5 نوفمبر 2015 .
  22. 1 2 "Greasy Fork" . greasyfork.org .
  23. بارنابي، جيسون (19 فبراير 2014). "تقديم Greasy Fork - موقع نصوص المستخدم" . تم الاسترجاع في 5 نوفمبر 2015 .
  24. "XPCNativeWrapper – MDC Docs" . مؤرشف من الأصل بتاريخ 28 يونيو 2011. تم الاطلاع عليه بتاريخ 16 مارس 2011 .
  25. "استضافة البرامج النصية للمستخدم - ويكي GreaseSpot" . wiki.greasespot.net . تم الاطلاع عليه بتاريخ 22 يوليو 2019 .
  26. "Greasemonkey" . mozdev.org . mozdev . مؤرشف من الأصل في 23 أبريل 2015. تم الاطلاع عليه في 5 مايو 2009 .
  27. "Greasemonkey Port for SeaMonkey – About – OpenUserJS" . openuserjs.org .
  28. ianloic. "Greasemonkey" . Songbird . مؤرشف من الأصل في 2 يونيو 2008. تم الاسترجاع في 5 مايو 2009 .
  29. ^ "janekptacijarabaci/greasemonkey" . جيثب . تم الاسترجاع في 23 مارس 2020 .
  30. "تحسينات لدعم GreaseMonkey · المشكلة رقم 3238 · qutebrowser/qutebrowser" . GitHub . تم الاطلاع عليه بتاريخ 19 مايو 2020 .

شعار ويكيميديا ​​كومنزالوسائط المتعلقة بـ Greasemonkey على ويكيميديا ​​كومنز