Bảng chọn
VI

AdGuard v4.5.1 for iOS: dealing with unforeseen rule limit on iOS 17

This update comes with a story, since we found an unexpected iOS 17 bug that essentially limits the number of content-blocking rules, so you already know there’s no way we aren’t telling you all about it. Apart from the bug workaround, this release also contains some nice improvements and fixes beneficial to the app's performance and stability.

Apple, you said we could use up to 150k content-blocking rules in Safari, what happened?

The issue

So, it all started with us trying to find a solution to an issue on iOS 17 where filters would just update endlessly without actually updating. Yeah, you heard that right — tapping 🔄 icon in the upper right corner of the AdGuard's main screen was triggering an endless spinning animation but nothing happened. In some cases, however, this sight would come to an end in the form of filter update errors.

The cause

Initially, we were trying to find issues in our own app's code (as any responsible developer would). But the more we tried, the more we started to pay attention to the fact that the issue occurred only on the newest iOS, which is supposed to be the most polished and optimized. This detail and increasing user feedback lead us to realize that the root of the problem lies in the updated iOS.

The next realization was that filters would still update successfully depending on the filters enabled (or, rather, not enabled) by the user, which in turn helped us find out that loading rules into Safari sometimes hits a memory limit — something we never had a problem with before.

Apple provides developers with the ability to implement Safari Content Blocker functionality in their apps, which allows them to offer content-blocking features to users. As you can probably guess, this is an indispensable tool for ad-blocking apps on iOS, because it gives a way to apply filtering rules to pages accessed in Safari. Currently, according to the Safari Content Blocking API documentation, it allows for up to 150k rules in one content blocker (and one app can have several content blockers).

The contradiction

All in all, we were faced with a surprising new reality where using our standard Safari content blockers with 150k filtering rules was all of sudden causing a crash on iOS 17. It turned out that Safari wouldn't accept files over a certain size anymore — even content blockers with 40-60k rules (which is 3 times below the 150k limit) would sometimes crash, depending on the rules they contain.

This leads to a simple question to Apple: how come a 40k rule content blocker crashes when Safari officially allows 150k rules?

Since it’s an obvious bug in iOS 17, we already reported it on Apple’s forum. We’d appreciate it if you could upvote it there by pressing 'Me too'. Also, here’s the ticket ID in Apple’s Feedback Assistant: FB13282146.

The workaround

It took us over a week to figure out a temporary measure: we restricted the size of our JSON files and optimized main filters so that they can squeeze into this new ‘size requirement’. If a content blocker is still a little too big for iOS’s liking (the final size depends on how many and what filters are enabled by the user), we automatically cut its size so that at least part of the rules that meet the size requirement gets applied in Safari.

So while everything should work fine for most users at the moment, we are very much looking forward to Apple fixing this bug ASAP.

SafariConverterLib, Scriptlets and TSUrlFilter updated

Thanks for letting us blow off some steam above, now we can tell you about nicer things in v4.5.1. For instance, we updated SafariConverterLib, Scriptlets, and TSUrlFilter dependencies. The update of these three components and their interconnection helps maintain high filtering quality, i.e. efficient and up-to-date performance of blocking rules.

SafariConverterLib converts AdGuard filtering rules into Safari content blocking rules, so it basically makes possible to use the full power of our filters in AdGuard for iOS. Scriptlets and TSUrlFilter are also nothing short of important, since they help implement the Advanced blocking feature in AdGuard for iOS.

DnsLibs reworked

In DnsLibs (our DNS filtering engine) v2.3 update we have done some serious rework and adjustments which significantly improved AdGuard's DNS-over-HTTP/3 performance and stability.

Also, some other things were fixed, one of them being the issue where AdGuard wouldn’t open on iOS 13.x.


We hope you'll enjoy improved AdGuard for iOS, and if you have any thoughts about this update, please don't hesitate to leave a comment below or reach out to us on social media.
The full v4.5.1 changelog can be found on Github.
Any feedback is also very welcome in Github issues.

Thích bài viết này?
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho Windows

AdGuard cho Windows không chỉ là một trình chặn quảng cáo khác, nó là một công cụ đa năng kết hợp tất cả các tính năng cần thiết để có trải nghiệm web tốt nhất. Nó chặn quảng cáo và các trang web nguy hiểm, tăng tốc tải trang và bảo vệ con bạn khi chúng trực tuyến.
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho Mac

Không giống như các trình chặn quảng cáo khác, AdGuard được thiết kế dành riêng cho macOS. Nó không chỉ cung cấp sự bảo vệ chống lại quảng cáo trong Safari và các trình duyệt khác mà còn bảo vệ bạn khỏi việc theo dõi, lừa đảo.
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho Android

AdGuard cho Android là một giải pháp lý tưởng cho các thiết bị di động Android. Trái ngược với các trình chặn quảng cáo khác, AdGuard không yêu cầu quyền truy cập root và nó cung cấp một loạt các tính năng: lọc trong ứng dụng, quản lý ứng dụng và nhiều hơn nữa.
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho iOS

Trình chặn quảng cáo iOS tốt nhất cho iPhone và iPad. AdGuard loại bỏ tất cả các loại quảng cáo trong Safari, bảo vệ riêng tư của bạn, và tăng tốc độ tải trang. Công nghệ chặn quảng cáo của AdGuard cho iOS đảm bảo chất lượng lọc cao nhất và cho phép bạn sử dụng nhiều bộ lọc cùng lúc
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard VPN

74 Vị Trí Trên Thế Giới

Truy cập mọi thông tin

Mã hoá mạnh

Không nhật ký

Đường truyền nhanh nhất

Hỗ trợ 24/7

Dùng thử miễn phí
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

Trình Chặn Nội Dung AdGuard

AdGuard Content Blocker sẽ loại bỏ tất cả các loại quảng cáo trong trình duyệt di động hỗ trợ công nghệ chặn nội dung - cụ thể là Samsung Internet và Yandex.Browser. Mặc dù bị hạn chế hơn AdGuard cho Android, nhưng nó miễn phí, dễ cài đặt và vẫn cung cấp chất lượng chặn quảng cáo cao.
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

Tiện ích mở rộng Trình duyệt AdGuard

AdGuard là tiện ích mở rộng chặn quảng cáo nhanh nhất và nhẹ nhất chặn hiệu quả tất cả các loại quảng cáo trên tất cả các trang web! Chọn AdGuard cho trình duyệt bạn sử dụng và nhận duyệt web không có quảng cáo, nhanh chóng và an toàn.
18.331 18331 đánh giá của người dùng
Tuyệt vời!

Trợ lý AdGuard

Tiện ích mở rộng trình duyệt đồng hành cho AdGuard ứng dụng máy tính để bàn. Nó cung cấp quyền truy cập trong trình duyệt vào các tính năng như chặn phần tử tùy chỉnh, cho phép niêm yết trang web hoặc gửi báo cáo.
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard DNS

AdGuard DNS là một cách tuyệt vời để chặn quảng cáo Internet không yêu cầu cài đặt bất kỳ ứng dụng nào. Nó rất dễ sử dụng, hoàn toàn miễn phí, dễ dàng thiết lập trên bất kỳ thiết bị nào và cung cấp cho bạn các chức năng cần thiết tối thiểu để chặn quảng cáo, quầy, trang web độc hại và nội dung người lớn.
18.331 18331 đánh giá của người dùng
Tuyệt vời!

Trang chủ AdGuard

AdGuard Home là một phần mềm mạng để chặn quảng cáo và theo dõi. Sau khi bạn thiết lập xong, nó sẽ bao gồm TẤT CẢ các thiết bị gia đình của bạn và bạn không cần bất kỳ phần mềm nào dành cho khách hàng. Với sự phát triển của Internet-Of-Things và các thiết bị được kết nối, việc kiểm soát toàn bộ mạng của bạn ngày càng trở nên quan trọng hơn.
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard Pro cho iOS

AdGuard Pro có nhiều thứ để cung cấp trên đầu trang của việc chặn quảng cáo iOS tuyệt vời trong Safari đã được người dùng của phiên bản thông thường biết đến. Bằng cách cung cấp quyền truy cập vào cài đặt DNS tùy chỉnh, ứng dụng cho phép bạn chặn quảng cáo, bảo vệ con bạn khỏi nội dung người lớn trực tuyến và bảo vệ dữ liệu cá nhân của bạn khỏi bị đánh cắp.
Bằng cách tải xuống chương trình, bạn chấp nhận các điều khoản của Thỏa thuận cấp phép
Đọc thêm
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho Safari

Các tiện ích mở rộng chặn quảng cáo cho Safari đang gặp khó khăn kể từ khi Apple bắt đầu buộc mọi người sử dụng SDK mới. Tiện ích mở rộng AdGuard được cho là sẽ đưa tính năng chặn quảng cáo chất lượng cao trở lại Safari.
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard Temp Mail

Trình tạo địa chỉ email tạm thời miễn phí giúp bạn ẩn danh và bảo vệ quyền riêng tư của bạn. Không có thư rác trong hộp thư đến chính của bạn!
18.331 18331 đánh giá của người dùng
Tuyệt vời!

AdGuard cho Android TV

AdGuard cho Android TV là ứng dụng duy nhất chặn quảng cáo, bảo vệ quyền riêng tư của bạn và hoạt động như một tường lửa cho Smart TV của bạn. Nhận cảnh báo về các mối đe dọa trên web, sử dụng DNS an toàn và hưởng lợi từ lưu lượng truy cập được mã hóa. Thư giãn và đi sâu vào các chương trình yêu thích của bạn với bảo mật hàng đầu và không có quảng cáo!
Việc tải xuống AdGuard đã bắt đầu Nhấp vào nút có hình mũi tên để bắt đầu cài đặt. Chọn "Mở" và nhấp vào "OK", sau đó đợi tệp được tải xuống. Trong cửa sổ đã mở, kéo biểu tượng AdGuard vào thư mục "Ứng dụng". Cảm ơn bạn đã chọn AdGuard! Chọn "Mở" và nhấp vào "OK", sau đó đợi tệp được tải xuống. Trong cửa sổ mở, nhấp vào "Cài đặt". Cảm ơn bạn đã chọn AdGuard!
Cài đặt AdGuard cho cả thiết bị di động