🛠️ iBrowe: ข้อยกเว้นด้านการป้องกันการติดตาม และความเข้ากันได้ของเว็บไซต์ (Tracking Protection Exceptions and Web Compatibility)
เพื่อให้เว็บไซต์ทำงานได้ปกติ และลดความยุ่งยากให้กับผู้ใช้ iBrowe จึงมีการกำหนด ข้อยกเว้นบางอย่าง ต่อ นโยบายการป้องกันการติดตาม (tracking protection) ตามค่าเริ่มต้น ข้อยกเว้นเหล่านี้ถูกจัดทำอย่างระมัดระวังและโปร่งใส และ ยังคงบล็อกการเข้าถึง third-party cookies อยู่เช่นเดิม
ตอนนี้ iBrowe กำลังพัฒนา การตั้งค่าใหม่ เพื่อให้ผู้ใช้สามารถปรับแต่งข้อยกเว้นเหล่านี้ได้เอง ตามที่มีการพูดคุยกันใน roadmap สาธารณะของเรา
📦 ข้อยกเว้นใน Filter List (Filter List Exceptions) 🔐 ปุ่มเข้าสู่ระบบด้วย Facebook (Facebook Login Buttons)
เว็บไซต์บุคคลที่สามบางแห่งต้องใช้ Facebook SDK เพื่อให้ฟีเจอร์ “Login with Facebook” ทำงานได้ เพื่อให้การเข้าสู่ระบบทำงานได้ปกติ โดยยังคงรักษาความเป็นส่วนตัว iBrowe จึงกำหนดข้อยกเว้นแบบเฉพาะจุด
ที่ถูกบล็อกตามค่าเริ่มต้น (Blocked by default):
||facebook.com$third-party ||facebook.net$third-party ||staticxx.facebook.com$third-party
ที่ได้รับอนุญาตเพื่อให้การเข้าสู่ระบบยังทำงานได้ (Allowed to preserve login functionality):
@@||connect.facebook.com//sdk.js$script @@||connect.facebook.net//sdk.js$script @@||facebook.com/connect/ @@||www.facebook.com/connect @@||staticxx.facebook.com/connect/ @@||graph.facebook.com/
💡 อนาคต (Future): ฟิลเตอร์เหล่านี้จะสามารถให้ผู้ใช้ปรับแต่งได้เอง
📷 การฝังเนื้อหาของ Facebook (Facebook Embeds)
เพื่อรองรับการ ฝังเนื้อหา ของ Facebook เช่น วิดีโอ หรือโพสต์ iBrowe จะ อนุญาตบางทรัพยากร (specific resources) ในขณะที่ยังคง บล็อกจุดที่เป็นการติดตาม (tracking endpoints)
สิ่งที่ถูกบล็อก (Blocked):
||fbcdn.net$third-party,domain=~facebook.com
สิ่งที่อนุญาต (Allowed):
@@||staticxx.facebook.com/ @@||xx.fbcdn.net/ @@||www.facebook.com/*/plugin @@||www.facebook.com/plugins/ @@||www.facebook.com/rsrc.php @@||www.facebook.com/ajax/bz
หากไม่มีข้อยกเว้นเหล่านี้:
เนื้อหาที่ฝัง เช่น โพสต์ หรือปุ่ม Like / Share อาจ ไม่สามารถแสดงผลได้
🐦 การฝังเนื้อหาจาก Twitter (Twitter Embeds)
เพื่อรองรับการ ฝังทวีต (embedded tweets) iBrowe จึงกำหนด ข้อยกเว้นแบบจำกัด (narrow allowances) ในลักษณะเดียวกัน
สิ่งที่ถูกบล็อกตามค่าเริ่มต้น (Blocked by default):
||twitter.com$third-party ||twimg.com$third-party,domain=~twitter.com
สิ่งที่อนุญาต (Allowed):
@@||platform.twitter.com/ @@||syndication.twitter.com @@||pbs.twimg.com/ @@||cdn.syndication.twimg.com/
หากไม่มีข้อยกเว้นเหล่านี้:
- ทวีตที่ฝังอาจ ไม่แสดงภาพหรือวิดีโอ หรืออาจ ไม่โหลดเลย
📄 ตัวอย่างหน้าเว็บ: https://www.buzzfeed.com/jesseszewczyk/martha-stewart-scrambled-eggs-hack
📋 กฎ Unbreak อื่น ๆ (Other Unbreak Rules)
แพตช์ความเข้ากันได้ (compatibility patches) อื่น ๆ ถูกติดตามและจัดเก็บไว้ที่:
ibrowe/adblock-lists/ibrowe-unbreak.txt
🧭 นโยบายของ iBrowe ในการจัดการข้อยกเว้น (iBrowe’s Policy on Exception Handling)
iBrowe ผสานการทำงานกับ filter lists ปกป้องความเป็นส่วนตัว จากหลายแหล่ง เช่น EasyList, EasyPrivacy และ uBlock Origin อย่างไรก็ตาม บางครั้งฟิลเตอร์เหล่านี้ อาจทำให้ฟีเจอร์หลักของเว็บไซต์ใช้งานไม่ได้ นโยบายของเราสำหรับการเพิ่มข้อยกเว้นจะอ้างอิงตามหลักการดังนี้:
✅ เราเพิ่มข้อยกเว้นเมื่อใด? (When Do We Add Exceptions?)
-
หากปัญหาเกิดในวงจำกัด (limited breakage):
-
อาจเพิ่มข้อยกเว้นเล็กน้อยเป็นการชั่วคราวเพื่อหลีกเลี่ยงปัญหาการใช้งานของผู้ใช้
-
หากปัญหาเกิดในวงกว้าง (widespread breakage):
-
จะให้ความสำคัญกับวิธีแก้ที่ยังคงรักษาความเป็นส่วนตัว และลงทุนทรัพยากรของนักพัฒนาเพื่อหาทางแก้ที่ถาวร
-
ข้อยกเว้นทั้งหมดจะถูก tag และติดตามไว้อย่างชัดเจน เพื่อนำมาทบทวนในอนาคต
📌 ตัวอย่าง Tag (Tag Examples):
- revisit: → ข้อยกเว้นระยะสั้นที่มีแผนจะเปลี่ยนแปลงหรือยกเลิกในอนาคต
- revisit after uBO parity: → กฎชั่วคราวที่ใช้จนกว่าจะรองรับการทำงานแบบ uBlock Origin ได้เต็มรูปแบบ
หากมีคำถาม สามารถติดต่อได้ที่:
- @pes10k ใน Slack หรือ
- pes@ibrowe.com
🍪 ข้อยกเว้นสำหรับ Third-Party Cookies (Third-Party Cookie Exceptions) iBrowe อนุญาตให้ใช้ third-party cookies เฉพาะในบางกรณีที่จำเป็นจริง ๆ เช่น:
- กรณีที่ cookies ถูกส่ง ระหว่างบุคคลที่สามที่ระบุเฉพาะกับเว็บไซต์หลักที่กำหนดไว้เท่านั้น
ปัจจุบัน iBrowe กำลังพัฒนา แนวทางใหม่ ที่จะช่วยให้ ไม่ต้องพึ่งพาข้อยกเว้นแม้เพียงเล็กน้อย ความคืบหน้าสามารถติดตามได้ที่:
https://github.com/brave/brave-browser/issues/8514
อ้างอิง: เนื้อหานี้ดัดแปลงและเรียบเรียงใหม่จากเอกสารของ Brave:
- https://github.com/brave/adblock-lists
- https://github.com/brave/brave-browser/issues Attribution: Brave Software