Меню
BE

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 303 18303 водгукі
Выдатна!

AdGuard для Windows

AdGuard для Windows - гэта больш, чым блакіроўшчык рэкламы. Гэта шматмэтавы інструмент, які блакіруе рэкламу, кантралюе доступ да небяспечных сайтаў, паскарае загрузку старонак і абараняе дзяцей ад недапушчальнага кантэнту.
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

AdGuard для Mac

AdGuard для Mac - унікальны блакіроўшчык рэкламы, распрацаваны з улікам спецыфікі аперацыйнай сістэмы macOS. Ён не толькі бароніць вас ад раздражняльнай рэкламы ва ўсіх браўзерах і праграмах, але і бароніць вас ад сачэння, фішынгу і махлярства.
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

AdGuard для Android

AdGuard для Android - ідэальнае рашэнне для Android-прылад. У адрозненні ад іншых блакіроўшчыкаў, AdGuard не патрабуе поўнага доступу, а таксама дае шырокі спектр магчымасцей па кіраванню праграмамі.
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

AdGuard для iOS

Лепшы блакіроўшчык рэкламы iOS для iPhone і iPad. AdGuard ліквідуе ўсе віды рэкламы ў Safari, абараняе вашу прыватнасць і паскарае загрузку старонак. Тэхналогія блакіроўкі рэкламы AdGuard для iOS забяспечвае высокую якасць фільтрацыі і дазваляе выкарыстоўваць некалькі фільтраў адначасова
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

AdGuard VPN

74 лакацыі па ўсім свеце

Доступ да любога кантэнту

Моцнае шыфраванне

Без лагавання

Самае хуткае злучэнне

Цэладзённая падтрымка

Паспрабуйце бясплатна
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

Блакіроўшчык кантэнту AdGuard

AdGuard Content Blocker ухіляе ўсе аб'явы ў мабільных браўзарах, якія падтрымваюць тэхналогію блакавання кантэнту — да прыкладу, Samsung Internet і Яндэкс.Браўзар. Ён валодае меншай колькасцю функцый, чым AdGuard для Android, але пры гэтым дармовы, просты ва ўсталёўцы і па-ранейшаму забяспечвае высокая якасць блакавання рэкламы.
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

Браўзернае пашырэнне AdGuard

AdGuard — самае хуткае і лёгкае браўзарнае пашырэнне для блакавання ўсіх тыпаў рэкламы! Абірайце AdGuard для хуткага і бяспечнага сёрфінга без рэкламы.
18 303 18303 водгукі
Выдатна!

Памочнік AdGuard

Дапаможнае браўзернае пашырэнне для AdGuard настольных праграм. Дае доступ у браўзеры да такіх функцый, як блакіроўка асобных элементаў, уключэнне вэб-сайта ў белы спіс або адпраўка справаздачы.
18 303 18303 водгукі
Выдатна!

AdGuard DNS

AdGuard DNS – гэта альтэрнатыўны спосаб заблакаваць рэкламу, абараніць асабістыя дадзеныя і ахаваць дзяцей ад дарослых матэрыялаў. Ён просты ў наладзе і выкарыстанні і забяспечвае патрэбны мінімум абароны ад рэкламы, трэкінгу і фішынгу, незалежна ад платформы.
18 303 18303 водгукі
Выдатна!

AdGuard Home

AdGuard Home — магутная прылада для сеціва супраць рэкламы і трэкінгу. З узмацненнем ролі інтэрнэту рэчаў робіцца ўсё больш і важнейшым кіраваць усiм вашым сецівам. Пасля налады AdGuard Home будзе ахапляць УСЕ вашы хатнія прылады і для гэтага вам не спатрэбіцца праграмнае забеспячэнне на боку кліента.
18 303 18303 водгукі
Выдатна!

AdGuard Pro для iOS

AdGuard Pro прапануе значна больш чым проста блакаванне рэкламы ў Safari, якая ёсць у звычайнай версіі. З дапамогай адмысловых налад DNS вы зможаце блакаваць больш рэкламы, абараніць вашы асабістыя дадзеныя і ахаваць дзяцей ад дарослага кантэнту.
Спампоўваючы праграму, вы прымаеце ўмовы Ліцэнзійнага пагаднення
Чытаць далей
18 303 18303 водгукі
Выдатна!

AdGuard для Safari

Пашырэнні, што блакуюць рэкламу ў Safari, перажываюць не лепшыя часы з той пары, як кампанія Apple вымусіла ўсіх выкарыстоўваць новы SDK. Пазнаёмцеся з нашым лёгка наладжвальным і імгненным дадаткам!
18 303 18303 водгукі
Выдатна!

AdGuard Temp Mail

Ваш часовы паштовую скрыню, каб на асноўную пошту не прыходзіў спам
18 303 18303 водгукі
Выдатна!

AdGuard для Android TV

AdGuard for Android TV is the only app that blocks ads, guards your privacy, and acts as a firewall for your Smart TV. Get warnings about web threats, use secure DNS, and benefit from encrypted traffic. Relax and dive into your favorite shows with top-notch security and zero ads!
Спампоўка AdGuard Каб усталяваць AdGuard, пстрыкніце файл, пазначаны стрэлкай Выберыце «Адкрыць» і націсніце «ОК», затым дачакайцеся спампоўкі файла. У акне, якое адкрылася, перацягніце значок AdGuard у папку «Праграмы». Дзякуй, што выбралі AdGuard! Выберыце «Адкрыць» і націсніце «ОК», затым дачакайцеся спампоўкі файла. У акне, якое адкрылася, націсніце «Усталяваць». Дзякуй, што выбралі AdGuard!
Усталюйце AdGuard на мабільную прыладу