Skip to content
이 페이지는 AI의 도움으로 작성 및 번역되었습니다. 부정확한 내용이 있으면 개선에 참여해 주세요. GitHub에서 편집

광고 및 악성 도메인 차단

PRX-SD에는 광고, 트래커, 알려진 악성 도메인을 시스템 hosts 파일(/etc/hosts - Linux/macOS, C:\Windows\System32\drivers\etc\hosts - Windows)에 항목을 작성하여 DNS 수준에서 차단하는 내장 adblock 엔진이 포함되어 있습니다. 필터 목록은 ~/.prx-sd/adblock/ 하에 로컬로 저장되며 Adblock Plus(ABP) 구문과 hosts 파일 형식을 모두 지원합니다.

작동 방식

adblock을 활성화하면 PRX-SD가:

  1. 설정된 필터 목록 다운로드 (EasyList, abuse.ch URLhaus 등)
  2. ABP 규칙(||domain.com^) 및 hosts 항목(0.0.0.0 domain.com) 파싱
  3. 차단된 모든 도메인을 0.0.0.0을 가리키도록 시스템 hosts 파일에 작성
  4. 모든 차단된 도메인 조회를 ~/.prx-sd/adblock/blocked_log.jsonl에 로깅

TIP

업스트림 전달이 포함된 전체 DNS 수준 필터링을 위해 adblock을 DNS 프록시와 결합합니다. 프록시는 adblock 규칙, IOC 도메인 피드, 사용자 정의 차단 목록을 단일 리졸버에 통합합니다.

명령어

보호 활성화

필터 목록을 다운로드하고 hosts 파일을 통해 DNS 차단을 설치합니다. 루트/관리자 권한이 필요합니다.

bash
sudo sd adblock enable

출력:

>>> adblock 보호 활성화 중...
  4개 목록 로드됨 (128432개 규칙)
success: Adblock 활성화됨: /etc/hosts를 통해 95211개 도메인 차단됨
  목록: ["easylist", "easyprivacy", "urlhaus-domains", "malware-domains"]
  로그: /home/user/.prx-sd/adblock/blocked_log.jsonl

보호 비활성화

hosts 파일에서 모든 PRX-SD 항목을 제거합니다. 자격 증명과 캐시된 목록은 보존됩니다.

bash
sudo sd adblock disable

필터 목록 동기화

설정된 모든 필터 목록을 강제로 재다운로드합니다. adblock이 현재 활성화된 경우 hosts 파일이 새 규칙으로 자동으로 업데이트됩니다.

bash
sudo sd adblock sync

통계 보기

현재 상태, 로드된 목록, 규칙 수, 차단 로그 크기를 표시합니다.

bash
sd adblock stats

출력:

Adblock 엔진 통계
  상태:           활성화됨
  로드된 목록:    4개
  총 규칙:        128432개
  캐시 디렉토리:  /home/user/.prx-sd/adblock
  마지막 동기화:  2026-03-20T14:30:00Z
  차단 로그:      1842개 항목

  - easylist
  - easyprivacy
  - urlhaus-domains
  - malware-domains

URL 또는 도메인 확인

특정 URL 또는 도메인이 현재 필터 목록에 의해 차단되는지 테스트합니다.

bash
sd adblock check ads.example.com
sd adblock check https://tracker.analytics.io/pixel.js

도메인에 스킴이 완전히 지정되지 않은 경우 PRX-SD가 자동으로 https://를 앞에 붙입니다.

출력:

BLOCKED ads.example.com -> Ads

또는:

ALLOWED docs.example.com

차단 로그 보기

영구 JSONL 로그에서 최근 차단된 항목을 표시합니다. --count 플래그는 표시할 항목 수를 제어합니다 (기본값: 50).

bash
sd adblock log
sd adblock log --count 100

각 로그 항목에는 타임스탬프, 도메인, URL, 범주 및 소스가 포함됩니다.

사용자 정의 필터 목록 추가

이름과 URL로 서드파티 또는 사용자 정의 필터 목록을 추가합니다. --category 플래그는 목록을 분류합니다 (기본값: unknown).

사용 가능한 범주: ads, tracking, malware, social.

bash
sd adblock add my-blocklist https://example.com/blocklist.txt --category malware

필터 목록 제거

이름으로 이전에 추가된 필터 목록을 제거합니다.

bash
sd adblock remove my-blocklist

기본 필터 목록

PRX-SD는 다음 내장 필터 소스를 제공합니다:

목록범주설명
EasyList광고커뮤니티 유지 광고 필터 목록
EasyPrivacy추적트래커 및 지문 채취 방지
URLhaus Domains악성코드abuse.ch 악성 URL 도메인
Malware Domains악성코드알려진 악성코드 배포 도메인

필터 목록 형식

사용자 정의 목록은 Adblock Plus(ABP) 구문이나 hosts 파일 형식을 사용할 수 있습니다:

ABP 형식:

||ads.example.com^
||tracker.analytics.io^

Hosts 형식:

0.0.0.0 ads.example.com
127.0.0.1 tracker.analytics.io

!, # 또는 [로 시작하는 줄은 주석으로 처리되어 무시됩니다.

데이터 디렉토리 구조

~/.prx-sd/adblock/
  enabled           # 플래그 파일 (adblock이 활성화될 때 존재)
  config.json       # 소스 목록 설정
  blocked_log.jsonl # 영구 차단 로그
  lists/            # 캐시된 필터 목록 파일

WARNING

adblock을 활성화하고 비활성화하면 시스템 hosts 파일이 수정됩니다. hosts 파일을 수동으로 편집하는 대신 항상 sd adblock disable을 사용하여 항목을 깔끔하게 제거하세요. 명령어는 루트/관리자 권한이 필요합니다.

예제

전체 설정 워크플로우:

bash
# 기본 목록으로 활성화
sudo sd adblock enable

# 사용자 정의 악성코드 차단 목록 추가
sd adblock add threatfox-domains https://threatfox.abuse.ch/export/hostfile/ --category malware

# 새 목록을 다운로드하기 위해 재동기화
sudo sd adblock sync

# 알려진 악성 도메인이 차단되는지 확인
sd adblock check malware-c2.example.com

# 통계 확인
sd adblock stats

# 최근 차단 보기
sd adblock log --count 20

비활성화 및 정리:

bash
sudo sd adblock disable

다음 단계

  • 업스트림 전달을 통한 전체 DNS 수준 필터링을 위해 DNS 프록시를 설정합니다
  • 도메인이 차단될 때 알림을 받으려면 웹훅 알림을 설정합니다
  • 전체 명령어 목록은 CLI 레퍼런스를 탐색합니다

Released under the Apache-2.0 License.