Safari 웹 익스텐션: Apple의 새 업데이트가 Safari 콘텐츠 차단기 사용자에게 어떤 영향을 미칠까요?
Safari는 일반적으로 널리 사용되는 브라우저 확장 API를 이용중이나, 최근 콘텐츠 차단 관련 기능을 제거하였습니다. 현재 형식에서 이 API는 광고 차단기 개발에 도움이 되지 않으며, 상황이 개선될 지 여부는 추후 Apple 업데이트 향방에 달려있습니다.
현재 Apple은 다음 업데이트인 macOS Big Sur에 출시될 새 버전 Safari를 개발중입니다. 현재 Safari 14 공식 베타에서 대부분의 변경 사항을 테스트할 수 있으며, 이중 광고 차단기 이용자들이 주목하는 것은 웹 익스텐션 지원입니다.
웹 확장 프로그램은 브라우저의 동작과 모양을 변경할 수 있는 브라우저 확장을 개발하기위한 API (애플리케이션 프로그래밍 인터페이스)입니다. Chrome, Mozilla 및 Edge와 같은 널리 사용되는 브라우저는 웹 익스텐션 API를 지원하지만 Safari는 지원하지 않으므로 개발자는 다른 API 세트를 사용하였습니다. 결과적으로 Safari는 다른 브라우저에서 사용중인 수많은 확장 기능이 적용되지 않았습니다.
올해 6월 전세계 개발자 컨퍼런스 (WWDC2020)에서 Apple은 Safari 14가 웹 익스텐션을 지원할 것이라고 발표했습니다. 다른 많은 개발자와 마찬가지로 저희는 이 결정을 지지합니다. 그러나 Safari의 광고 차단이 크게 변경되지는 않으며 그 이유는 다음과 같습니다.
2015년 Safari는 소위 Safari Content Blocking API를 도입하였는데, 이것은 개발자가 Safari용 콘텐츠 차단 응용 프로그램을 구축하는 데 유용하며, 허용 가능한 수준의 콘텐츠를 차단하기에는 충분했습니다. 때문에 AdGuard는 iOS용 AdGuard, iOS용 AdGuard Pro 및 Safari용 AdGuard에서도 Safari Content Blocking API를 사용합니다. 그러나 웹 익스텐션과 비교했을 때 이 API에는 몇 가지 중요한 단점이 있는데, 그 기능이 제한되며 시간이 지남에도 불구하고 거의 개선되지 않았다는 것입니다.
그러나 이제는 많은 부분이 달라질 것입니다. 먼저, 곧장 Chrome/Firefox 확장 프로그램을 Safari로 이식하기에는 몇 가지 장애물이 있습니다. 먼저, Safari 개발자는 웹 익스텐션 API를 복사하지 않았기 때문에 Safari 14에서는 웹 익스텐션의 일부 기능을 사용할 수 없습니다. 예를 들면, Safari 14에는 웹 요청을 차단하는 옵션이 존재하지 않습니다. 공식 문서를 열고 "webRequest"를 검색하면 다음과 같은 내용이 표시될것입니다.
webRequest
BlockingResponse not supported.
Blocking requests not supported.
보시다시피, 원하는 기능이 지원되지 않는 상태입니다.
미래의 Safari 콘텐츠 차단기는 어떻게 될까요? 안타깝게도 현재로선 저희도 향후 Safari 콘텐츠 차단기의 행보를 예측하긴 어렵습니다.
한편으로 오래된 Safari Content Blocking API가 존재합니다. 저희측에서 일전에 많은 버그를 신고하고 다수 기능 요청을 하였으나 수년 동안 모두 무시되었습니다. Apple 개발자와의 대화를 통해, 저희는 원칙적으로 Apple이 Safari Content Blocking API 구현 검토를 반대하지 않는다는 것을 알고 있습니다만, 그것을 받아들일지는 미지수입니다. 때문에 저희는 당장 해당 작업에 착수하기 어려운 상황입니다.
이론적으로는 Apple이 웹 익스텐션 API의 추가 개발을 진지하게 받아들이고 결국 웹 요청을 차단하는 옵션을 추가할 수도 있습니다. 그러나 솔직히 말하면 상황이 이 방향으로 나아갈 것 같지는 않습니다. 하지만 WWDC의 웹 익스텐션 지원 발표 또한 예상치 못한 것이었기 때문에 늘 가능성은 존재합니다.
아래는 현 상황에서 가능한 몇 가지 옵션입니다.
-
Safari용 AdGuard 설치
Safari Content Blocking API가 제공하는 것에서 가능한 최상의 필터링 품질을 짜냅니다. -
Mac용 AdGuard
프리미엄 제품이며 체험판 기간이 만료된 후 라이선스 키가 필요합니다. 브라우저 확장 프로그램보다 더 잘 광고 및 추적을 차단합니다.