במהלך השנה האחרונה, השתתפנו באופן פעיל בדיונים עם הספקים שמאחורי כמה תוספים לחסימת תוכן, בנוגע לדרכים לשיפור פלטפורמת התוספים של MV3. על סמך הדיונים האלה, שרבים מהם התקיימו בקבוצת הקהילה של WebExtensions (WECG) בשיתוף עם דפדפנים אחרים, הצלחנו להשיק שיפורים משמעותיים.
עוד כללי סטטוס
בדרך כלל, קבוצות של כללי סינון מקובצות ברשימות. לדוגמה, רשימה כללית יותר עשויה להכיל כללים שחלים על כל המשתמשים, בעוד שרשימה ספציפית יותר עשויה להסתיר תוכן ספציפי למיקום שרק חלק מהמשתמשים רוצים לחסום. עד לאחרונה, כל תוסף יכול היה להציע למשתמשים לבחור מתוך 50 רשימות (או 'קבוצות של כללי סטטי'), ו-10 מהן יכלו לפעול בו-זמנית. במהלך הדיונים עם הקהילה, מפתחי התוספים סיפקו ראיות משכנעות שהראו שהמגבלה הזו נמוכה מדי לתרחישים לדוגמה מסוימים. אחרי שבדקנו את הביצועים של ה-API ב-Chrome בהתאם לדיון הזה, אנחנו מאפשרים עכשיו להפעיל עד 50 מודולים בו-זמנית. (חשוב לציין שהמספר הזה גבוה בהרבה מהמגבלה של 20 בקשות שאפשר לשלוח ב-WECG). בנוסף, אנחנו מאפשרים להשתמש ב-100 כללי מדיניות בסך הכול. התכונה הזו מופיעה ב-Chrome 120, והגבלות הרחבה נתמכות גם ב-Firefox וגם ב-Safari, שסיפקו משוב מוקדם לגבי ההצעה הזו.
כללים דינמיים נוספים
רוב הכללים הם 'סטטיים' ונשלחים עם כל עדכון של התוסף. עם זאת, כדי לתמוך בעדכונים תכופים יותר ובכללים מוגדרים על ידי משתמשים, תוספים יכולים להוסיף כללים באופן דינמי גם בלי שהמפתחים שלהם יצטרכו להעלות גרסה חדשה של התוסף לחנות האינטרנט של Chrome.
כשתוסף יכול לשנות בקשות באופן דינמי בדרכים שלא נבדקו במהלך הבדיקה של חנות האינטרנט של Chrome, המשתמשים נחשפים לסיכונים של פישינג או גניבת נתונים. לדוגמה, אפשר להשתמש לרעה בכלל להפניה אוטומטית כדי להחדיר קישורי שותפים עצמאיים ללא הסכמה.
כתוצאה מכך, הוספנו לתוספים אפשרות להוסיף עד 5,000 כללים, כדי לעודד שימוש מצומצם בפונקציונליות הזו ולאפשר לנו לזהות בקלות יותר ניצול לרעה.
עם זאת, מפתחים של תוספים, כולל AdGuard ו-Adblock Plus, ביצעו ניתוח משלהם ושיפרו נתונים, והם ציינו שהגבלה גבוהה יותר תאפשר להשתמש בכללים עדכניים יותר, ותאפשר למשתמשים עם מספר רב יותר של רשימות מותאמות אישית לעבור ל-Manifest V3. למעשה, ב-AdGuard דיווחו על יותר מ-2,600 שינויים ברשימות פופולריות בכל שבוע, ומתוך חמישה אחוזים מהמשתמשים שמשתמשים ברשימות מסננים בהתאמה אישית, לאחד מכל ארבעה משתמשים יש יותר מ-5,000 כללים דינמיים בסך הכול (מקור). ב-AdGuard ציינו שזו הייתה בעיה משמעותית בהעברת התוסף שלהם ל-Manifest V3, וקיבלנו משוב דומה מחוסמי תוכן אחרים.
הגענו למסקנה שחלק מכללי הסינון, כמו אלה עם הפעולה block
או allow
, בטוחים הרבה יותר ויש פחות סיכוי לניצול לרעה שלהם. הם גם מהווים את הרוב המכריע של כללי המסנן של חסמי המודעות. על סמך המידע הזה, ניסחתי הצעה ושיתפתיה בקבוצת הקהילה של תוספים לדפדפן, כדי להגדיר קבוצה של כללים שאנחנו מתייחסים אליהם כאל סיכון נמוך יותר, ולאפשר עד 30,000 מהם. אנחנו עדיין שומרים על מגבלה עליונה כדי למנוע נסיגה בביצועים.
ההצעה הזו נתמכה בקבוצת הקהילה של תוספים לאינטרנט, ולכן הטמענו אותה. החל מגרסה 121 של Chrome, המגבלה הגבוהה יותר של 30,000 כללים חלה על כללי DNR בטוחים, שאנחנו מגדירים ככללים עם פעולה מסוג block
, allow
, allowAllRequests
או upgradeScheme
.
על סמך הנתונים ששותפו על ידי AdGuard, 98 עד 99 אחוז מהכללים שלהם אמורים ליהנות מהמגבלה הגבוהה יותר הזו. כל שאר הכללים עדיין נתמכים וניתן להוסיף אותם במסגרת המגבלה הקיימת.
הערך הזה זמין ב-Chrome כקבוע MAX_NUMBER_OF_DYNAMIC_RULES. מגבלת הכללים של כל שאר הכללים הדינמיים לבקשות רשת נשארת על 5,000.
הקטנת הגודל של כללי המדיניות
ב-Chrome 118, שינינו את ערך ברירת המחדל של השדה isUrlFilterCaseSensitive
ל-false
על סמך משוב מהקהילה. השדה הזה קובע אם כלל לסינון לפי כתובת URL תלוי אותיות רישיות. למדנו שרוב המפתחים הגדירו כברירת מחדל ערכים שונים בתוספים שלהם. כתוצאה מכך, היה צריך להגדיר את הערך הרבה פעמים. בעקבות השינוי הזה, המפתחים יכולים לצמצם באופן משמעותי את הגודל של כללי המדיניות שלהם.
מה השלב הבא?
אנחנו מחויבים להמשיך להשקיע ב-declarativeNetRequest API כדי שנוכל לתמוך בכמה שיותר תרחישים לדוגמה, ומצפים להמשיך לעבוד עם הקהילה. במיוחד, אנחנו רוצים להודות לחברי WECG על ההתעניינות שלהם, כולל AdGuard על שיתוף כמות משמעותית של הנתונים שהובילו לעבודה הזו, וכל ספקי הדפדפנים שהיו חלק משמעותי בתכנון ה-API הזה.
נמשיך לבדוק את המגבלות הקיימות שלנו כדי לבצע שינויים לפי הצורך. כדי לתמוך בכך, אנחנו מתכננים לשתף בעתיד הקרוב חלק מהנתונים שאספנו במסגרת העבודה הזו. בנוסף, אנחנו עובדים על הוספת יכולות נוספות, כמו היכולת להתאים לכותרות תגובה. זו בקשה נפוצה שקיבלנו מ-extensions של תוכנות להצגת קובצי PDF. בכל מקרה, נמשיך לעדכן אתכם על העבודה שלנו, ונשתמש בקבוצת הקהילה של תוספים לאינטרנט באופן קבוע כמקום לדיון ברעיונות ולקביעת הנושאים הבאים שאנחנו רוצים לבדוק.