Mozilla จะเริ่มยอมรับส่วนเสริมตามรายการ Chrome เวอร์ชันที่สาม

ในวันที่ 21 พฤศจิกายน ไดเรกทอรี AMO (addons.mozilla.org) จะเริ่มยอมรับและลงนามส่วนเสริมแบบดิจิทัลโดยใช้เวอร์ชัน 109 ของรายการ Chrome ส่วนเสริมเหล่านี้สามารถทดสอบได้ใน Firefox รุ่นต่อคืน ในรุ่นที่เสถียร การรองรับไฟล์ Manifest เวอร์ชัน 17 จะเปิดใช้งานใน Firefox 2023 ซึ่งมีกำหนดการในวันที่ 2023 มกราคม XNUMX การสนับสนุนสำหรับแถลงการณ์ฉบับที่สองจะยังคงอยู่ต่อไปในอนาคตอันใกล้ แต่ภายในสิ้นปี XNUMX หลังจากประเมินพลวัตของการถ่ายโอนส่วนเพิ่มเติมไปยังเวอร์ชันที่สามของแถลงการณ์ ความเป็นไปได้ที่จะเลิกสนับสนุนเวอร์ชันที่สองของแถลงการณ์ จะได้รับการพิจารณา.

รายการ Chrome กำหนดความสามารถและทรัพยากรที่มีให้กับส่วนขยายที่เขียนโดยใช้ WebExtensions API ตั้งแต่เวอร์ชัน 57 เป็นต้นไป Firefox ได้เปลี่ยนไปใช้ WebExtensions API โดยสมบูรณ์เพื่อพัฒนาส่วนเสริมและหยุดรองรับเทคโนโลยี XUL การเปลี่ยนไปใช้ WebExtensions ทำให้สามารถรวมการพัฒนาส่วนเสริมเข้ากับแพลตฟอร์ม Chrome, Opera, Safari และ Edge ได้ ทำให้การย้ายส่วนเสริมระหว่างเว็บเบราว์เซอร์ต่างๆ ง่ายขึ้น และทำให้สามารถใช้โหมดหลายกระบวนการของ การทำงาน (ส่วนเสริม WebExtensions สามารถดำเนินการในกระบวนการแยกกัน โดยแยกออกจากส่วนที่เหลือของเบราว์เซอร์) เพื่อรวมการพัฒนาส่วนเสริมเข้ากับเบราว์เซอร์อื่น Firefox จึงให้ความเข้ากันได้เกือบทั้งหมดกับรายการ Chrome เวอร์ชันที่สอง

ขณะนี้ Chrome อยู่ระหว่างดำเนินการเพื่อย้ายไฟล์ Manifest ไปใช้เวอร์ชัน 2024 และจะหยุดรองรับเวอร์ชัน XNUMX ในเดือนมกราคม XNUMX เป้าหมายหลักของการเปลี่ยนแปลงในเวอร์ชันใหม่คือการทำให้การสร้างส่วนเสริมที่ปลอดภัยและมีประสิทธิภาพสูงได้ง่ายขึ้น และทำให้การสร้างส่วนเสริมที่ไม่ปลอดภัยและช้าทำได้ยากขึ้น เนื่องจากเวอร์ชันที่สามของไฟล์ Manifest กำลังถูกโจมตี และจะทำให้การบล็อกเนื้อหาและส่วนเสริมด้านความปลอดภัยจำนวนมากเสียหาย Mozilla จึงตัดสินใจเลิกใช้ความเข้ากันได้อย่างสมบูรณ์กับไฟล์ Manifest ใน Firefox และใช้การเปลี่ยนแปลงบางอย่างที่แตกต่างออกไป

ความไม่พอใจหลักต่อแถลงการณ์เวอร์ชันที่สามนั้นเกี่ยวข้องกับการแปลเป็นโหมดอ่านอย่างเดียวของ webRequest API ซึ่งทำให้สามารถเชื่อมต่อตัวจัดการของคุณเองที่สามารถเข้าถึงคำขอเครือข่ายได้อย่างเต็มที่และสามารถแก้ไขการรับส่งข้อมูลได้ทันที API นี้ใช้ใน uBlock Origin และส่วนเสริมอื่น ๆ อีกมากมายเพื่อบล็อกเนื้อหาที่ไม่เหมาะสมและให้ความปลอดภัย แทนที่จะเป็น webRequest API รายการเวอร์ชันที่สามเสนอ declarativeNetRequest API ที่มีขีดความสามารถจำกัด ซึ่งให้การเข้าถึงกลไกการกรองในตัวที่ประมวลผลกฎการบล็อกอย่างอิสระ ไม่อนุญาตให้ใช้อัลกอริธึมการกรองของตัวเอง และไม่ อนุญาตให้ตั้งกฎที่ซับซ้อนซึ่งทับซ้อนกันขึ้นอยู่กับเงื่อนไข

ในบรรดาคุณสมบัติของการใช้รายการใหม่ใน Firefox:

  • มีการเพิ่ม API การกรองเนื้อหาที่ประกาศใหม่แล้ว แต่ไม่เหมือนกับ Chrome ตรงที่การสนับสนุนโหมดการบล็อกเก่าของ webRequest API ไม่ได้ถูกยกเลิก
  • ไฟล์ Manifest กำหนดการแทนที่เพจพื้นหลังด้วยตัวเลือก Service Workers ซึ่งทำงานเป็นกระบวนการเบื้องหลัง (Background Service Workers) เพื่อให้มั่นใจถึงความเข้ากันได้ในอนาคต Firefox จะสนับสนุน Service Workers แต่ในปัจจุบันจะถูกแทนที่ด้วยกลไกหน้ากิจกรรมใหม่ ซึ่งเป็นที่คุ้นเคยสำหรับนักพัฒนาเว็บมากกว่า ไม่จำเป็นต้องปรับปรุงส่วนเสริมใหม่ทั้งหมด และกำจัดข้อจำกัดที่เกี่ยวข้องกับ การใช้พนักงานบริการ หน้ากิจกรรมจะอนุญาตให้เพิ่มหน้าพื้นหลังที่มีอยู่เพื่อให้สอดคล้องกับข้อกำหนดของรายการที่สาม ขณะเดียวกันก็รักษาการเข้าถึงความสามารถทั้งหมดที่จำเป็นในการทำงานกับ DOM
  • รูปแบบคำขออนุญาตแบบละเอียดใหม่ - ส่วนเสริมจะไม่สามารถเปิดใช้งานได้สำหรับทุกหน้าในคราวเดียว (สิทธิ์ "all_urls" ถูกลบออก) แต่จะใช้งานได้เฉพาะในบริบทของแท็บที่ใช้งานอยู่เท่านั้น เช่น ผู้ใช้จะต้องยืนยันว่าส่วนเสริมใช้งานได้กับแต่ละไซต์ ใน Firefox คำขอเข้าถึงข้อมูลไซต์ทั้งหมดจะถือเป็นทางเลือก และการตัดสินใจขั้นสุดท้ายในการให้สิทธิ์การเข้าถึงจะกระทำโดยผู้ใช้ ซึ่งจะสามารถเลือกได้ว่าส่วนเสริมใดที่จะให้สิทธิ์การเข้าถึงข้อมูลของตนบนเว็บไซต์ใดไซต์หนึ่งโดยเฉพาะ

    ในการจัดการการอนุญาต ปุ่ม "Unified Extensions" ใหม่ได้ถูกเพิ่มเข้าไปในอินเทอร์เฟซ ซึ่งสามารถทดสอบได้แล้วใน Firefox เวอร์ชันกลางคืน ปุ่มนี้ให้วิธีการควบคุมโดยตรงว่าไซต์ใดที่ส่วนเสริมแต่ละรายการมีสิทธิ์เข้าถึง ผู้ใช้สามารถให้สิทธิ์และเพิกถอนสิทธิ์การเข้าถึงของส่วนเสริมไปยังไซต์ใดก็ได้ การจัดการสิทธิ์ใช้กับส่วนเสริมตามเวอร์ชันที่สามของไฟล์ Manifest เท่านั้น สำหรับส่วนเสริมตามเวอร์ชันที่สองของรายการ จะไม่มีการดำเนินการควบคุมการเข้าถึงไซต์แบบละเอียด

    Mozilla จะเริ่มยอมรับส่วนเสริมตามรายการ Chrome เวอร์ชันที่สาม
  • การเปลี่ยนแปลงในการจัดการคำขอข้ามที่มา - ตามรายการใหม่ สคริปต์การประมวลผลเนื้อหาจะต้องอยู่ภายใต้ข้อจำกัดการอนุญาตเดียวกันกับหน้าหลักที่ฝังสคริปต์เหล่านี้ไว้ (ตัวอย่างเช่น หากเพจไม่สามารถเข้าถึง API ตำแหน่ง ดังนั้นส่วนเสริมสคริปต์จะไม่ได้รับการเข้าถึงนี้เช่นกัน) การเปลี่ยนแปลงนี้ถูกนำไปใช้อย่างสมบูรณ์ใน Firefox
  • API ตามสัญญา Firefox รองรับ API นี้ และสำหรับเวอร์ชันที่สามของไฟล์ Manifest จะย้ายไปยังเนมสเปซ “chrome.*”
  • ห้ามเรียกใช้โค้ดที่ดาวน์โหลดจากเซิร์ฟเวอร์ภายนอก (เรากำลังพูดถึงสถานการณ์เมื่อโปรแกรมเสริมโหลดและรันโค้ดภายนอก) Firefox ใช้การบล็อกโค้ดภายนอก และนักพัฒนา Mozilla ได้เพิ่มเทคนิคการติดตามการดาวน์โหลดโค้ดเพิ่มเติมที่นำเสนอในเวอร์ชันที่สามของไฟล์ Manifest สำหรับสคริปต์การประมวลผลเนื้อหา จะมีการกำหนดนโยบายการจำกัดการเข้าถึงเนื้อหา (CSP, นโยบายความปลอดภัยของเนื้อหา) แยกต่างหาก

ที่มา: opennet.ru

เพิ่มความคิดเห็น