Manifest V3 là gì?
Manifest là tệp mô tả quyền và cấu trúc của extension. Manifest V3 là thế hệ nền tảng extension mới của Chrome, thay đổi nhiều mặt như service worker, mã từ xa và quyền can thiệp request mạng. Google mô tả mục tiêu là cải thiện bảo mật, quyền riêng tư và hiệu năng, đồng thời thay thế nhiều mô hình cũ.
Với ad blocker, phần đáng chú ý nhất là thay đổi quanh webRequestBlocking và declarativeNetRequest.
Từ “extension xem từng request rồi quyết định” sang ruleset khai báo
Ở MV2, nhiều blocker dựa vào khả năng xử lý request theo thời gian thực bằng webRequestBlocking. Với MV3, quyền này không còn dành cho phần lớn extension thông thường; Chrome khuyến nghị sử dụng DNR, nơi extension khai báo các quy tắc để trình duyệt áp dụng.
Điểm khác biệt không chỉ là tên API. Với DNR, Chrome thực thi ruleset thay vì extension nhận từng request rồi tự xử lý bằng logic tùy ý. Điều đó thay đổi cách blocker thiết kế engine, filter và các tính năng nâng cao.
DNR có giới hạn, nhưng không phải chỉ vài nghìn rule
Chrome đã tăng đáng kể quota DNR qua các phiên bản. Tài liệu hiện tại cho phép extension khai báo tới 100 static ruleset và bật tối đa 50 cùng lúc; mỗi extension được đảm bảo ít nhất 30.000 static rules. Với dynamic safe rules, Chrome hiện có mức tối đa lớn hơn so với các phiên bản đầu MV3.
Do đó nói “MV3 chỉ cho vài nghìn filter nên adblock không thể hoạt động” là mô tả lỗi thời. Vấn đề thực tế phức tạp hơn: một số loại logic/filter không ánh xạ 1:1 sang DNR, cách cập nhật và ngữ cảnh xử lý cũng khác.
Vì sao uBlock Origin Lite khác uBlock Origin?
uBO Lite là ví dụ dễ thấy. Nhà phát triển giải thích nhiều khả năng của uBO không thể chuyển nguyên trạng sang MV3/DNR, và uBOL chọn kiến trúc khai báo để ưu tiên độ tin cậy/hiệu quả. Vì vậy uBOL không phải “uBO với manifest_version: 3”.
Điều tương tự xảy ra với các blocker khác: mỗi nhà phát triển phải chọn cách tổ chức ruleset, quyền host, cosmetic filtering, scriptlet và cơ chế cập nhật phù hợp với MV3.
4 hiểu lầm phổ biến về Manifest V3
- “MV3 cấm adblock.” Không chính xác; Chrome vẫn có API content filtering và Web Store có blocker MV3.
- “MV3 không có đủ rule để chặn quảng cáo.” Quota đã tăng mạnh; giới hạn rule chỉ là một phần câu chuyện.
- “Mọi blocker MV3 giống nhau.” Không; kiến trúc, ruleset, quyền và cách cập nhật khác nhau.
- “Extension MV2 chỉ cần nâng version là xong.” Không; nhiều extension phải thiết kế lại đáng kể.
Manifest V3 có ý nghĩa gì với người dùng bình thường?
Bạn không cần học API để chọn extension. Hãy nhìn vào kết quả thực tế: extension có còn được Chrome hỗ trợ, cập nhật đều, quyền truy cập hợp lý, chính sách dữ liệu rõ và hoạt động ổn với website bạn dùng hay không.
Với YouTube, còn một lớp khác: chính YouTube triển khai anti-adblock và chính sách riêng. Vì vậy một blocker MV3 “đúng chuẩn Chrome” vẫn không đồng nghĩa với “luôn chặn YouTube”.
Khác biệt nào thực sự quan trọng với người dùng?
| Khía cạnh | Mô hình MV2 phổ biến trước đây | Mô hình MV3/DNR |
|---|---|---|
| Quyết định với request | Extension có thể chạy logic chặn theo thời gian thực bằng quyền phù hợp | Extension khai báo ruleset để trình duyệt đánh giá và áp dụng |
| Tiến trình nền | Background page có thể tồn tại lâu | Service worker theo vòng đời sự kiện; không nên giả định luôn chạy |
| Mã từ xa | Mô hình cũ linh hoạt hơn ở một số trường hợp | MV3 yêu cầu logic thực thi nằm trong gói extension, tăng khả năng kiểm tra |
| Cập nhật bộ lọc | Có thể phụ thuộc thiết kế tải/cập nhật của từng blocker | Ruleset đóng gói thường đi cùng bản cập nhật; dynamic rules vẫn phụ thuộc thiết kế |
| Kết quả thực tế | Không phải mọi blocker MV2 đều mạnh như nhau | Không phải mọi blocker MV3 đều giống nhau; kiến trúc và filter vẫn quyết định nhiều |
Vì vậy, chỉ nhìn nhãn “Manifest V3” không đủ để kết luận một extension tốt hoặc kém. Cần xem quyền, ruleset, tần suất cập nhật và kết quả trên website bạn dùng.
Kiểm tra một extension MV3 trong 5 phút
- Mở trang Chrome Web Store chính thức và kiểm tra đúng tên nhà phát triển, chính sách quyền riêng tư và lần cập nhật.
- Sau khi cài, mở
chrome://extensionsđể xác nhận extension đang bật và xem quyền truy cập website. - Không bật Developer mode hoặc cài file ngoài cửa hàng chỉ để “mạnh hơn”.
- Chỉ để một blocker hoạt động khi test, sau đó thử nhiều video/trang thay vì một mẫu duy nhất.
- Nếu có lỗi, tạm dừng extension cho website đó và tải lại. Ghi phiên bản Chrome, extension, URL và thời điểm trước khi báo lỗi.
Manifest V3 không tự bảo đảm điều gì?
- Không bảo đảm chặn được mọi định dạng quảng cáo.
- Không bảo đảm không bị website phát hiện hoặc giới hạn playback.
- Không chứng minh extension an toàn chỉ vì được viết theo MV3; người dùng vẫn phải kiểm tra nhà phát triển và quyền.
- Không đồng nghĩa service worker “ngủ” sẽ làm mọi rule ngừng hoạt động; DNR được trình duyệt thực thi độc lập với việc popup đang mở.
Nguồn chính thức và tài liệu tham khảo
Các thông tin về YouTube, Chrome, uBlock Origin Lite hoặc AdGuard trong bài được đối chiếu với tài liệu của chính nền tảng/dự án tại thời điểm cập nhật. Chính sách và tính năng có thể thay đổi, vì vậy hãy kiểm tra lại nguồn khi ra quyết định.
Cài SENSEL Adblock và kiểm tra trên chính máy của bạn
SENSEL là tiện ích chặn quảng cáo cho Google Chrome Desktop, tập trung giảm quảng cáo gây gián đoạn khi xem YouTube. Cài miễn phí từ Chrome Web Store chính thức, sau đó kết nối tài khoản để dùng thử 7 ngày nếu đủ điều kiện. Không cần thanh toán trước và không tự động gia hạn.
Câu hỏi thường gặp
Manifest V3 có làm mọi adblock ngừng hoạt động không?
Không. MV3 thay đổi API và mô hình lọc; nhiều blocker vẫn hoạt động nhưng phải thiết kế theo kiến trúc mới.
DNR là gì?
declarativeNetRequest là API cho phép extension khai báo quy tắc để Chrome áp dụng lên request mạng.
Tại sao uBO Lite không giống uBO?
Vì MV3/DNR và lựa chọn thiết kế khiến một số khả năng của uBO không thể hoặc không được chuyển nguyên trạng sang uBOL.

