Clash란 무엇인가요?
Clash는 Go로 만든 규칙 기반 네트워크 터널 클라이언트입니다. 설정 파일(YAML)에 따라 요청마다 직접 연결(DIRECT)할지, 특정 프록시 그룹으로 보낼지, 막을지(REJECT)를 나눌 수 있습니다. 국내 도메인은 직접 두고 해외만 프록시로 보내는 식으로 “쪼개 쓰기”가 가능해, 단순 전역 VPN보다 트래픽과 지연을 효율적으로 관리하려는 사용자에게 인기가 있습니다.
Shadowsocks, VMess, Trojan, VLESS, Hysteria 등 여러 프로토콜을 한 설정 안에서 다룰 수 있고, 대부분의 상용 구독 서비스가 제공하는 Clash/Mihomo 호환 구독과도 잘 맞습니다. 문법만 익히면 앱별·도메인별 정책을 자유롭게 조합할 수 있다는 점이 큰 장점입니다.
용어 정리: Clash는 “클라이언트”일 뿐이며, 실제 접속 노드와 구독 주소는 이용 중인 프록시(VPN) 구독 서비스에서 받습니다. 서비스 대시보드에서 Clash용 또는 Mihomo용 구독 링크를 선택해야 노드가 정상적으로 파싱됩니다.
1단계: 플랫폼에 맞는 클라이언트 고르기
코어는 CLI이므로 일반 사용자는 GUI가 붙은 포크를 쓰는 것이 좋습니다. 대표적인 선택지는 아래와 같습니다.
| 클라이언트 | 지원 OS | 이런 분께 |
|---|---|---|
| Clash Verge Rev | Windows / macOS / Linux | 데스크톱에서 최신 Mihomo와 쓰기 편한 UI를 원할 때 |
| FlClash | Windows / macOS / Android / Linux | 한 앱으로 여러 기기를 맞추고 싶을 때 |
| ClashX Meta | macOS | 메뉴바에서 가볍게 토글하고 싶을 때 |
| ClashMeta for Android | Android | 순정 Meta 기능을 안드로이드에서 쓰고 싶을 때 |
초보 추천: Windows·macOS라면 Clash Verge Rev부터 시도해 보세요. 메뉴 구조가 직관적이고 업데이트도 활발합니다. 안드로이드는 FlClash나 공식 성격의 Meta 계열 앱 중 취향에 맞는 것을 고르면 됩니다.
2단계: 다운로드와 설치
반드시 배포 주소가 분명한 빌드를 받으세요. 변조 설치 파일은 악성 코드 위험이 큽니다. 여기서는 Clash Verge Rev(Windows) 기준으로 설명합니다.
- 이 사이트 다운로드 페이지에서 OS에 맞는 패키지를 고릅니다. Windows는
.exe, macOS는.dmg가 일반적입니다. - 설치 마법사를 따라가며 완료합니다. Windows에서 SmartScreen 경고가 뜨면 “추가 정보” 후 “실행”으로 진행할 수 있습니다.
- 첫 실행 시 Mihomo 코어 파일을 내려받아 초기화합니다. 인터넷을 유지한 채 잠시 기다립니다.
- 메인 화면이 뜨면 아직 노드가 없을 수 있습니다. 다음 단계에서 구독을 넣습니다.
macOS: DMG에서 앱을 Applications 폴더로 옮깁니다. “확인되지 않은 개발자” 경고가 나오면 시스템 설정의 개인 정보 보호·보안에서 허용하거나 우클릭으로 열기를 사용하세요. 버전에 따라 메뉴 경로는 조금 다를 수 있습니다.
3단계: 구독 URL 가져오기
구독 링크는 서비스 제공업체가 발급하는 HTTPS URL로, 노드 목록·프로토콜 메타데이터가 한 번에 들어 있습니다. 위치는 업체마다 다르지만 “대시보드”, “구독 관리”, “Clash” 탭 등에서 복사합니다.
Clash Verge Rev에서 원격 프로필 추가
- 업체가 준 Clash 또는 Mihomo 구독만 복사합니다. V2Ray 단독·기타 전용 포맷은 이 클라이언트와 맞지 않을 수 있습니다.
- 앱 왼쪽에서 “프로필(구독)” 메뉴로 갑니다.
- 새 항목 추가 → 원격 URL에 붙여 넣고 가져오기를 누릅니다.
- 파싱이 끝나면 해당 프로필을 활성화합니다(강조 표시·체크 등 UI는 버전별로 조금 다릅니다).
- “프록시” 화면에서 노드 목록을 확인하고 지연이 낮은 것을 고릅니다.
팁: 자동 새로고침 주기(예: 24시간)를 켜 두면 노드/규칙이 주기적으로 갱신되어 수동 갱신 빈도를 줄일 수 있습니다.
4단계: Global · Rule · Direct 이해하기
대부분의 GUI는 다음 세 가지 모드를 제공합니다.
- Global: 모든 트래픽을 선택한 노드로 보냅니다. 테스트·일시 우회에 쓰기 좋지만 국내 사이트까지 돌아가면 지연이 늘고 데이터도 더 씁니다.
- Rule: YAML의 규칙과 정책 그룹에 따라 요청마다 DIRECT/프록시를 나눕니다. 일상 사용의 기본값으로 가장 무난합니다.
- Direct: 프록시 없이 전부 직접 연결합니다. 우회를 끄고 네트워크만 점검할 때 유용합니다.
평소에는 Rule 모드를 유지하는 것을 권장합니다. 불필요한 해외 경유를 줄이고 요금·대역폭을 아낄 수 있습니다.
5단계: 스마트 분할 규칙 다루기
Rules는 어떤 요청을 어느 정책 그룹으로 보낼지 정하는 핵심입니다. 많은 구독 프로필이 이미 기본 규칙을 포함하지만, 구조를 알면 나중에 커스터마이징이 쉽습니다.
자주 쓰는 규칙 형태
한 줄은 보통 종류, 값, 정책(또는 그룹명) 형태입니다.
# Domain-based rules — match specific domains
DOMAIN-SUFFIX,google.com,Proxy
DOMAIN-SUFFIX,naver.com,DIRECT
# IP-based rules — match IP address ranges
GEOIP,KR,DIRECT
# Process name rules — route by app
PROCESS-NAME,SomeApp,DIRECT
# Catch-all fallback
MATCH,Proxy
- DOMAIN-SUFFIX: 접미사 일치. 예:
DOMAIN-SUFFIX,youtube.com,Proxy - DOMAIN-KEYWORD: 도메인 문자열에 키워드 포함 시 매칭.
- GEOIP,CN,DIRECT: 지정 국가 ASN·대역으로 분류되는 목적지를 직결로 보낼 때 자주 씁니다(프로필에 따라 CN 대신 KR 등으로 바꿀 수 있습니다).
- RULE-SET: 원격 텍스트·YAML 규칙 묶음을 가져와 재사용.
- MATCH: 마지막에 두는 포괄 규칙으로, 위에서 안 잡힌 트래픽을 처리합니다.
rule-providers로 원격 규칙 세트 쓰기
수만 줄을 손으로 관리하기 어렵기 때문에 커뮤니티 규칙 세트를 rule-providers로 붙이는 방식이 일반적입니다.
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
interval: 86400
rules:
- RULE-SET,reject,REJECT
- RULE-SET,proxy,Proxy
- GEOIP,KR,DIRECT
- MATCH,Proxy
interval(초)마다 클라이언트가 규칙을 다시 받아 오므로, 목록을 수동으로 복사해 넣을 필요가 줄어듭니다. 실제 GEOIP 국가 코드는 거주지·구독·프로필 정책에 맞게 조정하세요.
심화: TUN 모드와 시스템 프록시
시스템 프록시는 HTTP(S) 프록시를 읽는 앱(대부분의 브라우저 등)에 주로 적용됩니다. 게임·일부 CLI·구형 앱은 시스템 설정을 무시합니다.
TUN 모드는 가상 인터페이스로 OS 트래픽을 더 넓게 가로채므로, 프록시를 모르는 앱까지 정책에 태우기 쉽습니다. 대신 권한·호환성 이슈를 함께 봐야 합니다.
웹 위주라면 시스템 프록시만으로도 충분한 경우가 많고, 전역에 가깝게 쓰려면 TUN을 검토하면 됩니다. 설정 위치는 사용 중인 클라이언트의 “TUN”, “가상 어댑터” 등 메뉴를 참고하세요.
문제 해결 체크리스트
아래는 현장에서 자주 나오는 증상과 점검 순서입니다.
구독 후 모든 노드가 타임아웃
캠퍼스망·회사망 등에서 아웃바운드가 막혔을 수 있습니다. 휴대폭·다른 회선으로 바꿔 보고, 구독 만료·URL 교체 여부를 확인하세요. 포맷이 Clash/Mihomo인지도 다시 봅니다.
브라우저만 되고 다른 앱은 안 됨
앱이 시스템 프록시를 쓰지 않는 경우입니다. TUN을 켜거나 해당 앱에 127.0.0.1과 실제 혼합 포트·SOCKS 포트를 직접 넣습니다(포트는 프로필의 port·socks-port·mixed-port를 확인).
지연은 괜찮은데 속도가 안 나옴
서버 혼잡, 물리 거리, ISP의 특정 프로토콜 샤핑, 공유 노드 차단 등이 원인일 수 있습니다. 지연 테스트·속도 테스트를 병행하고, 업체에 전용·대체 노드가 있는지 문의해 보세요. Shadowsocks에서 Hysteria2 등으로 바꿔 보는 것도 방법입니다.
규칙을 고쳬도 반영이 안 됨
메모리에 올라간 설정을 다시 로드하는 버튼을 누르거나 앱을 완전히 종료했다가 실행하세요. rule-providers URL이 막혔는지도 확인합니다.
디버깅: 내장 대시보드(예: http://127.0.0.1:9090/ui — 실제 포트는 설정의 external-controller를 따름)에서 연결·규칙 매칭 로그를 보면 원인 찾기가 빨라집니다.
오래 쓰려면
- 구독 자동 갱신을 켜거나 주기적으로 수동 새로고침.
- 원격 규칙은
interval을 하루(86400초) 등으로 맞춰 최신 ASN·도메인 목록을 유지. - 클라이언트·코어는 보안 패치·프로토콜 지원을 위해 최신 안정판을 따름.
- 잘 맞는
config.yaml은 암호화된 저장소 등에 백업해 기기 교체 시 재사용.
왜 정식 Clash 클라이언트를 쓸까요?
지금까지 설치·구독·규칙까지 한 흐름으로 정리했습니다. 다만 예전 Clash for Windows는 더 이상 적극 유지되지 않고, 일부 서드파티 빌드는 출처 검증이 어렵거나 UI·기능이 오래된 경우가 있습니다. 직접 YAML을 만지는 부담을 줄이면서도 Mihomo 계열 최신 기능을 쓰고 싶다면, 한곳에서 다운로드와 설정을 이어 주는 공식 웹사이트의 Clash 같은 제품이 대안이 됩니다. 구독 붙여 넣기, 노드 전환, 규칙 프리셋을 화면에서 처리할 수 있어 입문 단계에서 실수가 줄고, 오류 메시지와 도움말을 한국어·영어 등 사용 환경에 맞게 제공하는 경우도 많습니다.
예를 들어 여러 창에 나뉜 설정 파일을 수동으로 맞추던 과정을 자동 검증으로 줄이거나, Rule/TUN 전환을 명확한 토글로 통일한 클라이언트는 일상 사용에서 체감 차이가 큽니다. 복잡한 경로를 단순화해 두면 새 노드·새 규칙 세트가 나와도 부담이 적습니다.
Windows·macOS·Android·iOS·Linux용 패키지를 골라 받을 수 있으니, 아래에서 플랫폼에 맞는 파일을 받아 같은 단계(설치 → 구독 → Rule 모드)로 맞춰 보시면 됩니다.