Clash 클라이언트 UI 가이드: 프록시·프로필·로그 화면 한눈에 보기
클라이언트 화면별 주요 기능을 정리했습니다. 프록시 화면의 그룹·노드 전환, 프로필 화면의 구독 관리·업데이트, 로그 화면의 문제 해결 경로를 익혀 처음 실행한 뒤에도 빠르게 사용할 수 있습니다.
먼저 클라이언트 화면의 사용 흐름부터 익히기
Clash 그래픽 클라이언트는 일반적으로 프록시 서비스 자체가 아니라 코어, 설정 파일, 시스템 네트워크 설정을 관리하는 화면입니다. 클라이언트마다 사이드바 이름과 배치는 조금씩 다르지만 핵심 영역은 대체로 같습니다. 개요 화면에서는 켜기·끄기와 상태를 확인하고, 프록시 화면에서는 정책을 선택하며, 프로필 화면에서는 구독을 관리합니다. 연결 화면은 현재 트래픽을 보여 주고, 규칙 화면은 매칭 결과를 설명하며, 로그 화면은 코어의 실행 과정을 기록합니다. 설정 화면에서는 포트, TUN, 시작 시 자동 실행 같은 로컬 옵션을 관리합니다.
처음 클라이언트를 열었을 때 모든 설정을 하나씩 바꿀 필요는 없습니다. 먼저 설정을 가져오고, 프록시 화면에서 정책 그룹이 생성되었는지 확인한 뒤 시스템 프록시를 켜는 순서가 안전합니다. 문제가 생기면 연결, 규칙, 로그 순서로 확인하세요. 이렇게 하면 “설정이 유효한가”, “트래픽이 코어에 들어갔는가”, “규칙이 요청을 어떻게 처리했는가”를 나누어 점검할 수 있습니다.
| 화면 영역 | 주요 용도 | 처음 사용할 때 조작이 필요한가 |
|---|---|---|
| 개요 또는 홈 | 시스템 프록시 켜기, 포트·트래픽·코어 상태 확인 | 필요 |
| 프록시 | 정책 그룹과 그룹 내 노드 선택 | 필요 |
| 프로필 | 구독 설정 가져오기·업데이트·전환 | 필요 |
| 연결 | 현재 연결, 업로드·다운로드량, 매칭된 경로 확인 | 문제 해결 시 사용 |
| 규칙 | 도메인이나 네트워크 대역이 어떤 규칙과 매칭되는지 확인 | 문제 해결 시 사용 |
| 로그 | 설정 로드, DNS, 연결 및 코어 오류 확인 | 문제 해결 시 사용 |
| 설정 | 포트, TUN, 시스템 프록시 및 시작 동작 관리 | 필요할 때 사용 |
개요 화면: 스위치, 포트 및 실행 상태
시스템 프록시 스위치가 제어하는 항목
개요 화면에서 가장 자주 사용하는 항목은 “시스템 프록시”입니다. 이 기능을 켜면 클라이언트가 운영체제의 HTTP 및 HTTPS 프록시 주소를 127.0.0.1:7890 같은 로컬 수신 포트로 지정합니다. 이후 브라우저와 시스템 프록시 설정을 따르는 데스크톱 앱은 요청을 Clash 코어로 전달하고, 코어는 규칙에 따라 직접 연결할지, 거부할지, 특정 정책 그룹으로 전달할지 결정합니다.
시스템 프록시 스위치는 코어 스위치와 같은 의미가 아닙니다. 일부 클라이언트는 실행 후 코어가 백그라운드에서 이미 포트를 수신하고 있어도 시스템 프록시는 꺼져 있을 수 있습니다. 이때 프록시 포트를 직접 지정한 앱은 코어를 사용할 수 있지만 일반 브라우저 트래픽은 코어로 들어가지 않을 수 있습니다. 클라이언트를 종료하기 전 시스템 프록시를 끄면 시스템 설정을 원래 상태로 되돌릴 수 있습니다. 일반적으로 완성도 높은 클라이언트는 정상 종료 시 자동으로 복구합니다.
혼합 포트, HTTP 포트 및 SOCKS 포트
일반적인 설정에서는 mixed-port: 7890을 사용해 하나의 포트에서 HTTP와 SOCKS5 요청을 함께 받습니다. 또는 port: 7890과 socks-port: 7891을 각각 지정할 수도 있습니다. 포트 번호는 고정된 표준값이 아니므로 현재 클라이언트의 설정 화면과 실제 설정을 기준으로 확인해야 합니다. 다른 프로그램이 이미 7890을 사용 중이면 코어가 시작되지 않을 수 있으며, 로그에는 보통 주소가 이미 사용 중이거나 수신에 실패했다는 메시지가 표시됩니다.
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
위 예시는 코어가 로컬 7890 포트에서 혼합 프록시를 제공하고, 규칙 모드로 실행되며, 127.0.0.1:9090에서 제어 인터페이스를 제공한다는 뜻입니다. 제어 인터페이스는 그래픽 클라이언트가 연결, 규칙, 트래픽 상태를 읽는 데 사용되며 브라우저에 입력하는 프록시 포트가 아닙니다.
모드 선택과 노드 선택은 다릅니다
- 규칙 모드:
rules를 위에서 아래로 매칭합니다. 요청마다 직접 연결, 프록시 또는 거부 정책으로 처리될 수 있어 일상적인 사용에 적합합니다. - 전역 모드: 트래픽을 전역 정책 그룹으로 전달합니다. 특정 노드가 대상에 연결되는지 임시로 확인할 때 주로 사용합니다.
- 직접 연결 모드: 요청이 프록시 노드를 거치지 않고 대상에 직접 접속합니다. 네트워크 차이를 비교할 때 사용할 수 있습니다.
모드는 규칙을 처리하는 방식만 결정하며, 품질이 가장 좋은 노드를 자동으로 선택해 주지는 않습니다. 규칙 모드에서도 프록시 화면으로 이동해 해당 정책 그룹에서 현재 어떤 항목을 선택했는지 확인해야 합니다.
프록시 화면: 정책 그룹과 노드 전환
먼저 정책 그룹을 확인한 뒤 노드를 살펴보기
프록시 화면에서는 보통 여러 정책 그룹을 카드나 목록으로 표시합니다. 정책 그룹은 설정 작성자가 정의한 출구 선택기이며, 이름은 “노드 선택”, “자동 선택”, “스트리밍” 또는 “최종 규칙” 등으로 표시될 수 있습니다. 그룹 안에는 실제 노드뿐 아니라 다른 정책 그룹도 들어갈 수 있어 화면의 선택 구조가 2~3단계로 이어지기도 합니다.
예를 들어 규칙이 특정 도메인을 Proxy 그룹으로 보내고, Proxy가 현재 Auto를 선택했으며, Auto가 다시 지연 시간 테스트로 노드를 고른다고 가정해 보겠습니다. 이때 관계없는 그룹을 직접 바꿔도 해당 도메인에는 영향을 주지 않습니다. 규칙이 매칭한 정책 이름에서 시작해 그룹 참조 관계를 따라 최종 출구까지 확인하는 것이 올바른 방법입니다.
proxy-groups:
- name: Proxy
type: select
proxies:
- Auto
- DIRECT
- Node-A
- name: Auto
type: url-test
proxies:
- Node-A
- Node-B
url: https://www.gstatic.com/generate_204
interval: 300
select 그룹은 직접 선택해야 합니다. url-test 그룹은 테스트 결과에 따라 자동으로 선택하고, fallback은 사용 가능 여부를 우선해 현재 노드가 작동하지 않을 때 전환합니다. load-balance는 설정된 정책에 따라 여러 노드에 연결을 분산합니다. 그래픽 클라이언트는 이러한 설정 구조를 보여 줄 뿐이며 실제 동작은 코어와 설정 내용이 결정합니다.
지연 시간 수치는 어떻게 봐야 할까
프록시 화면의 테스트 값은 보통 로컬 장치에서 노드를 거쳐 지정된 테스트 주소에 접속하는 데 걸린 시간이며, 단위는 밀리초입니다. 80ms로 표시되면 해당 탐색에 약 0.08초가 걸렸다는 뜻이지 다운로드 속도가 특정 값이라는 의미는 아닙니다. 지연 시간이 짧아도 대역폭이 부족할 수 있고, 테스트에는 성공했지만 대상 웹사이트 연결에는 실패할 수도 있습니다.
- 한 번의 테스트보다 연속 테스트가 참고하기 좋습니다. 몇 초 간격으로 세 번 결과를 확인하면 일시적인 변동을 걸러낼 수 있습니다.
- “시간 초과”가 표시되면 테스트만 반복해서 누르지 말고 먼저 설정을 업데이트한 뒤 노드의 유효 기간과 로컬 네트워크를 확인하세요.
- 노드 전환은 이후 새로 만드는 연결에만 영향을 줍니다. 이미 연결된 장시간 연결은 기존 출구를 계속 사용할 수 있습니다.
- 새 노드를 즉시 확인하려면 연결 화면에서 기존 연결을 종료한 다음 대상 페이지를 다시 로드하세요.
프로필 화면: 구독 가져오기·업데이트·전환
프로필 화면에는 실제 실행에 필요한 설정이 저장됨
프로필 화면은 “Profiles” 또는 “구독”이라고도 합니다. 하나의 설정에는 보통 수신 포트, DNS, 노드, 정책 그룹 및 규칙이 포함됩니다. 클라이언트는 그중 하나를 현재 설정으로 선택하고, 처리된 내용을 Clash Meta(mihomo) 같은 호환 코어에 전달해 로드합니다. 프록시 화면이 비어 있거나 정책 그룹이 없거나 모드를 전환할 수 없다면 먼저 설정이 제대로 활성화되었는지 확인해야 합니다.
일반적인 가져오기 경로는 「프로필」→「새로 만들기」→「URL」입니다. 구독 주소를 붙여 넣고 저장하세요. 일부 클라이언트에서는 「구독」→「구독 추가」를 사용합니다. 로컬 파일을 가져올 때는 YAML 파일을 선택합니다. 완료 후에는 해당 설정을 클릭하거나 “현재 설정으로 지정”을 눌러 활성화해야 합니다. 파일을 목록에 다운로드하는 것만으로는 현재 실행 중인 설정이 자동으로 교체되지 않을 수 있습니다.
업데이트 버튼이 수행하는 작업
- 클라이언트가 구독 주소에 요청을 보내 새 콘텐츠를 다운로드합니다.
- 응답 콘텐츠의 형식을 식별하거나 변환합니다. 구체적인 지원 범위는 클라이언트에 따라 다릅니다.
- 새 로컬 사본을 저장하고 클라이언트 설정에 따라 코어를 다시 로드합니다.
- 프록시 화면에서 정책 그룹과 노드 목록을 다시 생성합니다.
정상적인 소형 설정은 보통 몇 초 안에 업데이트됩니다. 업데이트 후에도 프록시 화면이 바뀌지 않으면 다른 설정으로 전환했다가 다시 돌아오거나, 로그에서 YAML 파싱 오류, 네트워크 시간 초과, 비정상적인 HTTP 상태가 있는지 확인하세요. 구독 주소는 민감한 설정이므로 공개 스크린샷, 로그 공유 페이지 또는 질문 게시판에 붙여 넣지 않는 것이 좋습니다.
설정 업데이트에 실패했을 때 확인할 항목
| 화면에 나타난 현상 | 가능한 원인 | 우선 확인할 항목 |
|---|---|---|
| 요청 시간 초과 메시지가 표시됨 | 현재 네트워크에서 구독 주소에 접근할 수 없음 | 네트워크 연결, 시스템 시간, 주소가 완전한지 확인 |
| 다운로드는 성공했지만 활성화할 수 없음 | YAML 문법 또는 필드 호환성 문제 | 로그의 파싱 오류 행 번호와 필드명 |
| 프록시 화면에 정책 그룹이 없음 | 설정 내용이 불완전하거나 활성화되지 않음 | 현재 설정 표시, 파일 내용 및 업데이트 시간 |
| 업데이트 후에도 이전 노드가 표시됨 | 캐시가 다시 로드되지 않았거나 원격 콘텐츠가 변경되지 않음 | 업데이트 시간, 설정 전환, 클라이언트 재시작 |
클라이언트에서 오버라이드, 스크립트 또는 설정 병합 기능을 제공하더라도 처음에는 꺼 두는 것이 좋습니다. 오버라이드는 DNS, 규칙, 정책 그룹을 바꿀 수 있습니다. 문제를 해결할 때 원래 구독과 로컬 수정 사항을 함께 이해해야 하므로 복잡도가 크게 높아집니다.
연결 및 규칙 화면: 요청의 이동 경로 추적
연결 화면에서 확인할 수 있는 세 가지
연결 화면에는 현재 진행 중이거나 방금 생성된 네트워크 연결이 표시됩니다. 일반적인 열에는 대상 도메인, 대상 IP, 프로토콜, 규칙, 정책 체인, 업로드량, 다운로드량, 생성 시간이 포함됩니다. 요청이 Clash에 들어왔는지, 어떤 규칙과 매칭되었는지, 최종적으로 어떤 노드를 사용했는지 확인하기 좋습니다.
- 목록에 새 기록이 전혀 없음: 앱이 시스템 프록시를 읽지 않았거나 TUN이 필요할 수 있습니다.
- 기록에 DIRECT가 표시됨: 규칙이 요청을 직접 연결로 판단한 것이므로 일반 프록시 그룹으로 바꿔도 결과가 달라지지 않습니다.
- 정책 체인에 여러 이름이 표시됨: 요청이 중첩된 정책 그룹을 거쳤으며, 마지막 노드가 실제 출구인 경우가 많습니다.
- 다운로드량은 계속 늘지만 페이지가 완료되지 않음: 연결은 성립된 상태이므로 DNS, 대상 응답 또는 앱 자체 상태를 계속 확인해야 합니다.
많은 클라이언트에서는 연결 화면에서 개별 연결을 종료하거나 모든 연결을 닫을 수 있습니다. 노드를 바꾼 뒤 기존 연결을 종료하고 페이지를 다시 열면 HTTP/2, WebSocket 또는 다운로드 작업이 기존 연결을 계속 재사용하는 것을 막을 수 있습니다. 단, 모든 연결을 닫으면 진행 중인 다운로드, 동기화, 온라인 통화가 중단되므로 중요한 작업이 없는지 먼저 확인하세요.
규칙 화면에서 매칭 순서 확인
Clash 규칙은 설정에 적힌 순서대로 매칭되며, 보통 조건에 맞는 첫 번째 규칙을 찾으면 중지합니다. 흔히 사용하는 규칙 유형으로는 DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, IP-CIDR, GEOIP, 마지막 기본 규칙인 MATCH가 있습니다. 규칙 화면을 통해 특정 도메인이 직접 연결되거나 특정 그룹으로 이동한 이유를 파악할 수 있습니다.
rules:
- DOMAIN,example.com,DIRECT
- DOMAIN-SUFFIX,example.net,Proxy
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- GEOIP,CN,DIRECT
- MATCH,Proxy
위 설정에서는 example.com이 직접 연결되고, example.net과 그 하위 도메인은 Proxy로 전달됩니다. 로컬 네트워크 주소는 직접 연결되며, 앞에서 매칭되지 않은 나머지 요청은 최종적으로 Proxy로 들어갑니다. 포괄적인 규칙이 더 구체적인 규칙보다 앞에 있으면 뒤의 구체적인 규칙은 실행되지 않을 수 있습니다.
로그 화면: 수준과 키워드로 문제 찾기
먼저 적절한 로그 수준을 선택하기
일반적인 로그 수준에는 silent, error, warning, info, debug가 있습니다. 평소에는 info로도 충분합니다. 복잡한 연결 문제를 찾을 때만 일시적으로 debug로 전환하세요. 디버그 로그는 더 빠르게 쌓이고 도메인, 대상 주소, 연결 세부 정보가 더 많이 포함되므로 점검이 끝나면 info로 되돌리는 것이 좋습니다.
일반적인 데스크톱 클라이언트에서는 「설정」→「Clash 설정」→「로그 수준」에서 조정할 수 있습니다. 일부 화면에서는 「설정」→「코어 설정」에 있습니다. 수준을 바꾼 뒤 문제를 한 번 재현하는 편이 오래된 로그를 대량으로 검색하는 것보다 쉽습니다. 재현할 때는 정확한 시간을 기록하세요. 예를 들어 14:32:10에 대상 앱을 연 뒤 해당 시각 이후의 로그를 확인하면 됩니다.
자주 보이는 로그 메시지 해석
| 키워드 또는 현상 | 의미 | 처리 방향 |
|---|---|---|
address already in use |
수신 포트가 다른 프로세스에서 이미 사용 중임 | 해당 프로그램을 종료하거나 혼합 포트를 변경 |
connection refused |
대상 주소가 연결을 적극적으로 거부함 | 노드 서비스, 대상 포트 및 업스트림 상태 확인 |
i/o timeout |
정해진 시간 안에 네트워크 작업이 완료되지 않음 | 로컬 네트워크, 노드 및 DNS 확인 |
yaml 및 행 번호 |
설정 파일 문법 파싱 실패 | 들여쓰기, 콜론, 목록 형식 및 해당 행 확인 |
authentication required |
업스트림 또는 로컬 인터페이스에서 인증을 요구함 | 인증 필드와 구독 상태 확인 |
| DNS 오류가 반복해서 발생함 | 도메인 확인 경로가 정상적으로 작동하지 않음 | DNS 섹션, 수신 포트 및 네트워크 권한 확인 |
오류 로그 한 줄은 특정 시점에 발생한 결과만 설명할 뿐 근본 원인을 뜻하지 않을 수 있습니다. 예를 들어 연결 시간 초과는 노드에 접근할 수 없어서 발생할 수도 있고, DNS가 먼저 사용할 수 없는 주소를 반환해서 발생할 수도 있습니다. 문제를 해결할 때는 오류 전후의 로그 몇 줄, 연결 화면의 정책 체인, 현재 설정을 함께 확인해야 합니다.
설정 화면: TUN, 로컬 네트워크 및 시작 옵션
TUN 모드를 켜야 하는 경우
시스템 프록시는 앱이 운영체제의 프록시 설정을 직접 읽는 방식에 의존합니다. 일부 게임, 명령줄 프로그램, 스토어 앱, 사용자 정의 네트워크 스택을 사용하는 소프트웨어는 이 설정을 무시할 수 있습니다. TUN 모드는 가상 네트워크 인터페이스를 통해 IP 계층에서 더 넓은 범위의 트래픽을 가로채므로 적용 범위가 넓습니다. 대신 관리자 권한, 라우팅 테이블, DNS 가로채기, 다른 VPN 소프트웨어와의 호환성 문제가 관련될 수 있습니다.
일반적인 경로는 「설정」→「Clash 설정」→「TUN 모드」이며, 일부 클라이언트는 먼저 서비스 모드 설치를 요구합니다. 처음 켤 때 시스템 권한 확인 창이 나타날 수 있습니다. 시스템 프록시만으로 대상 앱을 처리할 수 있다면 “더 빠르다”는 이유로 TUN으로 바꿀 필요는 없습니다. TUN은 주로 트래픽 가로채기 범위를 넓히는 기능이며 노드 대역폭을 직접 높이지 않습니다.
- 켠 뒤 인터넷이 완전히 끊김: 먼저 TUN을 끄고 가상 네트워크 어댑터, DNS 설정, 다른 VPN과의 충돌을 확인하세요.
- 로컬 네트워크 장치에 접근할 수 없음: 라우팅 제외 범위를 확인하고 일반적인 사설 네트워크 대역이 직접 연결되도록 하세요.
- 클라이언트 종료 후 네트워크 이상: 클라이언트를 다시 열어 TUN을 정상적으로 끈 다음 시스템 라우팅과 DNS를 확인하세요.
- 특정 프로그램 하나만 프록시를 사용하지 않음: 먼저 연결 화면에서 확인하고, 기록이 없을 때 TUN을 검토하세요.
로컬 네트워크 연결 허용의 의미
allow-lan: true는 같은 로컬 네트워크의 다른 장치가 클라이언트가 수신 중인 프록시 포트에 접근하도록 허용합니다. 활성화한 뒤에는 수신 주소, 방화벽, 장치 IP도 확인해야 합니다. 예를 들어 컴퓨터 주소가 192.168.1.20이고 혼합 포트가 7890이면 휴대폰의 수동 프록시에는 서버 192.168.1.20, 포트 7890을 입력해야 하며 127.0.0.1을 입력하면 안 됩니다.
로컬 네트워크 공유는 신뢰할 수 있는 네트워크에서만 사용하세요. 클라이언트가 로컬 프록시 인증을 지원한다면 사용자 이름과 비밀번호도 함께 설정할 수 있습니다. 가정이나 사무실 네트워크를 벗어나면 로컬 네트워크 연결 허용을 끄거나 시스템 방화벽으로 접근 가능한 네트워크 대역을 제한하세요.
처음 사용할 때의 전체 작업 순서
- 프로필 화면을 열고 URL 또는 로컬 YAML 파일로 유효한 설정을 가져옵니다.
- 해당 설정이 현재 설정으로 표시되어 있는지 확인하고 최근 업데이트 시간을 확인합니다.
- 프록시 화면으로 이동해 정책 그룹과 노드가 표시되는지 확인한 뒤 지연 시간 테스트를 한 번 실행합니다.
- 주요 선택 그룹에서 노드 또는 자동 선택 그룹을 지정합니다.
- 개요 화면으로 돌아가 규칙 모드를 유지한 채 시스템 프록시를 켭니다.
- 브라우저에서 대상 페이지를 열고 연결 화면에 새 기록이 나타나는지 확인합니다.
- 연결에 실패하면 매칭된 규칙, 정책 체인, 로그의 해당 시간대를 확인합니다.
- 대상 앱이 시스템 프록시를 읽지 않을 때만 TUN 모드가 필요한지 검토합니다.
이 순서는 설정, 정책, 트래픽 가로채기, 문제 해결을 독립적인 단계로 나눕니다. 프록시 화면에는 노드가 있지만 브라우저 연결 기록이 없다면 시스템 프록시나 앱의 프록시 적용 문제일 가능성이 큽니다. 연결 기록은 있지만 정책이 DIRECT라면 규칙을 확인해야 합니다. 정책은 올바른데 시간 초과가 발생한다면 노드, 로컬 네트워크, DNS를 계속 점검하세요.
화면 문제 해결의 핵심
Clash 클라이언트의 각 화면은 서로 독립적이지 않습니다. 프로필 화면은 규칙과 정책 그룹을 제공하고, 프록시 화면은 그룹 내 선택을 결정하며, 개요 화면은 시스템이 트래픽을 코어로 넘길지 제어합니다. 연결 화면은 실시간 처리 결과를 보여 주고 로그 화면은 오류 세부 정보를 기록합니다. 문제를 해결할 때 이 흐름을 따라 단계별로 확인하는 편이 자주 재설치하거나 여러 설정을 동시에 바꾸는 것보다 원인을 찾기 쉽습니다.
평소에는 프로필, 프록시, 개요 화면만 사용하면 됩니다. 연결, 규칙, 로그 화면은 주로 이상 현상을 분석할 때 사용합니다. 각 화면이 답하는 질문을 이해해 두면 메뉴 배치가 다른 Clash Meta(mihomo) 클라이언트로 바꿔도 해당 기능을 빠르게 찾을 수 있습니다.