Clash란 무엇이고, 어떤 문제를 해결하나
간단히 말하면, Clash는 「규칙에 따라 트래픽을 분류하는」 네트워크 프록시 클라이언트입니다: 모든 네트워크 요청이 어디로 가는지 확인한 뒤, 설정된 규칙에 따라 이 요청을 어떻게 처리할지 결정합니다——국내·지역 내에서 자주 쓰는 서비스는 직접 연결로 처리해 속도에 전혀 영향이 없고, 프록시가 필요한 서비스는 해당 노드로 전달되며, 광고와 악성 도메인은 로컬에서 즉시 차단되어 요청 자체가 나가지 않습니다. 이 모든 과정은 자동으로 이루어지며, 사용자는 평소 「전환」을 느끼지 못합니다. 어떤 웹사이트를 열든 어떤 경로로 가야 할지는 규칙이 이미 정해두었습니다.
완전한 오픈소스이자 크로스플랫폼 프로젝트로, Windows, macOS, Linux, Android, iOS에 각각 대응하는 클라이언트나 코어가 있으며 설정 파일 형식이 통일되어 있어 기기를 바꿔도 새로운 사용법을 익힐 필요가 없습니다. 사용하려면 세 가지 역할만 이해하면 됩니다:
- 클라이언트 — 설치한 프로그램(GUI 또는 명령줄)으로, 설정을 읽고 노드에 연결하고 현재 상태를 보여주는 역할을 합니다;
- 구독 링크 — 이용 중인 프록시 서비스 제공자가 제공하는, 노드 목록이 포함된 주소로 클라이언트가 주기적으로 가져와 업데이트합니다;
- 설정 파일 — 모든 라우팅 규칙과 정책 그룹 로직을 정의하는
config.yaml파일로, 대부분의 경우 구독을 통해 자동으로 생성되어 직접 작성할 필요가 없습니다.
3단계로 빠르게 시작하기
클라이언트 설치부터 실제 프록시 사용까지, 사실 세 단계면 충분합니다. 마우스 클릭만으로 끝낼 수 있으며 설정 파일을 직접 다룰 필요가 없습니다:
클라이언트 다운로드 및 설치
사용 중인 시스템에 맞는 GUI 클라이언트를 선택하는 것이 가장 편리합니다. 전 플랫폼의 설치 파일과 상세 단계는 모두 다운로드 페이지에 있으니 안내에 따라 설치하시면 됩니다.
구독 링크 붙여넣기 및 가져오기
클라이언트의 「구독 관리」에 프록시 서비스 제공자가 준 구독 주소를 붙여넣고 저장하면, 클라이언트가 즉시 노드 목록을 가져옵니다. https://example.com/api/v1/subscribe?token=xxx 같은 형태의 주소는 전체를 그대로 복사해야 하며, 임의로 자르지 마세요.
노드 선택 및 시스템 프록시 켜기
노드 목록에서 정책 그룹을 하나 선택하고(클라이언트가 보통 자동으로 속도를 테스트해 최적의 노드를 선택해 줍니다), 「시스템 프록시로 설정」을 켠 뒤 프록시가 필요한 웹사이트에 접속해 보세요. 열린다면 정상적으로 작동하는 것입니다. 사용하지 않을 때는 스위치를 끄면 됩니다.
핵심 개념, 이 5가지만 이해하면 충분합니다
일상적인 사용에는 이런 것들을 굳이 알아둘 필요가 없지만, 규칙을 직접 조정하거나 문제의 원인을 알고 싶다면 아래 개념들을 피할 수 없습니다. 핵심만 짚어 쉽게 설명하겠습니다:
정책 그룹 Proxy Group
정책 그룹은 여러 노드를 하나로 묶어 호출하는 방식으로, 일반적으로 세 가지 유형이 있습니다: 「자동 선택」은 주기적으로 속도를 테스트해 지연이 가장 낮은 노드로 자동 전환하고, 「수동 전환」은 현재 사용할 노드를 직접 결정하며, 「장애 조치」는 주 노드가 실패하면 자동으로 백업 노드로 전환해 연결 끊김을 방지합니다. 대부분의 구독으로 생성된 설정에는 이미 합리적인 정책 그룹이 내장되어 있어 일상적인 사용에서는 보통 수동으로 조정할 필요가 없습니다.
규칙과 규칙 세트 Rules
규칙은 순서대로 하나씩 매칭되며, 일치하는 순간 즉시 적용되고 더 이상 아래로 매칭하지 않으므로 순서가 매우 중요합니다——더 정확하고 자주 사용되는 규칙을 앞쪽에 배치해야 합니다. 규칙 세트(Rule-Set)는 대량의 동일한 유형 규칙을 원격으로 업데이트할 수 있는 하나의 파일로 묶은 것으로, 하나씩 수동으로 유지 관리할 필요가 없으며 구독이 업데이트될 때 규칙 세트도 함께 갱신됩니다.
GeoIP / GeoSite
GeoIP는 IP 주소를 지리적 위치에 대응시키는 데이터베이스이고, GeoSite는 도메인을 소속 분류에 대응시키는 데이터베이스입니다. 둘 다 규칙 엔진이 「내 지역 내 주소인지」를 판단하는 데 가장 자주 사용하는 근거입니다. 규칙 세트에는 보통 이러한 데이터가 이미 내장되어 있어 별도로 다운로드하거나 설정할 필요가 없습니다.
DNS 유출 방지
트래픽만 프록시로 보내고 DNS 조회를 가로채지 않으면, 도메인 해석 요청이 여전히 로컬 통신사 DNS로 직접 전송되어 실제로 접속 중인 도메인이 노출될 수 있습니다. 이것이 바로 「DNS 유출」입니다. 클라이언트는 규칙에 따라 해석 요청을 분류합니다(국내·지역 내 도메인은 로컬 DNS로, 그 외는 안전한 원격 DNS로 처리). 이렇게 근본적으로 이 문제를 방지하며, 대부분의 클라이언트는 기본적으로 이미 켜져 있어 별도의 설정이 필요 없습니다.
TUN 모드
시스템 프록시는 시스템 프록시 설정을 따르는 프로그램에만 적용됩니다. 일부 게임, 명령줄 도구, 시스템 수준 요청은 시스템 프록시를 거치지 않습니다. TUN 모드는 가상 네트워크 카드를 생성해 네트워크 계층에서 모든 트래픽을 처리하므로 프록시 범위가 더 완전하지만, 단점은 더 높은 시스템 권한(관리자/루트 권한)이 필요하다는 것입니다. 일상적인 웹 브라우징에는 시스템 프록시만으로 충분하며, 특별한 필요가 있을 때 TUN을 켜세요.
실제 설정 작성 방법을 보고 싶으신가요? 여기 예시 코드를 클릭해 확인해 보세요
proxy-groups:
- name: 자동 선택
type: url-test
proxies: [노드A, 노드B, 노드C]
url: http://www.gstatic.com/generate_204
interval: 300
- name: 수동 전환
type: select
proxies: [자동 선택, 노드A, 노드B, DIRECT]
rules:
- DOMAIN-SUFFIX,google.com,PROXY
- DOMAIN-KEYWORD,youtube,PROXY
- GEOIP,KR,DIRECT
- DOMAIN-SUFFIX,doubleclick.net,REJECT
- MATCH,PROXY
이 몇 줄의 규칙은 순서대로 다음을 의미합니다: google.com으로 끝나는 도메인은 프록시로; 도메인에 youtube가 포함되면 프록시로; IP 소재지가 한국(본인의 국가 코드로 바꾸세요)이면 직접 연결; 광고 도메인은 즉시 차단; 나머지 매칭되지 않은 모든 트래픽은 마지막에 프록시로 일괄 처리.
이런 상황들, Clash라면 모두 해결할 수 있습니다
기본 사용법을 익히셨다면, 아래는 일상에서 가장 많이 물어보는 실용적인 시나리오들입니다:
앱별 프록시
특정 앱(예: 특정 동영상이나 채팅 소프트웨어)만 프록시로 보내고 나머지 앱은 직접 연결을 유지하고 싶다면, 클라이언트의 「앱별 프록시」 설정에서 대상 앱을 목록에 추가하세요. 나머지 앱은 기본적으로 직접 연결되어 서로 영향을 주지 않으며, 불필요한 트래픽 소모도 줄일 수 있습니다.
광고 및 추적 차단
규칙 파일에 광고 도메인 규칙 세트를 추가하면, 일치하는 요청이 REJECT로 표시되어 즉시 폐기됩니다. 이는 네트워크 계층에서 광고 필터링을 하는 것과 같으며, 브라우저와 앱의 일부 광고와 추적 스크립트가 로드에 실패해 표시되지 않게 됩니다.
여러 구독 동시 사용
여러 서비스 제공자의 구독을 동시에 보유하고 있다면, 대부분의 클라이언트는 여러 구독 링크 추가를 지원하며 정책 그룹에서 서로 다른 출처의 노드를 혼합 편성할 수 있습니다. 「설정 병합」 기능을 사용해 여러 설정을 하나의 최종 설정으로 통합해 오가며 전환하는 번거로움을 피할 수도 있습니다.
LAN 기기 공유
클라이언트 네트워크 설정에서 「LAN에서의 연결 허용」을 켜고 본 기기의 LAN IP와 프록시 포트를 기록해 두세요. 같은 네트워크상의 다른 기기(예: TV 셋톱박스, 게임 콘솔)에 이 프록시 주소를 직접 입력하면 별도 클라이언트를 설치하지 않고도 동일한 프록시 규칙을 공유할 수 있습니다.
익숙해진 후에 살펴볼 고급 팁
원격 규칙 세트 자동 업데이트 — 규칙 세트를 Rule Provider 원격 링크로 설정하면 구독 주기에 따라 내용이 자동으로 갱신되어 파일을 수동으로 교체할 필요가 없습니다.
설정 재정의 및 병합 — 일부 클라이언트는 「재정의」 또는 「병합」 기능을 지원해, 구독 원본 설정을 변경하지 않고도 사용자 정의 규칙을 추가할 수 있습니다. 구독이 업데이트되어도 사용자 정의 부분은 덮어써지지 않습니다.
여러 기기 간 설정 동기화 — 구독 링크가 동일하다면 서로 다른 기기에서 가져온 노드와 규칙도 동일합니다. 재정의 규칙을 사용자 정의했다면 해당 부분을 따로 백업해 두면 기기를 바꾸거나 재설치한 후 빠르게 복원할 수 있습니다.
배터리 및 리소스 절약 — 배터리 소모나 성능이 걱정된다면 속도 테스트 간격을 적절히 늘리고 상세 연결 로그를 끄는 것이 특히 오래된 기기와 라우터에 효과적입니다.
규칙 문법을 직접 작성하거나 Provider 원격 관리를 설정하거나 DNS/TUN 고급 파라미터를 조정하는 등 더 깊이 알아보고 싶으시다면 고급 설정 문서를 계속 확인해 보세요.
자주 묻는 질문
구독 링크란 무엇이고, 어디서 받나요?
구독 링크는 프록시 서비스 제공자가 생성하는 URL로, 사용할 수 있는 노드 목록과 추천 규칙이 포함되어 있습니다. Clash 공식 사이트는 노드 자원을 제공하지 않으므로 이용 중인 서비스 제공자에게 구독 주소를 요청해야 합니다.
구독을 가져왔는데 사용 가능한 노드가 없다고 표시되나요?
구독 링크가 만료되었거나 기기 수 제한에 도달했는지 먼저 확인해 보세요. 클라이언트 하단의 로그 패널을 확인해 구독을 가져올 때 네트워크 오류나 형식 파싱 실패 메시지가 있는지도 살펴보세요.
시스템 프록시와 TUN 모드는 어떻게 선택해야 하나요?
일상적인 웹과 앱 사용에는 시스템 프록시만으로 충분합니다. 설정이 간단하고 호환성이 좋습니다. 게임, 명령줄 도구처럼 시스템 프록시 설정을 따르지 않는 프로그램을 프록시로 보내야 한다면 TUN 모드를 켜서 전역으로 처리하는 것을 권장합니다.
어떤 트래픽이 프록시로 갔고 어떤 것이 직접 연결됐는지 어떻게 확인하나요?
대부분의 GUI 클라이언트는 「연결」 또는 「로그」 패널을 제공해, 각 요청이 매칭된 규칙과 최종 경로(DIRECT / PROXY / REJECT)를 실시간으로 보여줍니다. 라우팅이 제대로 작동하는지 매우 직관적으로 확인할 수 있습니다.
구독 링크를 변경한 후 이전 노드 정보가 남아있으면 어떻게 하나요?
「구독 관리」에서 이전 구독 항목을 삭제하고 새 링크를 다시 추가하거나, 클라이언트에 내장된 「구독 업데이트」 기능으로 강제로 덮어써서 새 노드 목록과 이전 목록이 혼합되는 혼란을 방지하세요.
설정을 잘못 건드려서 엉망이 되었는데 어떻게 복구하나요?
구독 링크를 다시 가져오면 대부분의 사용자 정의 변경 사항을 덮어쓸 수 있습니다. 재정의나 병합 기능을 사용했다면 사용자 정의 부분을 미리 백업해 두거나, 클라이언트 설정 폴더를 삭제한 후 다시 가져오세요.
휴대폰에서 사용하면 배터리나 데이터를 많이 소모하나요?
정상적으로 사용할 때 배터리와 데이터 증가분은 매우 적으며, 주요 소모는 백그라운드 속도 테스트와 로그 기록에서 발생합니다. 설정에서 속도 테스트 빈도를 낮추고 상세 로그를 꺼서 리소스를 더 절약할 수 있습니다.
설정 파일은 일반적으로 어디에 저장되나요?
클라이언트마다 경로가 조금씩 다르지만, 보통 설정 패널에서 「설정 폴더 열기」와 같은 항목을 바로 찾을 수 있습니다. 직접 편집하거나 백업해야 한다면 이 항목을 통해 config.yaml이 있는 폴더를 찾을 수 있습니다.
원리와 설정 문법을 확인하셨다면, 이제 클라이언트를 다운로드하고 구독을 가져오기만 하면 정식으로 사용을 시작할 수 있습니다.