Configuration Guide
Clash 설정 가이드
Clash / Mihomo의 핵심 설정인 규칙 기반 라우팅, 정책 그룹, 구독 링크 가져오기 및 API 콘솔에 대해 자세히 알아보고 프록시 설정을 더 정확하고 유연하게 만드세요.
규칙 설정 문서
Clash 규칙 기반 라우팅 유형과 작성법을 알아보고 국내 직접 연결, 해외 프록시 우회의 정확한 제어를 구현합니다.
규칙의 역할
Clash의 rules 필드는 각 트래픽이 어느 출구로 나갈지 결정합니다: 직접 연결(DIRECT), 지정된 프록시 노드, 또는 거부(REJECT). 규칙은 위에서 아래 순서로 일치 여부를 확인하며, 첫 번째로 일치하는 규칙이 즉시 적용됩니다. 따라서 정확한 규칙은 앞에 배치하고, 예외를 처리하는 MATCH는 마지막에 배치해야 합니다.
일반적인 규칙 유형
| 유형 | 일치 방식 | 예시 |
|---|---|---|
DOMAIN |
전체 도메인 이름 정확히 일치 | DOMAIN,www.google.com,Proxy |
DOMAIN-SUFFIX |
도메인 접미사 일치 (하위 도메인 포함) | DOMAIN-SUFFIX,google.com,Proxy |
DOMAIN-KEYWORD |
도메인 이름에 키워드 포함 | DOMAIN-KEYWORD,youtube,Proxy |
IP-CIDR |
IP 주소 대역 일치 | IP-CIDR,192.168.0.0/16,DIRECT |
GEOIP |
IP 할당 국가 기반 | GEOIP,CN,DIRECT |
MATCH |
폴백 일치 (반드시 마지막에 배치) | MATCH,Proxy |
규칙 설정 예시 (YAML)
전형적인 규칙 기반 라우팅 설정: 국내 직접 연결, 해외 프록시 우회, 로컬 네트워크 직접 연결:
rules:
# 로컬 네트워크 직접 연결
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,10.0.0.0/8,DIRECT
# 자주 사용하는 국내 도메인 직접 연결
- DOMAIN-SUFFIX,cn,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
- DOMAIN-SUFFIX,bilibili.com,DIRECT
# 자주 사용하는 해외 도메인 프록시 우회
- DOMAIN-SUFFIX,google.com,Proxy
- DOMAIN-SUFFIX,youtube.com,Proxy
- DOMAIN-SUFFIX,github.com,Proxy
- DOMAIN-KEYWORD,twitter,Proxy
- DOMAIN-SUFFIX,openai.com,Proxy
# 중국 본토 IP 직접 연결
- GEOIP,CN,DIRECT
# 폴백: 나머지 모두 프록시 우회
- MATCH,Proxy
규칙 세트 (Rule Provider) 사용
직접 규칙을 작성하는 것은 유지 관리가 어렵기 때문에 규칙 세트 (Rule Provider) 사용을 권장합니다: 원격 URL에서 정리된 규칙 목록을 가져오고 자동으로 업데이트되므로 수동 관리가 필요 없습니다. 프로바이더에서 제공하는 Clash 구독에는 보통 완전한 규칙 세트가 내장되어 있어 가져오기만 하면 바로 사용할 수 있습니다.
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
rules:
- RULE-SET,reject,REJECT
- RULE-SET,proxy,Proxy
- RULE-SET,direct,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
rule-providers 사용법을 확인하세요.
정책 그룹 설정 문서
정책 그룹(Proxy Group)을 통해 노드를 유연하게 조합하여 자동 속도 테스트, 페일오버 및 로드 밸런싱 구현
정책 그룹이란 무엇인가요?
정책 그룹(Proxy Group)은 Clash의 노드 조합 단위로, 여러 노드를 하나의 정책 그룹으로 묶어 클라이언트가 최적의 노드를 자동으로 선택하거나 수동으로 전환할 수 있게 합니다. 규칙에서는 정책 그룹 이름을 아웃바운드 대상으로 사용합니다 (예: MATCH,Proxy의 Proxy).
네 가지 정책 그룹 유형
| 유형 | 동작 | 예시 |
|---|---|---|
url-test |
정기적으로 속도 테스트를 수행하여 지연 시간이 가장 낮은 노드 자동 선택 | 일상적인 주요 프록시 그룹 (권장) |
fallback |
첫 번째 노드를 우선적으로 사용하고, 사용 불가능할 때 다음 노드로 자동 전환 | 고가용성 백업 노드 설정 |
load-balance |
여러 노드에 트래픽을 라운드 로빈 방식으로 분산 | 다중 노드 로드 밸런싱 (대용량 트래픽 시나리오) |
select |
목록에서 노드 수동 선택 | 특정 노드를 고정해야 할 때 수동으로 전환 |
정책 그룹 설정 예시 (YAML)
자동 속도 테스트 그룹(Proxy), 수동 선택 그룹 및 페일오버 백업 그룹 포함:
proxy-groups:
# 자동 속도 테스트, 최저 지연 노드 선택 (일상 권장)
- name: Proxy
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300 # 300초마다 속도 테스트 수행
tolerance: 50 # 지연 시간 차이가 50ms 이내면 전환하지 않음
proxies:
- 홍콩-01
- 홍콩-02
- 미국-01
- 일본-01
# 수동으로 노드 선택
- name: Manual
type: select
proxies:
- Proxy # 다른 정책 그룹 중첩 가능
- 홍콩-01
- 미국-01
- DIRECT
# 장애 시 자동 전환
- name: Fallback
type: fallback
url: https://www.gstatic.com/generate_204
interval: 120
proxies:
- 홍콩-01
- 미국-01
- 일본-01
# 다중 노드 로드 밸런싱
- name: LoadBalance
type: load-balance
url: https://www.gstatic.com/generate_204
interval: 300
strategy: round-robin
proxies:
- 홍콩-01
- 홍콩-02
- 홍콩-03
사용 권장 사항
프로바이더의 Clash 구독 설정에는 일반적으로 정책 그룹이 사전 설정되어 있어 가져오기만 하면 바로 사용할 수 있으며 수동 작성이 필요하지 않습니다. 사용자 정의가 필요한 경우 Clash Verge Rev 등 클라이언트의 「설정 덮어쓰기(Override)」 기능을 사용하여 정책 그룹을 수정할 수 있으며 YAML 파일을 직접 편집할 필요가 없습니다.
proxies 목록에 노드 이름(proxies: 필드에 정의된 name과 일치)을 입력하거나 다른 정책 그룹 이름을 중첩하여 입력할 수 있습니다.
구독 링크 사용 튜토리얼
프로바이더 구독 URL 획득부터 Clash 클라이언트로의 원클릭 가져오기까지의 전체 과정 설명
구독 링크란 무엇인가요?
구독 링크(Subscription URL)는 프로바이더(프록시 서비스 제공업체)가 사용자에게 제공하는 고유 URL로, 모든 노드 설정 정보가 포함되어 있습니다. Clash는 이 링크를 통해 노드 목록을 자동으로 다운로드하고 분석하므로 각 노드 매개변수를 수동으로 입력할 필요가 없습니다.
지원되는 구독 형식
Clash (Mihomo 커널)는 다음과 같은 주요 구독 형식을 지원합니다:
- Clash YAML 형식 (권장): 프로바이더가 직접 제공하는
config.yaml형식으로 노드와 규칙이 모두 내장되어 즉시 사용 가능 - Base64 인코딩 형식: SS / VMess 노드의 Base64 인코딩 목록으로 Clash 클라이언트가 자동으로 인식 및 변환
- SIP008 형식: Shadowsocks 표준 구독 형식으로 Mihomo에서 기본 지원
- clash:// 프로토콜: 링크를 클릭하면 클라이언트를 호출하여 자동으로 가져오기를 수행하며 일부 프로바이더에서 지원
구독 링크를 얻는 방법
- 사용 중인 프로바이더(VPN 서비스 제공업체) 공식 웹사이트 콘솔에 로그인합니다
- 「구독」, 「노드」, 「사용 튜토리얼」 또는 「원클릭 가져오기」 페이지를 찾습니다
- Clash 형식 또는 Mihomo 형식의 구독 링크를 선택합니다
- 「복사」 버튼을 클릭하여 전체 구독 URL을 가져옵니다
구독을 가져오는 방법 (Clash Verge Rev 기준)
- Clash Verge Rev를 열고 왼쪽 「구독」 메뉴를 클릭합니다
- 오른쪽 상단의 「+」 버튼을 클릭하고 「가져오기」를 선택합니다
- URL 입력란에 구독 링크를 붙여넣고 별칭을 입력합니다
- 「가져오기」를 클릭하고 노드 설정 다운로드가 완료될 때까지 기다립니다
- 구독 카드의 오른쪽에 있는 「활성화」 버튼을 클릭하여 현재 설정으로 지정합니다
구독 자동 업데이트
프로바이더 노드는 정기적으로 업데이트될 수 있으므로 구독 자동 업데이트를 켜는 것이 좋습니다: Clash Verge Rev에서 구독 카드를 마우스 오른쪽 버튼으로 클릭 → 「편집」 → 「자동 업데이트 간격」 설정(24시간 권장). 클라이언트는 정기적으로 프로바이더에서 최신 노드 설정을 가져오므로 수동 조작이 필요 없습니다.
API 및 콘솔 문서
RESTful API 및 Web UI를 통해 트래픽을 실시간으로 모니터링하고 노드를 관리하며 정책 그룹을 전환합니다
외부 컨트롤러 활성화
Mihomo 코어에는 RESTful API 서비스가 내장되어 있으며 external-controller 설정 항목을 통해 외부로 노출됩니다. 기본적으로 127.0.0.1:9090에서 수신 대기하며 Web UI는 이 포트를 통해 코어와 통신합니다.
# 외부 컨트롤러 수신 주소 및 포트
external-controller: 127.0.0.1:9090
# API 액세스 키 (비어 있으면 비밀번호 필요 없음)
secret: "your-secret-here"
# Web UI 정적 파일 디렉토리 지정 (선택 사항, UI 패널 로컬 배포용)
external-ui: /path/to/ui/folder
Web UI 콘솔 사용
Clash 클라이언트에는 일반적으로 Web 콘솔 진입점이 내장되어 있으며 타사 오픈소스 UI 패널의 온라인 사용도 지원합니다:
| 패널 이름 | 특징 | 온라인 주소 |
|---|---|---|
| Yacd | 인터페이스가 깔끔하고 기능이 포괄적이며 커뮤니티의 주류 패널 | yacd.haishan.me |
| MetaCubeX Dashboard | 공식 제작, 기능이 가장 완벽하며 다크 테마 지원 | d.metacubex.one |
| Zashboard | 시각적 효과가 뛰어나고 인터페이스가 아름다움 | github.com/Zephyruso/zashboard |
| 클라이언트 내장 UI | Clash Verge Rev 등 클라이언트에 내장되어 있어 별도의 설정 불필요 | 클라이언트 메뉴에서 직접 열기 |
secret 설정 항목의 값을 입력하면 로컬 Clash 코어에 연결할 수 있습니다.
자주 사용하는 API 인터페이스
Mihomo RESTful API 기본 경로는 http://127.0.0.1:9090이며 요청 헤더에 Authorization: Bearer 을 포함해야 합니다:
# 현재 버전 정보 가져오기
GET /version
# 모든 프록시 노드 확인 (지연 시간 정보 포함)
GET /proxies
# 정책 그룹에서 선택된 노드 전환
PUT /proxies/{groupName}
Body: { "name": "노드 이름" }
# 특정 노드 속도 측정
GET /proxies/{name}/delay?url=https://www.gstatic.com/generate_204&timeout=5000
# 모든 실시간 연결 확인
GET /connections
# 모든 연결 강제 종료
DELETE /connections
# 현재 규칙 목록 확인
GET /rules
# 글로벌 설정 가져오기
GET /configs
# 글로벌 설정 수정 (예: 프록시 모드 전환)
PATCH /configs
Body: { "mode": "rule" } # rule / global / direct
클라이언트에서 사용
Clash Verge Rev 등 GUI 클라이언트는 위 API 기능을 인터페이스 조작으로 캡슐화했습니다: 「프록시」 페이지에서 노드 전환 및 속도 측정이 가능하고, 「연결」 페이지에서 실시간 연결 확인 및 특정 연결 종료가 가능하며, 「설정」에서 프록시 모드(규칙 / 글로벌 / 직접 연결)를 전환할 수 있습니다. 대다수 사용자는 API를 직접 호출할 필요가 없습니다.
wiki.metacubex.one)를 참조하십시오. 여기에는 모든 엔드포인트의 요청/응답 형식 설명이 포함되어 있습니다.
설정이 준비되었습니다. 클라이언트를 선택하여 사용을 시작하세요
핵심 설정을 이해한 후 플랫폼에 맞는 Clash 클라이언트를 다운로드하고 튜토리얼에 따라 구독을 가져오면 바로 사용할 수 있습니다.