Rule Provider란 무엇인가요
Clash의 트래픽 분기 능력은 rules 규칙 목록에서 비롯됩니다: 각 규칙은 「특정 트래픽이 어느 정책으로 가야 하는지」를 설명합니다. 전통적인 방법은 수백, 수천 개의 규칙을 설정 파일에 직접 작성하는 것입니다. 예를 들어 DOMAIN-SUFFIX,google.com,PROXY, GEOIP,PRIVATE,DIRECT 등입니다.
규칙이 적을 때는 괜찮지만, 규칙이 수천 개로 늘어나면 설정 파일이 방대해져 관리하기 어렵고 커뮤니티 규칙 라이브러리 업데이트를 편리하게 따라갈 수 없습니다. Rule Provider(룰셋)는 바로 이 문제를 해결하기 위해 설계되었습니다: 외부 규칙 목록(로컬 파일 또는 온라인 URL)을 참조할 수 있게 해주며, Clash는 정기적으로 가져와 캐시하고 rules에서 RULE-SET으로 참조합니다.
Rule Provider를 사용하면 주 설정 파일에 핵심 규칙 수십 줄만 남기고, 광고 차단, 스트리밍 분기, 로컬 IP 직접 연결 등의 복잡한 로직을 전문적으로 관리되는 룰셋에 위임하여 간결하면서도 지속적으로 업데이트되는 설정을 유지할 수 있습니다.
룰셋이 필요한 이유
인터넷 도메인과 IP 대역은 지속적으로 변화하며 새로운 서비스와 CDN 노드가 계속 등장합니다. 수동으로 규칙을 관리하는 것은 이 변화를 따라잡기 거의 불가능합니다. 커뮤니티에는 광고, 트래커, 스트리밍, 게임, 개발자 도구 등의 시나리오를 다루는 오픈 소스 룰셋을 관리하는 많은 자원봉사자들이 있습니다(예: Loyalsoldier, blackmatrix7 등).
Rule Provider를 통해 이러한 룰셋을 참조하면 Clash 설정이 다음과 같이 될 수 있습니다:
- 자동 업데이트: interval을 설정하면 Clash가 정기적으로 최신 규칙을 가져오므로 수동으로 설정을 변경할 필요가 없습니다.
- 모듈식 관리: 광고 차단, 로컬 직접 연결, 프록시 분기를 각각 독립적인 룰셋으로 관리하여 명확하고 유지보수하기 쉽습니다.
- 오프라인에서도 사용 가능: 규칙이 path에 지정된 경로에 캐시되어 오프라인에서도 이전 버전을 사용할 수 있습니다.
유형과 behavior
룰셋은 출처에 따라 두 가지로 나뉩니다: http(온라인 URL, 자동 업데이트 지원)와 file(로컬 파일, 커스텀 규칙에 적합). 내용 형식(behavior)에 따라 세 가지로 나뉩니다:
- domain: 순수 도메인 목록으로, 줄당 하나의 도메인 또는 와일드카드. 매칭 속도가 가장 빠르며 광고 도메인, 트래커 도메인 등에 적합합니다.
- ipcidr: IP 대역 목록(CIDR 형식)으로, IP에 따른 분기에 사용. 예: 로컬 IP 직접 연결, 사설 네트워크 직접 연결.
- classical: 범용 형식으로 DOMAIN, DOMAIN-SUFFIX, IP-CIDR, PROCESS-NAME 등 완전한 규칙 문법을 혼합해서 사용 가능. 유연성이 가장 높습니다.
behavior를 선택할 때는 반드시 룰셋 파일의 실제 형식과 일치해야 합니다. 그렇지 않으면 Clash 파싱이 실패하고 해당 RULE-SET 규칙이 적용되지 않습니다. 룰셋 파일을 다운로드한 후 먼저 열어 도메인 목록인지, IP 대역인지, 완전한 규칙 문법인지 확인한 다음 올바른 behavior 유형을 선택하세요. 이 단계는 간단해 보이지만 설정 함정을 피하는 중요한 부분입니다.
설정 예시
설정 파일의 rule-providers 섹션에서 룰셋을 정의합니다:
rules에서 참조합니다(순서가 중요하며, 위에서 아래로 매칭하여 적중되면 중지):
위 예시에서: 광고 도메인은 REJECT, 프록시가 필요한 도메인은 PROXY, 로컬 IP는 DIRECT, 프라이빗 IP는 직접 연결, 마지막으로 기본값은 프록시로 처리됩니다.
규칙 순서와 베스트 프랙티스
Clash 규칙은 위에서 아래로 순서대로 매칭되며, 첫 번째로 적중된 규칙이 적용되고 이후는 더 이상 확인하지 않습니다. 따라서:
- 더 정확하고 우선순위가 높은 규칙을 앞에 배치합니다. 예: REJECT 광고, 특정 도메인 직접 연결.
- GEOIP, MATCH 등 광범위한 규칙은 뒤에 기본값으로 배치합니다.
- 중복되거나 충돌하는 룰셋을 피하여 예상치 못한 동작을 방지합니다.
- 새 룰셋을 처음 사용할 때 대시보드에서 연결 방향을 관찰하여 트래픽 분기가 올바른지 확인하는 것을 권장합니다.
일시적으로 Clash의 debug 로그 레벨을 활성화하여 RULE-SET 적중 상황을 확인할 수 있습니다. 어떤 룰셋이 장기간 업데이트되지 않으면 fork하여 직접 관리하거나 더 활발히 유지보수되는 대체 소스로 교체하여 규칙이 오래되어 새 서비스가 올바르게 분기되지 않는 것을 방지하세요.
자주 묻는 질문
룰셋 업데이트 실패
URL에 접근 가능한지, 네트워크에서 룰셋 소스에 접근하려면 프록시가 필요한지 확인하세요. 룰셋을 로컬에 수동으로 다운로드하고 type: file로 변경할 수 있습니다.
트래픽 분기가 예상과 다름
Clash 대시보드에서 연결 상세 정보를 확인하여 적중된 규칙을 확인하세요. rules 순서를 조정하거나 behavior가 룰셋 형식과 일치하는지 확인하세요.
설정 파일 크기가 너무 큼
Rule Provider의 rules 섹션은 RULE-SET 참조 한 줄만 필요하므로 주 설정을 크게 늘리지 않습니다. 룰셋 내용은 독립적인 캐시 파일에 저장됩니다.
Proxy Provider와의 차이
Clash에는 Proxy Provider(노드 세트)도 있어 노드를 일괄 가져오는 데 사용되며, Rule Provider는 트래픽 분기 규칙을 관리합니다. 두 가지를 함께 사용하면: 노드 세트는 「어떤 경로로 갈지」를 제공하고 룰셋은 「어떤 트래픽이 어떤 경로로 갈지」를 결정합니다. 구독 서비스에는 보통 노드가 이미 포함되어 있으며, 사용자가 직접 Rule Provider를 추가하는 경우가 더 일반적입니다. 이 역할 분담을 이해하면 커스텀 설정 시 시행착오를 줄일 수 있습니다.
실전 조합 제안
초보자는 세 가지 기본 룰셋으로 시작할 수 있습니다: 광고 차단(reject), 로컬 IP 직접 연결(localcidr), 프록시가 필요한 도메인(proxy). 여기서 필요에 따라 스트리밍, 게임, 개발자 도구 등의 전문 룰셋을 추가합니다. 룰셋을 추가할 때마다 rules에 RULE-SET 참조 한 줄을 추가하고 순서에 주의하세요: 차단류 먼저, 직접 연결 다음, 프록시 그 다음, GEOIP와 MATCH 기본값. 점진적으로 확장하는 것이 한꺼번에 많은 룰셋을 쌓는 것보다 문제 해결이 훨씬 쉽습니다.
관리할 때는 룰셋 소스의 업데이트 빈도와 커뮤니티 평판에만 집중하면 되고, 주 설정은 장기간 변경하지 않아도 됩니다. 이것이 Rule Provider의 가장 큰 가치입니다: 한 번 설정하면 지속적으로 혜택을 받습니다. 깊이 있는 트래픽 분기 커스터마이징을 원하는 사용자는 커뮤니티 룰셋을 fork하여 필요에 따라 항목을 추가/삭제하고 프라이빗 URL로 호스팅한 후 Rule Provider로 참조하여 완전히 개인화된 트래픽 분기 전략을 구현할 수 있습니다.
정리
Rule Provider는 규칙 관리를 「긴 목록 직접 작성」에서 「참조 + 자동 업데이트」로 업그레이드하여 설정을 간결하게 유지하면서 커뮤니티의 최신 트래픽 분기 전략을 지속적으로 활용할 수 있게 합니다. domain, ipcidr, classical 세 가지 behavior를 적절히 조합하고 규칙 순서와 신뢰할 수 있는 출처에 주의하면 Clash 트래픽 분기가 정확하고 효율적이 됩니다. 광고 차단과 로컬 IP 직접 연결 두 가지 룰셋으로 시작하여 점차 스트리밍, 게임 등의 시나리오로 확장하는 것을 권장합니다. 사용이 깊어지면서 자신에게 맞는 룰셋 조합을 점차 구축하여 Clash를 개인 습관에 맞는 네트워크 관리자로 만들 수 있습니다.
Clash를 시작할 준비가 되셨나요?
Clash 공식 사이트에서 무료 클라이언트를 다운로드하고 구독을 가져오기만 하면 됩니다. Windows, macOS, Android, iOS, Linux 모든 플랫폼을 지원하며 몇 분 만에 시작할 수 있습니다.