메뉴
한국어

iOS용 AdGuard v4.5.1: iOS 17에서 규칙 제한 문제 해결

이번 버전을 준비하던 중 콘텐츠 차단 규칙의 수를 크게 제한하는 예기치 않은 iOS 17 버그를 발견했습니다. iOS 17 버그를 수정하는 것 외에도 이번 버전에서는 앱의 성능과 안정성을 개선하기 위해 여러 가지 사항을 적용하고 일부 버그를 수정했습니다.

Apple, Safari에서 콘텐츠 차단 규칙을 최대 15만 개까지 사용할 수 있다고 했는데 어떻게 된 건가요?

문제

이 모든 것은 iOS 17에서 필터가 실제로 업데이트되지 않으면서 끝없이 업데이트되는 문제에 대한 해결책을 찾으려는 것에서 시작되었습니다. AdGuard 메인 화면의 오른쪽 상단에 있는 🔄 아이콘을 누르면 끝없이 회전하는 애니메이션이 트리거되었지만 아무 일도 일어나지 않았습니다. 하지만 경우에 따라 이 광경은 필터 업데이트 오류 형태로 끝나는 경우도 있었습니다.

문제의 원인

처음에는 앱 코드에서 버그를 찾으려고 했지만, 더 자세히 살펴볼수록 이 문제는 iOS의 최신 버전에서만 발생한다는 것이 명확해졌습니다. 이 정보와 점점 더 많은 사용자 리뷰를 통해 문제의 근원이 iOS 17에 있다는 결론에 도달했습니다.

그리고 사용자가 활성화한 필터(또는 활성화하지 않은 필터)에 따라 필터가 성공적으로 업데이트되는 것을 발견했습니다. 그 결과 Safari의 로딩 규칙이 때때로 메모리 제한에 도달한다는 사실을 깨닫게 되었습니다. 이전에는 이런 문제가 없었습니다.

Apple은 개발자가 앱에서 Safari 콘텐츠 차단 기능을 구현하여 사용자에게 콘텐츠 차단 기능을 제공할 수 있도록 합니다. Safari에서 열린 사이트에 필터링 규칙을 적용할 수 있기 때문에 iOS용 광고 차단기에 없어서는 안 될 도구입니다. 현재 Safari 콘텐츠 차단 API 문서에 따르면, 하나의 콘텐츠 차단기에 최대 15만 개의 규칙을 적용할 수 있으며, 하나의 앱에 여러 개의 콘텐츠 차단기가 있을 수 있습니다.

모순된 상황

하지만 실제로 15만 개의 필터링 규칙이 있는 표준 콘텐츠 차단기를 사용하면 iOS 17에서 갑자기 크래쉬되거나 오작동하기 시작했습니다. Safari가 더 이상 특정 크기 이상의 파일을 허용하지 않는 것으로 밝혀졌으며, 심지어 4~6만 개의 규칙이 있는 콘텐츠 차단기(15만 개 제한의 3배 미만)도 포함된 규칙에 따라 가끔 오작동이 발생했습니다.

Safari가 공식적으로 15만 개의 규칙을 허용하는데 4만 개의 규칙 콘텐츠 차단기가 오작동하는 이유가 무엇인가요?

이는 iOS 17의 명백한 버그이므로 이미 Apple 포럼에 신고했습니다. Me too를 눌러 보고서에 투표해 주시면 감사하겠습니다. 또한 Apple Feedback Assistant의 티켓 ID는 FB13282146입니다.

해결 방법

임시 해결책을 마련하는 데 일주일이 넘게 걸렸습니다. JSON 파일 크기를 제한하고 핵심 필터를 최적화하여 새로운 현실의 요구 사항을 충족할 수 있도록 했습니다. 광고 차단기가 여전히 iOS에서 너무 큰 경우, Safari 크기 요건을 충족하는 규칙 중 일부를 적용하도록 자동으로 크기를 줄입니다.

현재 iOS용 AdGuard 광고 차단기는 대부분의 사용자에게 정상적으로 작동하고 있지만, Apple이 가능한 한 빨리 버그를 수정하기를 바랍니다.

SafariConverterLib, Scriptlets 및 TSUrlFilter의 업데이트

iOS 버그에 대한 이야기는 이제 그만하고 이번 버전의 더 멋진 변경 사항에 대해 살펴보겠습니다. 예를 들어, SafariConverterLib, Scriptlets, TSUrlFilter 종속성을 업데이트했습니다. 이 세 가지 구성 요소의 업데이트와 상호 연결은 높은 필터링 품질, 즉 차단 규칙의 효율성과 최신 성능을 유지하는 데 도움이 됩니다.

SafariConverterLib는 AdGuard 필터링 규칙을 Safari 콘텐츠 차단 규칙으로 변환하므로 기본적으로 iOS용 AdGuard에서 필터의 모든 기능을 사용할 수 있게 해줍니다. ScriptletsTSUrlFilter는 iOS용 AdGuard에서 고급 차단 기능을 구현하는 데 도움이 되므로 매우 중요합니다.

DnsLibs 개선

DNS 필터링 엔진인 DnsLibs 2.3 버전을 대폭 개선하여 DNS-over-HTTP/3 모드에서 AdGuard의 성능과 안정성을 크게 향상시켰습니다.

또한 몇 가지 다른 문제도 수정되었는데, 그 중 하나는 iOS 13.x에서 AdGuard가 열리지 않았던 문제입니다.


최신 iOS용 AdGuard를 사용해 보시고, 이번 버전에 대한 의견이 있으시면 아래에 댓글을 남기거나 소셜 미디어로 문의해 주세요. 전체 v4.5.1 변경 로그는 Github에서 확인할 수 있으며, Github 이슈 섹션에서 새로운 기능을 제안하거나 버그를 신고할 수 있습니다.

이 게시물을 좋아하시나요?

Windows용 AdGuard

Windows용 AdGuard는 단순한 광고 차단기가 아니라 광고를 차단하고 위험한 사이트에 대한 액세스를 제어하는 다목적 프로그램입니다. 또한 페이지 로딩 속도를 높이고 유해한 사이트로부터 어린이를 보호합니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기

Mac용 AdGuard

다른 광고 차단기들과 달리, AdGuard는 macOS에서 최적화되도록 디자인되었습니다. 앱과 브라우저의 광고뿐만 아니라 추적, 피싱 및 사기로부터 사용자를 보호합니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기

Android용 AdGuard

Android용 AdGuard는 Android 모바일 기기를 위한 이상적인 해결책입니다. AdGuard는 대부분의 다른 광고 차단기와 달리 AdGuard는 루트 권한이 필요하지 않으며 다양한 앱 관리 옵션을 제공합니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.

iOS용 AdGuard

최고의 Safari용 광고 차단기: 성가신 팝업 광고를 없애 버리고, 페이지를 불러오는 속도를 높이고, 개인 데이터를 보호해줍니다. 수동 요소 차단 도구나 사용자 마음대로 바꿀 수 있는 설정을 통하여 필터링을 필요에 맞게 정확히 조정할 수 있습니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.

AdGuard 브라우저 확장프로그램

AdGuard는 웹 모든 페이지에 있는 온갖 종류의 광고를 효과적으로 차단하는 확장 프로그램이며 빠르고 가볍습니다! 빠른 브라우저를 위해 AdGuard를 선택해서 광고를 제거하고 안전하게 이용하세요.
사용자 리뷰: 13592
최대 5점 중 4.7점

Safari용 AdGuard

Apple 사가 모든 사용자에게 새로운 SDK를 사용하게끔 강요한 후부터 확장형 Safari 광고 차단 프로그램들은 좋은 효과를 내지 못했습니다. AdGuard는 다시 Safari에 뛰어난 성능의 광고 차단 기능을 제공해 줄 것입니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
App Store
다운로드
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.

AdGuard Home

AdGuard Home은 광고 및 추적을 차단하는 네트워크 전반에 걸친 소프트웨어입니다. 설정한 후에는 모든 가정용 기기에 적용되므로 클라이언트 소프트웨어가 필요하지 않습니다. 사물인터넷(IoT)의 확산과 인터넷과 연결된 장치의 증가로 전체 네트워크를 제어하는 것이 점점 더 중요해지고 있습니다.
사용자 리뷰: 13592
최대 5점 중 4.7점

AdGuard 콘텐츠 차단기

AdGuard 콘텐츠 차단기는 Samsung Internet, Yandex.Browser와 같이 콘텐츠 차단 기술을 지원하는 모바일 브라우저의 모든 종류의 광고를 제거합니다. Android용 AdGuard보다 제한적이기는 하지만, 설치가 간편하며 무료로 높은 광고 차단 품질을 제공합니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
자세히 알아보기

AdGuard Assistant

AdGuard 데스크톱 앱와 함께하는 브라우저 확장 프로그램입니다. 브라우저 내부에서 사용자 지정 요소 차단, 사이트를 화이트리스트에 추가, 리포트 전송과 같은 기능을 제공합니다.
사용자 리뷰: 13592
최대 5점 중 4.7점
Chrome용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
Firefox용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
Edge용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
Opera용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
Yandex용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
설치
프로그램을 내려받음으로써 라이선스 계약에 동의하게됩니다.
Safari용 어시스턴트 현재 사용하고 계신 브라우저가 맞나요?
브라우저를 찾을 수 없는 경우, AdGuard 확장 설정에서 찾을 수 있는 구버전의 어시스턴트를 사용해보세요.

AdGuard Temp Mail β

익명을 보장하고 개인정보를 보호하는 무료 임시 이메일 주소 생성기입니다. 더 이상 기본 받은 편지함에 스팸이 없습니다!
사용자 리뷰: 13592
최대 5점 중 4.7점

Android TV용 AdGuard

Android TV용 AdGuard는 광고를 차단하고 개인 정보를 보호하며 스마트 TV용 방화벽 역할을 하는 유일한 앱입니다. 웹 위협에 대한 경고를 받고, 보안 DNS를 사용하면 트래픽이 암호화됩니다. 좋아하는 프로그램을 광고 없이 안전하게 시청하세요!
사용자 리뷰: 13592
최대 5점 중 4.7점
AdGuard 다운로드 시작 AdGuard를 설치하려면 화살표가 가리키는 파일을 클릭하세요 "열기"를 선택한 다음 "확인"을 누른 후, 다운로드가 완료될 때까지 기다리세요. 창이 열려있다면, AdGuard를 "애플리케이션" 폴더에 드래그해주세요. AdGuard를 선택해주셔서 감사합니다! "열기"를 선택 후 "확인"을 클릭한 다음, 다운로드가 완료될 때까지 기다리세요. 열렸으면, "설치"를 눌러주세요. AdGuard를 선택해 주셔서 감사합니다!
모바일 기기용 AdGuard도 설치할 수 있습니다