CLASH 공식 사이트 · clashoffice.com
    설정 팁 2026-06-10 · 6분 소요

    rule-providers로 라우팅 규칙 자동 업데이트, 수동 설정 변경 불필요

    rules 필드가 이미 수십 줄, 수백 줄로 늘어나서 도메인 하나를 추가할 때마다 파일을 수동으로 편집해야 한다면, rule-providers를 알아볼 때입니다. 규칙 세트를 원격 파일로 호스팅하고 클라이언트가 주기적으로 가져오도록 할 수 있습니다.

    직접 작성한 rules의 문제점

    rulesDOMAIN-SUFFIX, IP-CIDR을 하나씩 직접 작성하는 것 자체는 문제가 없지만, 규칙 수가 수백~수천 개로 늘어나면(예: '국내 사이트는 직접 연결, 해외 사이트는 프록시'를 정밀하게 구분하려는 경우) 두 가지 문제가 생깁니다. 설정 파일이 비대해져 유지 관리가 어려워지고, 규칙 자체가 지속적인 업데이트(도메인 추가, 오탐 수정)를 필요로 하는데 수동 동기화는 놓치기 쉽습니다.

    rule-providers가 해결하는 것

    rule-providers는 규칙 전체를 하나의 독립된 파일(로컬 또는 원격 URL)로 호스팅합니다. 메인 설정에서는 이름만 참조하고 업데이트 주기를 설정하면 클라이언트가 주기적으로 자동 재요청하므로, 규칙 내용이 바뀌어도 아무것도 하지 않아도 됩니다.

    # config.yaml 조각: 규칙 세트 정의 rule-providers: reject: type: http behavior: domain url: "https://example.com/rules/reject.txt" path: ./rules/reject.yaml interval: 86400 # rules에서 참조 rules: - RULE-SET,reject,광고 차단 - MATCH,노드선택

    behavior 필드가 규칙 형식을 결정

    • domain: 규칙 세트 내용은 도메인 목록으로, 한 줄에 도메인 또는 도메인 접미사 하나씩 작성합니다.
    • ipcidr: 규칙 세트 내용은 IP 대역 목록으로, 한 줄에 CIDR 하나씩 작성합니다.
    • classical: 규칙 세트 내용은 완전한 매칭 문법(rules 필드와 동일한 작성 방식)을 사용할 수 있어 가장 유연하지만 크기도 가장 큽니다.

    interval이 가져오는 주기를 결정

    단위는 초이며, 86400은 24시간마다 업데이트한다는 의미입니다. 규칙 세트 자체는 자주 바뀌지 않으므로 매일 또는 며칠에 한 번으로 설정하면 충분하며, 너무 짧게 설정하면 규칙 세트 서버에 불필요한 부담을 줄 수 있습니다.

    일반적인 사용법: 광고 차단 + 지역 직접 연결

    일반적인 조합은 규칙 세트 2개를 준비하는 것입니다. 하나는 광고와 추적 도메인을 차단하는 용도(일치 시 REJECT로 이동)이고, 다른 하나는 국내 사이트와 IP 대역을 식별하는 용도(일치 시 DIRECT로 이동)입니다. 나머지 트래픽은 모두 프록시 정책 그룹으로 보내면, 규칙 세트 2개만 유지해도 대부분의 라우팅 요구를 충족할 수 있습니다.

    팁:규칙 세트 파일은 본질적으로 일반 텍스트이므로 자신의 서버나 어떤 정적 호스팅에든 직접 유지할 수 있습니다. 형식을 behavior에 맞추면 되고, 어떤 서드파티 서비스에도 의존할 필요가 없습니다.

    여러 규칙 세트를 조합해서 사용하기

    실제 설정에는 보통 규칙 세트가 하나 이상 있습니다. 일반적인 순서는 광고 차단 규칙 세트를 맨 앞에 두어 우선 판단하고, 이어서 국내 직접 연결 규칙 세트, 그다음 각 프록시 정책 그룹에 대응하는 라우팅 규칙, 마지막으로 MATCH로 마무리하는 것입니다. rules 필드는 위에서 아래로 하나씩 매칭하며 일치하면 즉시 멈추므로 순서가 매우 중요합니다. '전부 프록시로 보내기' 규칙을 맨 앞에 두면 그 뒤의 더 세밀한 규칙 세트는 전혀 검사되지 않습니다.

    # 규칙 매칭 순서 예시 rules: - RULE-SET,reject,광고 차단 - RULE-SET,direct,노드선택 - RULE-SET,proxy,노드선택 - MATCH,노드선택

    이 순서는 '먼저 제외하고, 마지막에 처리한다'는 개념으로 이해하면 됩니다. 명확히 차단하거나 명확히 직접 연결해야 할 트래픽을 먼저 처리하고, 앞선 규칙에 걸리지 않고 남은 것만 마지막 MATCH로 넘겨 기본 정책 그룹으로 보냅니다.

    규칙 세트 업데이트 및 마이그레이션 시 주의사항

    규칙 세트 파일은 다운로드된 후 path에서 지정한 로컬 경로에 캐시됩니다. 일시적으로 네트워크가 끊겨도 클라이언트는 이전에 캐시된 버전으로 계속 작동하므로 가져오기 실패로 규칙이 전부 무효화되지는 않습니다. 기기를 바꾸거나 클라이언트를 재설치할 때는 path에 해당하는 캐시 디렉터리도 함께 이전해야 합니다. 그렇지 않으면 첫 실행 시 원격 다운로드가 다시 발생하며, 네트워크 상태가 좋지 않을 때 일시적으로 규칙이 누락될 수 있습니다.

    또한 각 규칙 세트의 behavior는 콘텐츠 형식과 일치해야 합니다. domain으로 선언했는데 classical 형식의 콘텐츠를 제공하면 파싱에 실패합니다. 클라이언트는 보통 로그에 명확한 오류를 표시하므로, 수정 후 재시작하거나 다음 interval이 될 때까지 기다리면 적용됩니다.

    요약

    rule-providers는 '규칙 내용'과 '규칙 참조'를 분리합니다. 내용은 독립적으로 업데이트하고 유지 관리할 수 있으며, 메인 설정 파일에는 참조 관계만 남습니다. 장기적으로는 수백 줄짜리 rules 목록보다 훨씬 깔끔하고, 여러 기기가 같은 규칙 세트를 공유하기도 편리합니다.

    다 읽으셨다면 한번 사용해보세요

    5개 플랫폼용 설치 파일이 다운로드 페이지에 모두 정리되어 있습니다.튜토리얼 페이지의 절차를 따라 하면 바로 사용할 수 있습니다.

    다운로드 페이지로 이동
    블로그 목록으로 돌아가기
    아직 Clash를 다운로드하지 않으셨나요?탭하여 공식 다운로드 페이지로 이동