Menu
ID

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.

Liked this post?
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk Windows

AdGuard untuk Windows lebih dari sekadar pemblokir iklan. Ini adalah alat serbaguna yang memblokir iklan, mengontrol akses ke situs berbahaya, mempercepat pemuatan halaman, dan melindungi anak-anak dari konten yang tidak pantas.
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk Mac

AdGuard untuk Mac adalah pemblokir iklan unik yang dirancang dengan mempertimbangkan macOS. Selain melindungi Anda dari iklan yang mengganggu di browser dan aplikasi, ini melindungi Anda dari pelacakan, phishing, dan penipuan.
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk Android

AdGuard untuk Android adalah solusi sempurna untuk perangkat Android. Tidak seperti kebanyakan pemblokir iklan lainnya, AdGuard tidak memerlukan akses root dan menyediakan berbagai opsi manajemen aplikasi.
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk iOS

Pemblokir iklan iOS terbaik untuk iPhone dan iPad. AdGuard menghilangkan semua jenis iklan di Safari, melindungi privasi Anda, dan mempercepat pemuatan halaman. Teknologi pemblokiran iklan AdGuard untuk iOS memastikan pemfilteran dengan kualitas terbaik dan memungkinkan Anda untuk menggunakan beberapa filter secara bersamaan
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

AdGuard VPN

74 locations worldwide

Access to any content

Strong encryption

Tanpa kebijakan log

Fastest connection

dukungan 24/7

Coba gratis
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

Pemblokir Konten AdGuard

AdGuard Content Blocker akan menghilangkan semua jenis iklan di browser seluler yang mendukung teknologi pemblokir konten — seperti, Samsung Internet dan Yandex.Browser. Meskipun lebih terbatas daripada AdGuard untuk Android, ini gratis, mudah dipasang dan tetap memberikan kualitas pemblokiran iklan yang tinggi.
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

Ekstensi peramban AdGuard

AdGuard adalah ekstensi pemblokiran iklan tercepat dan paling ringan yang secara efektif memblokir semua jenis iklan di semua halaman web! Pilih AdGuard untuk browser yang Anda gunakan dan dapatkan penjelajahan bebas iklan, cepat, dan aman.
18.488 18488 ulasan pengguna
Sempurna!

Asisten AdGuard

Ekstensi peramban pengiring untuk aplikasi desktop AdGuard. Menawarkan akses dalam peramban untuk fitur tersebut sebagai pemblokiran elemen kustom, mendaftarkan situs web yang diizinkan atau mengirimkan laporan.
18.488 18488 ulasan pengguna
Sempurna!

DNS AdGuard

AdGuard DNS is a foolproof way to block Internet ads that does not require installing any applications. It is easy to use, absolutely free, easily set up on any device, and provides you with minimal necessary functions to block ads, counters, malicious websites, and adult content.
18.488 18488 ulasan pengguna
Sempurna!

AdGuard Home

AdGuard Home adalah sebuah aplikasi tingkat jaringan untuk memblokir iklan & pelacakan. Setelah Anda menyetelnya, aplikasi ini akan melindungi seluruh perangkat rumah Anda, dan Anda tidak perlu aplikasi apa pun di sisi klien untuk itu. Dengan berkembangnya Internet-Of-Things dan perangkat terkoneksi, menjadi semakin penting untuk dapat mengendalikan seluruh jaringan Anda.
18.488 18488 ulasan pengguna
Sempurna!

AdGuard Pro untuk iOS

AdGuard Pro has much to offer on top of the excellent iOS ad blocking in Safari already known to the users of the regular version. By providing access to custom DNS settings, the app allows you to block ads, protect your kids from adult content online, and safeguard your personal data from theft.
Dengan mengunduhnya Anda menerima ketentuan Perjanjian lisensi
Pelajari lainnya
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk Safari

Ekstensi pemblokiran iklan untuk Safari mengalami kesulitan sejak Apple mulai memaksa semua orang untuk menggunakan SDK baru. Ekstensi AdGuard seharusnya mengembalikan pemblokiran iklan berkualitas tinggi ke Safari.
18.488 18488 ulasan pengguna
Sempurna!

AdGuard Temp Mail

Generator alamat e-mail sementara gratis yang membuat Anda tetap anonim dan melindungi privasi Anda. Tidak ada spam di kotak masuk utama Anda!
18.488 18488 ulasan pengguna
Sempurna!

AdGuard untuk Android TV

AdGuard untuk Android TV adalah satu-satunya aplikasi yang memblokir iklan, menjaga privasi Anda, dan bertindak sebagai firewall untuk Smart TV Anda. Dapatkan peringatan tentang ancaman web, gunakan DNS yang aman, dan dapatkan manfaatkan lalu lintas yang terenkripsi. Bersantailah dan selami acara favorit Anda dengan keamanan terbaik dan tanpa iklan!
Mengunduh AdGuard Klik tombol yang ditujukkan oleh panah untuk memulai instalasi. Pilih "Buka" dan klik "OK", lalu tunggu file diunduh. Di jendela yang terbuka, seret ikon AdGuard ke folder "Aplikasi". Terima kasih telah memilih AdGuard! Pilih "Buka" dan klik "OK", lalu tunggu file diunduh. Di jendela yang terbuka, klik "Install". Terima kasih telah memilih AdGuard!
Instal AdGuard untuk perangkat ponsel juga