REFERENCE / 25 TERMS

Clash 용어 사전

화면에 표시되는 용어를 설정 필드와 연결해 보세요. 커널, 프로토콜, 라우팅, 트래픽 처리 방식, 구독 형식을 다섯 가지 범주로 살펴볼 수 있으며 각 용어에는 개별 앵커가 있습니다.

01 / ENGINE & CLIENT

커널 및 클라이언트

클라이언트는 조작 인터페이스를 제공하고 커널은 연결을 처리합니다. 문제를 확인할 때는 클라이언트 이름, 커널 이름, 실행 설정을 각각 기록하세요.

mihomo프록시 커널 / Clash.Meta
mihomo는 Clash 생태계의 프록시 커널로, 과거에는 Clash.Meta라는 이름을 사용했습니다. 프로토콜 연결, DNS 처리, 규칙 매칭, 트래픽 전달을 담당합니다. Clash Verge Rev 같은 GUI 클라이언트에 이 커널이 포함될 수 있지만, 인터페이스 버전과 커널 버전은 별개입니다. 특정 필드의 지원 여부를 확인할 때는 클라이언트 이름만 보지 말고 실제 실행 중인 커널과 해당 문서를 기준으로 판단하세요.
GUI 클라이언트GUI / 설정 및 시스템 연동
GUI 클라이언트는 구독 관리, 정책 선택, 연결 기록 확인, 시스템 프록시 전환 등의 기능을 제공하고 설정을 커널에 전달합니다. 일부 클라이언트는 인터페이스 옵션, 템플릿, 덮어쓰기 설정을 합쳐 실행 설정을 만들므로 구독 원본을 수정해도 실제 동작이 바뀌지 않을 수 있습니다. 설정이 재시작 후 원래대로 돌아간다면 구독 원본, 저장된 덮어쓰기 설정, 임시 실행 복사본 중 무엇을 수정했는지 먼저 확인하세요.
노드proxies / 아웃바운드 연결 설정
노드는 보통 프록시 서버 주소, 포트, 프로토콜, 인증 정보의 조합이며 전체 설정에서는 proxies 아래 항목 하나에 해당합니다. 목록에 표시된 이름만으로 서버 위치, 실제 출구 지역, 서비스 사용 가능 여부를 판단할 수는 없습니다. 노드와 정책 그룹도 다릅니다. 노드는 개별 연결을 나타내고 정책 그룹은 여러 연결이나 다른 그룹 중에서 아웃바운드를 선택합니다.
지연 시간 테스트테스트 URL / timeout
클라이언트는 보통 지정한 프록시로 테스트 주소에 접속해 요청에 걸린 시간을 기록합니다. 구현에 따라 연결 재사용 여부와 측정 범위는 다를 수 있습니다. 결과는 테스트 URL, 대상 사이트, 네트워크 경로, 시간 제한 설정에 따라 달라지며 다운로드 대역폭이나 모든 웹사이트의 접속 속도를 뜻하지 않습니다. 테스트 시간 초과는 해당 탐색이 제한 시간 안에 완료되지 않았다는 의미일 뿐이므로 실제 접속과 로그도 함께 확인하세요.
외부 컨트롤러external-controller / 관리 API
external-controller는 커널 관리 API의 수신 주소를 지정합니다. 인터페이스는 이 API를 통해 연결 기록과 상태를 확인하거나 정책을 전환할 수 있습니다. 예시인 127.0.0.1:9090은 로컬 관리 주소이므로 브라우저의 HTTP 프록시 포트 입력란에 넣으면 안 됩니다. 접근 제어와 네트워크 격리를 명확히 설정하지 않았다면 관리 인터페이스를 외부에서 접근 가능한 주소에 바인딩하지 마세요.

02 / PROTOCOL

프록시 프로토콜

앱이 로컬 프록시에 연결할 때 사용하는 프로토콜과 커널이 원격 서버에 연결할 때 사용하는 프로토콜을 구분하세요. 이름이 비슷해도 설정이나 전송 방식이 같다는 뜻은 아닙니다.

HTTP 프록시HTTP / CONNECT
HTTP 프록시는 앱이 요청을 프록시 수신 주소로 직접 보내는 방식입니다. HTTPS 접속은 보통 CONNECT로 터널을 만든 다음 앱과 대상 사이트가 TLS 연결을 협상합니다. 앱이 로컬 HTTP 프록시에 연결한다고 해서 원격 노드도 HTTP 프로토콜을 사용한다거나 모든 연결이 자동으로 암호화되는 것은 아닙니다. 프록시를 거치는지는 앱이 해당 설정을 사용하는지에 달려 있습니다.
SOCKS5TCP / UDP ASSOCIATE
SOCKS5는 범용 프록시 프로토콜로, TCP를 전달할 수 있고 앱과 프록시가 모두 지원하면 UDP도 전달할 수 있습니다. 도메인을 로컬에서 조회할지 프록시 측에서 조회할지는 앱의 호출 방식에 따라 다릅니다. 일부 명령줄 도구는 URL 스킴을 달리해 두 방식을 구분합니다. SOCKS5 주소를 입력하는 것만으로 모든 DNS 조회가 프록시를 거치지는 않으며, 프록시를 지원하지 않는 앱의 트래픽을 처리할 수도 없습니다.
Shadowsockstype: ss
Shadowsocks는 클라이언트와 프록시 서버 사이의 트래픽을 암호화해 전달하는 프로토콜입니다. mihomo 노드 설정에는 보통 type: ss로 표시합니다. 서버 주소와 포트, 암호화 방식, 인증 정보, 선택적 플러그인은 서버 설정과 일치해야 합니다. 표시 이름만으로 연결 설정을 복원할 수는 없습니다. 프로토콜 버전과 암호화 방식에 따라 지원 범위가 다를 수 있으므로 가져오기에 실패하면 커널의 지원 여부와 필드를 확인하세요.
Trojantype: trojan / TLS
Trojan은 보통 TLS를 통해 프록시 트래픽을 전달합니다. 서버 주소와 인증 정보뿐 아니라 인증서에 사용하는 도메인 설정도 정확히 맞춰야 합니다. 서버 연결 주소와 인증서 검증 도메인은 서로 다른 역할을 할 수 있으므로 임의로 바꿔 쓰면 안 됩니다. 인증서 오류가 발생하면 시스템 시간, 인증서 체인, 도메인을 확인하세요. 인증서 검증을 끄면 서버 신원을 확인하는 보안이 약해집니다.
Hysteria 2type: hysteria2 / QUIC
Hysteria 2는 QUIC 기반 프록시 프로토콜로, 하위 계층에서 UDP 연결이 가능해야 합니다. 네트워크에서 UDP를 제한하면 같은 서버의 TCP 서비스가 정상이어도 연결되지 않을 수 있습니다. 1세대 Hysteria와 설정 이름을 서로 바꿔 쓸 수 없습니다. 프로토콜만으로 처리량이 보장되지는 않으며 실제 성능은 회선 품질, 서버 자원, 혼잡 상태에 따라 달라집니다.

03 / ROUTING

규칙 및 라우팅

먼저 연결이 커널에 들어오는지 확인한 다음 규칙 순서, 대상 정책, 규칙 데이터를 살펴보세요. 규칙에서 사용하는 이름은 해당 설정에 정의되어 있어야 합니다.

규칙 기반 라우팅mode: rule / rules
규칙 모드에서 커널은 rules에 적힌 순서대로 연결을 매칭해 규칙에 지정된 아웃바운드나 정책 그룹으로 전달합니다. 예를 들어 DOMAIN-SUFFIX,github.com,PROXY는 해당 도메인과 하위 도메인을 PROXY라는 대상으로 보냅니다. 순서를 바꾸면 결과가 달라질 수 있지만, 앱의 연결이 애초에 커널을 거치지 않는 문제는 해결되지 않습니다. 문제를 확인할 때는 연결 기록에서 어떤 규칙이 매칭됐는지 살펴보세요.
정책 그룹proxy-groups / select / url-test
정책 그룹은 프록시나 다른 정책 그룹을 묶어 규칙에서 참조할 수 있는 아웃바운드 이름을 만듭니다. select는 수동 선택, url-test는 주기적인 테스트 결과에 따른 선택, fallback은 구성원 순서와 사용 가능 여부에 따른 전환에 사용합니다. 자동 선택은 테스트 주소와 확인 간격에 따라 동작하며 모든 웹사이트에 가장 빠른 회선을 자동으로 연결한다는 뜻은 아닙니다.
GeoIPGEOIP,CN,DIRECT
GeoIP는 IP 주소 데이터베이스를 사용해 대상 주소의 지역을 판단하며, 지역에 따라 직접 연결하거나 프록시를 선택할 때 주로 사용합니다. 회사 소재지나 도메인 접미사를 기준으로 분류하지 않습니다. CDN 라우팅과 주소 데이터베이스 업데이트에 따라 매칭 결과가 달라질 수 있습니다. 도메인에서 IP를 확인해야 하는 경우 DNS 조회가 발생할 수 있습니다. no-resolve를 사용하면 해당 IP 규칙이 조회를 직접 유발하는 것을 막을 수 있지만, 연결 과정 전체에 DNS가 필요 없다는 뜻은 아닙니다.
규칙 세트rule-providers / RULE-SET
규칙 세트는 도메인, IP, 기타 규칙을 별도로 모아 관리합니다. rule-providers에 선언한 뒤 rules에서 RULE-SET으로 참조합니다. 데이터 형식은 behavior, format 등의 선언과 일치해야 하며 규칙 세트 이름도 동일해야 합니다. 다운로드에 성공했다는 사실만으로 형식이 유효하거나 해당 연결이 규칙에 매칭된다고 볼 수는 없습니다.
MATCH기본 규칙 / 마지막 매칭
MATCH는 앞선 규칙에서 매칭되지 않은 연결을 처리하므로 보통 규칙 목록의 마지막에 둡니다. MATCH,PROXY를 맨 앞에 두면 뒤에 있는 규칙은 이미 처리된 연결에 적용되지 않습니다. 여기서 PROXY는 자동으로 제공되는 예약 이름이 아니라 사용자 지정 대상 이름이므로, 사용 전에 같은 이름의 프록시나 정책 그룹을 정의해야 합니다. DIRECT와 REJECT는 내장 아웃바운드입니다.

관련 문서: 설정 파일과 규칙 설명 →

04 / TRAFFIC CAPTURE

네트워크 트래픽 처리 방식

트래픽 유입 경로, DNS 조회, 아웃바운드 규칙은 서로 연동됩니다. 스위치 하나의 상태만으로 전체 연결이 예상대로 동작한다고 판단할 수는 없습니다.

시스템 프록시운영체제 프록시 설정
시스템 프록시는 프록시 수신 주소를 운영체제에 등록해 해당 설정을 따르는 앱이 로컬 프록시에 연결하도록 합니다. 일부 명령줄 도구, 게임, 자체 네트워크 스택을 사용하는 앱은 이 설정을 읽지 않으므로 브라우저에서 연결된다고 모든 프로그램의 트래픽이 처리되는 것은 아닙니다. 클라이언트를 종료하기 전에 시스템 프록시가 원래 설정으로 복구됐는지 확인하세요. 복구되지 않으면 앱이 이미 종료된 로컬 포트에 계속 연결을 시도할 수 있습니다.
TUN 모드tun.enable / 가상 네트워크 인터페이스
TUN은 가상 네트워크 인터페이스와 관련 라우팅 설정으로 IP 트래픽을 처리하며, 시스템 프록시를 따르지 않는 일부 앱도 지원할 수 있습니다. 실제 적용 범위는 자동 라우팅, 제외 설정, 시스템 권한, DNS 설정에 따라 달라집니다. tun.enable을 켰다고 모든 연결이 반드시 처리되는 것은 아닙니다. stack은 프로토콜 스택 구현을 지정하는 항목이지 규칙 모드를 켜는 스위치가 아닙니다. TUN을 켠 상태에서도 규칙에 따라 직접 연결하거나 프록시를 사용할 수 있습니다.
mixed-port로컬 HTTP + SOCKS 혼합 포트
mixed-port는 하나의 로컬 포트에서 HTTP와 SOCKS 프록시 연결을 모두 받습니다. 예를 들면 mixed-port: 7890입니다. 원격 노드 포트나 관리 API 포트와는 역할이 달라 서로 바꿔 쓸 수 없습니다. 앱에서 사용할 때는 올바른 프록시 유형과 수신 주소도 지정해야 합니다. 다른 기기에서 접속하게 하려면 수신 범위, 로컬 네트워크 권한, 방화벽 설정을 검토하세요.
Fake-IPdns.enhanced-mode: fake-ip
Fake-IP 모드는 앱에 가상 주소를 반환하고 주소와 도메인의 매핑을 관리합니다. 이후 연결 단계에서 커널이 대상 도메인을 복원해 트래픽을 라우팅할 수 있습니다. 가상 주소는 대상 서버의 실제 공인 IP가 아니므로 DNS 조회와 후속 연결이 모두 설정에 맞는 경로를 거쳐야 합니다. 실제 DNS 응답에 의존하는 앱은 fake-ip-filter에 추가해야 할 수 있지만, 근거 없이 제외 항목을 광범위하게 늘리지 마세요.
DNS 누수조회 경로 / 예상하지 못한 리졸버
DNS 누수는 도메인 조회가 예상하지 못한 네트워크 경로나 리졸버를 거쳐 전송되어 조회 정보가 의도하지 않은 대상에 노출되는 현상을 말합니다. 브라우저의 보안 DNS, 시스템 DNS 서비스, 커널 DNS 설정이 모두 관여할 수 있으며, 리졸버의 위치가 다르다는 사실만으로 누수라고 단정할 수는 없습니다. 문제를 확인할 때는 먼저 예상 경로를 정하고, 조회가 커널을 거치는지, 업스트림 DNS 요청이 어떻게 나가는지, 앱이 별도의 암호화 DNS를 사용하는지 살펴보세요.

작동 방식 비교: TUN 모드와 시스템 프록시의 차이 →

05 / SUBSCRIPTION & CONFIGURATION

구독 및 설정 파일

먼저 입력 데이터의 종류를 확인한 다음 가져오기 방식을 선택하세요. 전체 설정, 프록시 컬렉션, 공유 링크는 서로 다른 데이터입니다.

구독 링크원격 설정 / 정기 업데이트 주소
구독 링크는 프록시 목록이나 전체 설정을 가져오는 원격 주소이며, 계정을 식별할 수 있는 자격 증명이 포함되는 경우가 많으므로 민감 정보로 취급해야 합니다. 같은 HTTPS 주소라도 YAML, 인코딩된 공유 링크 목록, 기타 형식으로 응답할 수 있어 확장자만으로 호환성을 판단할 수 없습니다. 가져온 뒤에는 설정이 활성화됐는지, 정책 그룹이 표시되는지 확인한 다음 연결을 테스트하세요. 업데이트 성공 여부와 노드 사용 가능 여부는 별개의 문제입니다.
YAML들여쓰기 계층 / 키·값 및 목록
YAML은 mihomo 설정에 흔히 사용하는 데이터 직렬화 형식입니다. 공백 들여쓰기로 계층을 나타내고 -로 목록 항목을 표시합니다. Tab 들여쓰기, 중복 키, 특수 문자를 올바르게 인용하지 않은 값은 파싱 오류나 예상과 다른 결과를 일으킬 수 있습니다. YAML을 파싱할 수 있어도 설정이 유효하다는 뜻은 아니므로 필드 유형, 커널 지원 여부, 규칙에서 참조하는 정책 이름도 확인해야 합니다.
설정 파일config.yaml / 실행 설정 모음
설정 파일에는 로컬 수신 포트, DNS, 프록시, 정책 그룹, 라우팅 규칙 등 실행에 필요한 설정이 담깁니다. config.yaml은 흔히 사용하는 파일 이름이지만 확장자만으로 내용을 사용할 수 있는지 판단할 수는 없습니다. GUI 클라이언트가 시작 전에 템플릿과 덮어쓰기 설정을 병합할 수 있으므로 구독 원본이 실제 실행 설정과 다를 수 있습니다. 수정하기 전에 복구할 수 있는 사본을 남기고, 수정 후에는 시작 로그를 확인해 설정 로딩 오류를 회선 문제로 오인하지 않도록 하세요.
프록시 컬렉션proxy-providers / use
프록시 컬렉션은 proxy-providers를 통해 원격이나 로컬에서 프록시 항목을 불러오고, 정책 그룹에서 use로 참조합니다. 일반적으로 노드 데이터만 제공하며 전체 설정에 필요한 DNS, 수신 포트, 라우팅 규칙은 포함하지 않으므로 단독으로 사용할 수 있는 설정이라고 보면 안 됩니다. 컬렉션 업데이트 간격과 클라이언트 전체 구독의 새로고침 일정도 별도로 관리될 수 있으니 각각의 설정을 확인하세요.
구독 변환데이터 변환 / 대상 형식
구독 변환은 입력 데이터를 대상 클라이언트가 인식할 수 있는 형식으로 바꾸는 과정이며, 일부 변환 서비스는 정책 그룹과 규칙 템플릿도 적용합니다. 누락된 인증 정보를 채우거나 커널이 지원하지 않는 프로토콜 필드를 사용할 수 있게 하지는 않습니다. 서드파티 변환 서비스는 구독 링크 전체에 접근할 수 있으므로 사용 전에 자격 증명 노출 범위를 확인하세요. 먼저 클라이언트에서 원본 형식을 직접 가져올 수 있는지 확인하는 것이 좋습니다.
Clash 최신 버전 다운로드