가이드

Clash 규칙 세트(Rule Provider) 사용 가이드

이 글은 Clash 공식 사이트에서 제공합니다. 규칙 기반 라우팅은 Clash의 핵심입니다. 로컬 사이트 직접 연결, 해외 서비스 프록시, 광고 도메인 차단 모두 규칙과 그 뒤의 도메인/IP 목록에 의존합니다. 수천 개의 규칙을 설정 파일에 직접 작성하면 관리하기 어렵고 비대해질 뿐 아니라, 업데이트할 때마다 수동으로 병합해야 합니다. Rule Provider(규칙 세트 제공자)의 등장으로 규칙도 구독 노드처럼 온라인으로 업데이트하고 모듈화하여 관리할 수 있게 되었습니다. 이 글에서는 규칙 세트의 작동 원리를 이해하고 Mihomo / Clash Meta에서의 실전 설정 방법을 익혀보겠습니다.

규칙과 규칙 세트의 차이

단일 규칙은 DOMAIN-SUFFIX,google.com,PROXY 또는 GEOSITE,cn,DIRECT 형태로, 코어에게 「이런 대상을 만났을 때 어떻게 처리할지」를 알려줍니다. 규칙 세트는 여러 규칙의 집합 파일로, 보통 커뮤니티나 구독 서비스가 유지 관리하며 카테고리별(예: 「로컬 도메인」, 「광고 차단」, 「스트리밍」)로 분류됩니다.

Rule Provider는 원격 URL 또는 로컬 경로에서 이러한 집합을 로드하고, 설정된 업데이트 주기에 따라 자동으로 동기화합니다. 설정 파일에서는 제공자 이름만 참조하면 rules 섹션에서 RULE-SET 유형으로 호출할 수 있어 유지 관리 비용이 크게 줄어듭니다.

Rule Provider를 「규칙 버전의 구독 링크」라고 생각하세요. 내용은 독립적으로 업데이트되고 메인 설정은 간결하게 유지됩니다.

behavior 유형: domain, ipcidr, classical

각 규칙 세트는 behavior를 선언해야 하며, 이는 파일 내용과 매칭 방식을 결정합니다:

일상 구독에서 geosite 계열 집합은 주로 domain behavior이고, geoip 계열은 주로 ipcidr입니다. 잘못된 behavior를 선택하면 규칙을 로드하지 못하거나 매칭 오류가 발생하므로 규칙 세트 작성자의 설명과 일치해야 합니다.

Rule Provider 실전 설정

YAML 설정에서 rule-providers 섹션으로 제공자를 정의하고, rules 섹션에서 참조합니다. 다음은 오픈소스 커뮤니티 규칙 세트를 가져오는 전형적인 예시입니다:

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://example.com/rules/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://example.com/rules/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - RULE-SET,direct,DIRECT
  - GEOSITE,cn,DIRECT
  - GEOIP,cn,DIRECT
  - MATCH,PROXY

여기서 type: http는 원격에서 가져옴을 의미하고, path는 로컬 캐시 경로, interval은 자동 업데이트 간격(초)입니다. type: file을 사용하면 순수 로컬 규칙 세트를 참조할 수 있어 커스텀 소규모 목록에 적합합니다.

구독 서비스 규칙과의 관계

많은 구독 서비스 제공자가 제공하는 Clash 전용 구독에는 이미 완전한 rulesrule-providers가 내장되어 있어, 가져오기만 하면 별도의 설정 없이 바로 사용할 수 있습니다. Rule Provider를 직접 추가하는 상황은 광고 차단 목록 추가, 사내 인트라넷 도메인 직접 연결 표, 또는 커뮤니티가 관리하는 스트리밍 서비스 분류 규칙을 추가하고 싶을 때입니다.

병합 시 규칙은 위에서 아래로 순서대로 매칭되며, 먼저 매칭된 것이 먼저 적용됩니다. 일반적으로 REJECT(광고/악성)를 가장 앞에, 다음은 DIRECT(로컬/인트라넷), 마지막 MATCH를 기본값으로 프록시로 설정합니다. 순서가 잘못되면 로컬 트래픽이 맨 마지막 MATCH에 의해 프록시로 전송되어 접속이 느려질 수 있습니다.

유지 관리 권장 사항

  1. 신뢰할 수 있는 출처의 규칙 세트 URL만 참조하여 악성 규칙에 의한 트래픽 하이재킹을 방지하세요.
  2. 규칙 세트 수를 적절히 제한하세요. 너무 많은 원격 다운로드는 시작과 업데이트 시간을 늘립니다.
  3. 구독 업데이트 후 규칙에 이상이 생기면 클라이언트에서 로그를 확인하여 RULE-SET이 정상적으로 로드되었는지 확인하세요.
  4. 대부분의 GUI 클라이언트는 「외부 리소스 업데이트」를 지원하여 규칙 세트를 수동으로 새로고침할 수 있습니다.

자주 묻는 질문

규칙 세트 업데이트 실패: 해당 URL을 프록시로 접속해야 하는지 확인하세요. 일부 GitHub Raw 링크는 직접 접근이 어려워 프록시를 통해 가져와야 할 수 있습니다. 업데이트 트래픽을 규칙에 포함시키거나 미러 URL로 변경하세요.

규칙이 적용되지 않음: rules에 해당 RULE-SET,이름,정책 항목이 추가되어 있는지, 이름이 rule-providers의 키 이름과 일치하는지 확인하세요.

GEOSITE와 중복: 내장 geosite.dat와 외부 RULE-SET은 공존할 수 있지만 순서에 유의하여 중복 매칭으로 인한 성능 저하를 방지하세요.

정리

Rule Provider는 Clash의 규칙 관리를 「수동 편집」에서 「모듈화 구독」으로 업그레이드시켜 주는 도구로, 고급 사용자가 개성화된 분류 라우팅 전략을 구축하는 핵심 수단입니다. behavior 유형, 참조 순서, 업데이트 메커니즘을 익히면 로컬 직접 연결, 광고 필터링, 전용 회선 분류를 자유롭게 조합할 수 있으며, 수천 개의 규칙 줄을 매번 수동으로 편집할 필요가 없습니다.

클라이언트와 설정 템플릿이 필요하신가요? 공식 다운로드 페이지에서 Mihomo 코어와 GUI 클라이언트를 다운로드하고, 설정 가이드를 참고하여 첫 구독 가져오기를 완료하세요.


관련 글