ตัวแปลงต้องรักษาความหมายของกฎ ไม่ใช่เพียงย้ายอักขระของกฎนั้น รายการตัวกรองของเบราว์เซอร์อาจขึ้นอยู่กับว่าหน้าเว็บโหลดทรัพยากรใด ประเภทของทรัพยากร และกฎข้อยกเว้น รายการบล็อกที่อิงเฉพาะ URL มีข้อมูลน้อยกว่า

ในการติดตั้ง Polipo ที่มีอยู่ คู่มือของ Polipo กำหนดรายการ forbiddenFile เป็นชื่อโดเมนหรือนิพจน์ปกติแบบขยายของ POSIX ดังนั้น regex ที่สร้างสำหรับเอนจินของ Python จึงไม่ถูกต้องโดยอัตโนมัติในไฟล์นั้น

เริ่มจากซับเซตที่ประกาศไว้

  • แปลงรูปแบบการบล็อก URL ที่ไม่มีเงื่อนไขหลังจากกำหนดแองเคอร์และพฤติกรรมของตัวคั่นแล้วเท่านั้น
  • รักษากฎข้อยกเว้นที่ขึ้นต้นด้วย @@ การเพิ่มรูปแบบของกฎเหล่านั้นลงในไฟล์ปฏิเสธจะกลับความหมาย
  • เก็บกฎที่มีตัวเลือกตามบริบท เช่น ข้อจำกัดของ script หรือโดเมน ไว้นอกการแปลงที่อิงเฉพาะ URL เว้นแต่ปลายทางจะแสดงเงื่อนไขเหล่านั้นได้
  • ตัดกฎที่ซ่อนองค์ประกอบออก การเลือกองค์ประกอบ DOM ของหน้าเว็บต้องใช้กลไกอื่น

การลบตัวเลือกที่ไม่รองรับอาจขยายกฎแบบมีเงื่อนไขให้กลายเป็นการบล็อกแบบไม่มีเงื่อนไข จงรายงานกฎที่ข้ามไปนั้นแทนการอ้างอย่างเงียบ ๆ ว่าการแปลงสมบูรณ์

แพ็กเกจ adblockparser ในอดีตสามารถแยกวิเคราะห์และประเมินกฎ Adblock Plus บางส่วนได้ README ของแพ็กเกจบันทึกกฎซ่อนองค์ประกอบที่ถูกละเลย การจับคู่ที่ขึ้นกับตัวเลือก และข้อจำกัดอื่น ๆ คลังเก็บของแพ็กเกจถูกเก็บถาวรเมื่อวันที่ 24 มิถุนายน 2026 ให้ถือว่าผลลัพธ์ของแพ็กเกจเป็นวัสดุที่ต้องนำไปเทียบกับเอนจินปลายทาง ไม่ใช่คำมั่นว่าการแปลงทั้งรายการจะซื่อตรง

คำนึงถึงสิ่งที่พร็อกซีมองเห็น

สำหรับอุโมงค์ HTTPS ทั่วไป การกรองอุโมงค์ของ Polipo มองเห็นชื่อโฮสต์และพอร์ต ไม่เห็นเส้นทาง URL ที่เข้ารหัส ไฟล์ forbiddenTunnelsFile ของ Polipo เป็นพื้นนโยบายแยกต่างหาก นิพจน์เส้นทางที่แปลอย่างสมบูรณ์แบบก็ยังเทียบกับเนื้อหาที่พร็อกซีไม่เคยเห็นไม่ได้

บันทึกซับเซตที่คงไว้ และตรวจทั้งการบล็อกที่ตั้งใจและข้อยกเว้นที่ตั้งใจเมื่อประเมินการแปลง การที่ไฟล์โหลดได้พิสูจน์เพียงการยอมรับไวยากรณ์ ไม่ใช่การกรองที่เทียบเท่า

บทความที่เกี่ยวข้อง