변환기는 규칙의 문자만 옮기는 것이 아니라 규칙의 의미를 보존해야 합니다. 브라우저 필터 목록은 페이지가 어떤 리소스를 불러오는지, 리소스 유형, 예외 규칙에 의존할 수 있습니다. URL만 기반으로 하는 차단 목록은 정보가 더 적습니다.

기존 Polipo 설치에서 설명서는 forbiddenFile 항목을 도메인 이름 또는 POSIX 확장 정규 표현식으로 정의합니다. 따라서 Python 엔진을 위해 만든 regex가 그 파일에서 자동으로 유효한 것은 아닙니다.

선언된 부분집합에서 시작하기

  • 무조건적인 URL 차단 패턴은 앵커와 구분자 동작을 정의한 뒤에만 변환하십시오.
  • @@로 시작하는 예외 규칙은 보존하십시오. 그 패턴을 거부 파일에 덧붙이면 의미가 뒤집힙니다.
  • script 또는 도메인 제한 같은 맥락 옵션이 있는 규칙은 대상이 그 조건을 표현할 수 없다면 URL만 기반으로 하는 변환에서 제외하십시오.
  • 요소 숨김 규칙은 제외하십시오. 페이지의 DOM 요소를 선택하려면 다른 메커니즘이 필요합니다.

지원되지 않는 옵션을 삭제하면 조건부 규칙이 무조건 차단으로 넓어질 수 있습니다. 완전한 변환을 조용히 주장하는 대신 그렇게 건너뛴 규칙을 보고하십시오.

역사적인 adblockparser 패키지는 Adblock Plus 규칙의 일부를 구문 분석하고 평가할 수 있습니다. 그 README는 무시되는 요소 숨김 규칙, 옵션에 의존하는 일치, 그 밖의 한계를 기록하고 있으며, 저장소는 2026년 6월 24일에 보관 처리되었습니다. 그 출력은 목록 전체의 충실한 변환을 보증하는 것이 아니라 대상 엔진과 대조해 평가할 자료로 다루십시오.

프록시가 보는 범위를 고려하기

일반적인 HTTPS 터널에서 Polipo의 터널 필터링은 호스트 이름과 포트를 보며 암호화된 URL 경로는 보지 못합니다. forbiddenTunnelsFile은 별도의 정책 표면입니다. 완벽하게 번역한 경로 표현식이라도 프록시가 결코 보지 못하는 내용과는 일치할 수 없습니다.

유지한 부분집합을 문서화하고 변환을 평가할 때 의도한 차단과 의도한 예외를 모두 확인하십시오. 파일이 로드되었다는 것은 구문 수용을 입증할 뿐 동등한 필터링을 입증하지 않습니다.

관련 글