uBlock Origin, 페이스북 광고 차단 필터 업데이트 포기 선언
- uBlock Origin 개발팀이 페이스북의 계속 바뀌는 광고 탐지 회피 코드를 더 이상 추격하지 않기로 결정함, 기존 필터는 유지하지만 페이스북이 우회하면 그 필터는 그대로 고장난 채로 방치됨
- 우블록 개발팀원이 레딧에서 페이스북을 "disgusting anti-user site"라 부르며, 페이스북 개발자들이 오픈소스 광고차단 프로젝트 코드를 감시하다가 몰래 우회 코드를 바꾼다고 설명함
- 페이스북은 "Ad"라는 단어를 여러 조각으로 쪼개 무관한 코드 사이에 숨기고 사람 눈에는 안 보이는 잔여 텍스트를 끼워넣어 셀렉터 로직을 무력화시키는 방식을 씀, 광고 라벨 이름도 자주 바뀜
- 해커뉴스 댓글에서는 F.B. Purity 확장이 수년째 페이스북 광고를 안정적으로 막고 있다는 대안이 다수 제시됐지만, 이 확장 개발자의 사망 우려도 함께 언급됨
- 일부 사용자는 페이스북 소유 도메인 전체 차단이나 DNS 레벨 차단으로 대응하고 있으나, 이는 광고 자체를 걸러내는 게 아니라 접속을 막는 방식이라는 반박도 나옴
Hacker News opinions
LLM이 실시간 이미지 처리 빠르게 되면 애플 같은 회사가 아예 광고 다 가려주는 브라우저 렌더링 엔진 내놓을 수도 있음. 몇 년 걸리겠지만 브라우저 광고 사업 자체가 끝물이라고 봄
이게 내가 LLM 관련해서 진짜 기대하는 유일한 use case임
사파리에 기본 광고차단기도 없는데 애플이 이걸 주도할 거라고 생각 안 함. 구글이랑 검색 계약으로 돈 버는데 그거랑도 충돌함
애플도 광고 파는 회사임. 자기 서비스 전반에 광고 늘리고 있음
광고인지 사람이 구분할 수 있어야 한다는 게 거의 전세계 공통 법적 요구사항임. 그거 어기면 법적으로 골치 아파질 거임
사파리가 광고차단 기능을 제일 먼저 무력화시켰고 ManifestV3보다 더 심하게 했는데 평판은 전혀 그거에 비례해서 나빠지질 않더라
페이스북 소유 도메인 전부 차단하면 됨. 나한테는 잘 작동함
F.B. Purity라는 확장 오래 써왔는데 여러 브라우저에서 몇 년 동안 완벽하게 작동함. uBlock이 왜 이거 방식을 그대로 못 가져다 쓰는지 이해가 안 됨
F.B. Purity 개발자가 사망했을 수도 있다는 얘기가 레딧에 있음
사이트들이 왜 광고를 직접 소유 안 하는지 이해가 안 됨. 그러면 차단 자체가 불가능해질 텐데
광고 생태계는 양쪽이 있어서 그런 거임. 사이트가 광고주 만족시키려면 자바스크립트로 핑거프린팅하고 크로스도메인으로 실제 광고를 나중에 가져오는 구조라 사이트가 통제 못 함. 마진도 워낙 박해서 이런 복잡한 구조가 생김
페이스북이 광고 차단을 어렵게 만들 수 있는 이유는 광고 인프라랑 앱 인프라를 동시에 통제하기 때문임. 대부분 사이트는 광고 기술이 본업이 아니라서 이렇게까지 못함
페이스북 삭제하고 나서 정말 후회 없음
DNS 레벨에서 facebook.com 블랙리스트 해두니까 꽤 잘 작동함
그건 광고를 실제로 막는 게 아니라 접속 자체를 막는 거임
페이스북은 'Ad'라는 단어를 한 글자씩 span으로 쪼개고 랜덤 클래스명 붙이고 div를 8단계씩 중첩시켜서 셀렉터 짜기 진짜 어렵게 만듦. 이게 접근성 도구한테 어떤 영향 줄지 궁금하고 ADA 소송 좀 당해야 한다고 생각함
2020년에 짠 커스텀 룰 있는데 그때는 aria-label 속성이 제대로 있어서 uBlock 셀렉터로 잡을 수 있었음. facebook.com##div[aria-label="Sponsored"] 같은 식이었음
인스타그램 웹에서 유저네임 위에 커서 올리면 팔로우 버튼이 댓글 버튼 위치에 뜨는 팝업 때문에 실수로 팔로우 눌리는 문제 겪었는데 uBlock으로 아무 셀렉터도 안 먹혀서 결국 계정 삭제로 해결함
xpath로 노드의 computed text content를 검사하면 중첩 depth 상관없이 sponsored 텍스트 잡을 수 있지 않나 싶은데, 공백 처리 때문에 regex는 필요할 듯