# glossary

Clash 용어 정리코어, 규칙, 네트워크 스택

개념을 먼저 구분한 다음 설정을 변경하세요. 설정 항목의 계층별로 용어 24개를 살펴보며 트래픽이 mihomo로 들어오는 과정, 규칙 매칭 방식, 구독 업데이트로 변경되는 항목을 알아봅니다.

단계별 안내가 필요하다면 입문 가이드를, 운영체제별 설명이 필요하다면 멀티 플랫폼 설치 및 설정 가이드를 확인하세요. 이 문서에서는 일반적인 개념을 설명하며, 지원되는 필드는 실제로 사용하는 코어와 클라이언트에 따라 다릅니다.

# 제01분류 · core-clients

코어와 클라이언트

UI는 조작 기능을 제공하고 코어는 연결을 처리합니다. 먼저 실행 중인 구성 요소를 확인한 다음 설정을 어디에서 변경할지 판단하세요.

core: mihomo

mihomo 코어

mihomo는 기존 Clash.Meta 프로젝트에서 사용하던 코어 이름으로, 프록시 프로토콜 연결, DNS 처리, 규칙 매칭을 담당합니다. 그래픽 인터페이스는 이러한 기능을 조작하는 계층일 뿐입니다. 클라이언트마다 포함된 코어 버전이 다를 수 있으므로, UI 업데이트가 코어 업데이트를 의미하지는 않습니다. 설정 항목을 인식하지 못하거나 프로토콜을 지원하지 않는다면 앱 이름만 보지 말고 실제 코어 버전과 시작 로그를 확인하세요.

GUI / profile / settings

클라이언트

클라이언트는 구독 가져오기, 노드 선택, 연결 확인, 네트워크 트래픽 처리 설정을 제공하는 앱입니다. 코어를 내장하거나 별도 프로세스로 관리할 수 있습니다. 시스템 프록시 사용이나 시작 시 실행 같은 설정은 클라이언트에 로컬로 저장되는 경우가 많아 구독 파일에 포함되지 않을 수 있습니다. 다른 클라이언트로 옮길 때 같은 구독을 가져와도 이런 로컬 옵션까지 이전되는 것은 아니므로 권한과 트래픽 처리 상태를 다시 확인해야 합니다.

external-controller

외부 컨트롤러

외부 컨트롤러는 코어가 UI나 제어 패널에 제공하는 관리 인터페이스입니다. 연결 정보와 로그를 확인하고 프록시 그룹에서 사용할 항목을 바꿀 수 있습니다. 앱이 프록시 요청을 보내는 포트와는 용도가 다르므로, 브라우저 프록시를 컨트롤러 포트로 지정해도 일반적인 프록시 서비스는 이용할 수 없습니다. 보통은 로컬에서만 접속하도록 설정하고 인증을 적용하세요. 원격 관리가 꼭 필요하다면 접근 제한을 별도로 설계해야 하며, 인터넷에 그대로 노출해서는 안 됩니다.

mixed-port

혼합 포트

혼합 포트는 하나의 수신 지점에서 HTTP 프록시와 SOCKS 프록시 연결을 모두 받는 설정입니다. 앱은 지원하는 방식으로 이 지점에 연결할 수 있습니다. 일반적인 설정 예시는 mixed-port: 7890이지만 실제 포트는 사용 중인 클라이언트에 따라 다르므로 그대로 입력하지 마세요. 포트가 열려 있다고 트래픽이 자동으로 처리되는 것은 아닙니다. 앱이 해당 포트를 사용하도록 설정했는지, 수신 주소와 LAN 접근 권한, 방화벽 설정도 확인해야 합니다.

# 제02분류 · proxy-protocols

프록시 프로토콜

프로토콜은 클라이언트가 서버에 연결하는 방식을 결정합니다. 노드 이름이 같아도 인증, 전송 방식, 보안 설정을 서로 바꿔 쓸 수 있다는 뜻은 아닙니다.

proxies

노드

노드는 프록시 출구 연결에 필요한 설정 묶음으로, 보통 서버 주소, 포트, 프로토콜, 인증 정보를 포함하며 TLS, 전송 방식, UDP 지원 설정이 추가될 수도 있습니다. 노드 이름은 식별을 위한 표시일 뿐 실제 출구 위치나 사용 가능 여부를 보장하지 않습니다. 노드를 선택한 뒤에는 대상 서비스에 직접 접속해 확인하세요. 같은 서버에 있는 노드도 포트나 전송 설정에 따라 동작이 다를 수 있습니다.

type: ss

Shadowsocks

Shadowsocks는 양쪽에서 합의한 암호화 방식과 인증 정보를 사용해 프록시 연결을 구성하며, 설정에서는 보통 type: ss로 지정합니다. 클라이언트와 서버의 암호화 방식, 비밀번호, 관련 플러그인 설정이 일치해야 합니다. 서버 주소만 맞아도 연결되는 것은 아닙니다. 코어마다 지원하는 암호화 방식과 플러그인이 다를 수 있으므로 가져오기에 실패하면 규칙 모드를 바꿔 보기보다 해당 설정 항목부터 확인하세요.

type: vmess

VMess

VMess는 사용자 ID 등의 정보로 인증하는 프록시 프로토콜로, WebSocket 같은 전송 방식을 함께 사용하고 서버 설정에 따라 TLS를 활성화할 수 있습니다. 노드의 인증 정보, 전송 경로, 호스트 이름, TLS 설정은 모두 서버와 일치해야 합니다. 연결에 문제가 있다면 기기 시간이 정확한지도 확인하세요. 인증이나 전송 설정이 맞지 않는 문제는 DNS만 바꿔서는 해결되지 않습니다.

type: vless

VLESS

VLESS는 가벼운 프록시 인증 및 데이터 캡슐화 프로토콜로, TLS나 REALITY 같은 보안 기능과 함께 사용하는 경우가 많습니다. 프로토콜 이름만으로 연결이 암호화된다고 판단할 수는 없습니다. 사용자 ID, 전송 방식, 서버 이름, 보안 계층 설정이 서버와 일치해야 합니다. 가져온 설정에서 코어가 지원하지 않는 필드를 알린다면 보안 설정을 임의로 삭제해 억지로 불러오기보다 코어 기능과 설정 형식을 먼저 확인하세요.

type: trojan

Trojan

Trojan은 일반적으로 TLS 연결을 통해 프록시 트래픽을 전달하고 비밀번호로 인증하며, 설정에 추가 전송 매개변수가 포함될 수 있습니다. 서버 접속 주소와 TLS에 사용하는 서버 이름은 서로 다른 항목입니다. 주소에 연결할 수 있어도 인증서 검증이 통과하는 것은 아닙니다. 인증서 오류가 발생하면 호스트 이름, 기기 시간, 서버 인증서 상태를 먼저 확인하세요. 인증서 검증을 건너뛰는 방법을 일반적인 문제 해결 절차로 사용해서는 안 됩니다.

# 제03분류 · rules-routing

규칙과 라우팅

규칙은 트래픽의 매칭 대상을 정하고 프록시 그룹은 출구를 제공합니다. 연결 기록을 확인할 때는 매칭된 규칙과 실제로 사용된 노드를 함께 살펴보세요.

mode: rule / global / direct

규칙 라우팅과 프록시 모드

규칙 모드는 설정된 규칙에 따라 출구를 선택하고, 전역 모드는 전역 프록시 그룹을 사용합니다. 직접 연결 모드는 보통 원격 프록시를 거치지 않지만 코어의 DNS 설정 등에는 영향을 받을 수 있습니다. 이 모드는 코어에 들어온 트래픽을 처리하는 방식만 정하며, 모든 앱의 트래픽을 코어로 전달하지는 않습니다. 일반적으로 규칙 모드부터 사용하면 됩니다. 잠시 전역 모드로 바꾸면 규칙 문제와 노드 문제를 구분하는 데 도움이 되지만, 트래픽이 코어에 들어오는지 확인하는 절차를 대신할 수는 없습니다.

proxy-groups

프록시 그룹

프록시 그룹은 여러 노드나 다른 그룹을 묶어 규칙에서 참조할 수 있는 출구를 제공합니다. 규칙이 그룹 이름을 지정하면 그룹 유형과 현재 상태에 따라 최종 노드가 결정됩니다. select는 직접 선택할 때, url-test는 테스트 결과에 따라 자동으로 선택할 때, fallback은 보통 순서대로 사용 가능한 항목을 선택할 때 적합합니다. 자동 선택 그룹을 사용해도 모든 웹사이트에서 가장 빠른 경로가 선택되는 것은 아닙니다. 테스트 대상과 실제 접속 대상은 다를 수 있습니다.

rules / MATCH

규칙 매칭 순서

일반 rules 목록은 위에서 아래로 확인하며, 처음 일치하는 규칙의 정책을 적용합니다. 같은 연결에 대해 이후 규칙이 다시 출구를 선택하지는 않습니다. 포괄적인 규칙을 너무 앞에 두면 뒤의 세부 규칙이 적용되지 않을 수 있으므로 사용자 규칙의 위치와 내용이 중요합니다. MATCH는 보통 마지막 기본 규칙으로 둡니다. 규칙을 바꾼 뒤에는 새 연결을 만든 다음 매칭 기록을 확인하세요. 이미 연결된 장시간 연결은 출구가 즉시 바뀌지 않을 수 있습니다.

GEOIP / GEOSITE

GeoIP와 GeoSite

GeoIP는 IP 데이터베이스를 기준으로 주소를 분류하고, GeoSite는 도메인 목록을 기준으로 웹사이트를 분류합니다. 매칭 대상과 사용하는 데이터가 서로 다릅니다. IP 규칙을 적용할 때는 먼저 도메인을 해석해야 할 수 있으며, 구체적인 동작은 규칙 매개변수와 코어 설정에도 영향을 받습니다. 도메인 분류와 IP 주소의 위치를 같은 것으로 보아서는 안 됩니다. 데이터베이스 업데이트가 늦을 수 있으므로 라우팅이 잘못되면 실제 대상과 매칭된 규칙을 확인하고 더 정확한 규칙으로 수정하세요.

rule-providers / RULE-SET

규칙 제공자

규칙 제공자는 rule-providers로 외부 규칙 모음을 관리하고, 주 규칙 목록에서 RULE-SET으로 참조합니다. 서비스별 규칙을 분리해 관리할 때 유용합니다. 규칙 모음의 동작 유형, 파일 형식, 내용이 서로 맞아야 하며 다운로드에 성공해도 올바르게 로드된다고 보장할 수는 없습니다. 특정 서비스의 라우팅이 갑자기 달라졌다면 노드 연결 여부만 확인하지 말고 규칙 모음의 업데이트 시점, 로드 로그, 참조 위치도 함께 살펴보세요.

# 제04분류 · dns-network

DNS와 네트워크 스택

DNS 해석 경로, 트래픽이 들어오는 지점, 연결이 나가는 출구는 서로 다른 문제입니다. 기능을 켠 뒤에는 라우팅과 앱 자체의 네트워크 동작도 확인해야 합니다.

DNS query path

DNS 누수

DNS 누수는 도메인 조회가 예상한 경로를 벗어나 원치 않는 DNS 서버로 전송되는 현상입니다. 웹페이지가 열리는지와는 별개의 문제입니다. 시스템 DNS, 브라우저 보안 DNS, 앱 내장 DNS가 결과에 영향을 줄 수 있으며 TUN을 켜는 것만으로 해결되지는 않습니다. 조회 기록, 코어의 DNS 로그, 트래픽 처리 범위를 함께 확인하세요. 테스트 페이지에 특정 DNS 제공업체 이름이 표시된다는 이유만으로 결론을 내려서는 안 됩니다.

enhanced-mode: fake-ip

Fake-IP

Fake-IP 모드에서는 앱에 가상 IP를 반환하고 코어가 가상 IP와 도메인의 매핑을 저장합니다. 연결이 코어에 들어오면 도메인을 기준으로 라우팅한 뒤 접속을 처리합니다. 가상 IP가 보인다고 DNS 설정이 잘못된 것은 아니며, 대상 서버의 실제 주소처럼 연결 테스트에 사용해서도 안 됩니다. 일부 LAN 서비스나 IP 주소 검증을 사용하는 앱은 예외 처리가 필요할 수 있습니다. 범위를 넓게 예외 처리하기보다 먼저 해당 도메인을 확인하고 필요한 항목만 조정하세요.

tun: enable

TUN 모드

TUN은 가상 네트워크 인터페이스를 통해 IP 패킷을 받아 시스템 프록시 설정을 따르지 않는 일부 앱의 트래픽도 처리할 수 있습니다. 보통 관리자 권한이나 시스템 VPN 권한이 필요합니다. 실제 처리 범위는 라우팅, 제외 항목, DNS, 클라이언트 구현에 따라 달라지므로 스위치가 켜졌다고 모든 트래픽이 처리되는 것은 아닙니다. 활성화 후에는 대상 앱, LAN 접속, DNS를 각각 확인하세요. 충돌이 발생하면 다른 VPN이나 가상 네트워크 어댑터 프로그램부터 점검합니다.

system proxy → local listener

시스템 프록시

시스템 프록시는 운영체제의 프록시 설정을 클라이언트의 로컬 수신 주소와 포트로 연결합니다. 해당 설정을 따르는 앱만 요청을 코어에 전달합니다. 일부 게임, 명령줄 도구, 자체 네트워크 스택을 사용하는 앱은 시스템 프록시를 무시할 수 있으므로 브라우저가 작동한다고 다른 앱까지 처리된다고 볼 수는 없습니다. 클라이언트를 종료하거나 제거한 뒤 네트워크에 문제가 생기면 시스템에 프록시 주소가 남아 있는지 확인하세요. 처음 연결할 때는 시스템 프록시 설정 방법에 따라 확인할 수 있습니다.

nameserver / DoH / DoT

DNS 업스트림

DNS 업스트림은 클라이언트가 도메인을 조회할 때 사용하는 DNS 서버로, 일반 DNS, DNS over HTTPS, DNS over TLS 방식으로 통신할 수 있습니다. 조회 구간의 암호화 여부와 요청이 직접 연결 또는 프록시 출구 중 어디를 통해 전송되는지는 별개의 문제입니다. DoH를 선택해도 DNS 트래픽이 자동으로 프록시를 통과하는 것은 아닙니다. 업스트림 주소가 도메인이라면 최초 해석 과정도 필요하므로 코어의 DNS 설정과 의존 관계를 확인해 초기 해석이 순환 참조에 빠지지 않도록 하세요.

# 제05분류 · subscription-config

구독과 설정 파일

먼저 구독에 어떤 내용이 포함되어 있는지 확인한 뒤 어디에서 수정할지 결정하세요. 노드 업데이트, 규칙 업데이트, 클라이언트 업데이트는 각각 다른 작업입니다.

subscription / profile

구독

구독은 링크를 통해 노드나 전체 설정을 배포하고 업데이트하는 방식입니다. 프록시 프로토콜이 아니며, 모든 클라이언트가 같은 콘텐츠를 바로 인식하는 것도 아닙니다. 링크에 따라 전체 Clash YAML을 제공하거나 노드 목록만 제공하는 등 형식이 다를 수 있으므로 가져오기 전에 서비스 제공자가 안내한 지원 유형을 확인하세요. 구독 링크에 접근 인증 정보가 포함될 수 있으니 스크린샷, 로그, 온라인 변환 도구에 공개하지 마세요. 사용 방법은 구독 링크 가져오기를 참고하세요.

config.yaml

YAML

YAML은 들여쓰기로 계층 구조를 표현하는 텍스트 형식입니다. Clash 설정에서 노드, 프록시 그룹, 규칙, DNS 등을 구성하며 들여쓰기에는 탭이 아닌 공백을 사용해야 합니다. 편집할 때 같은 계층의 항목을 맞추고, 특수 문자가 포함된 값은 올바르게 인용하며, 목록 항목은 정확한 계층에 추가하세요. 문법을 해석할 수 있어도 현재 코어가 모든 필드를 지원하는 것은 아닙니다. 저장한 뒤 로드 로그와 실제 적용된 설정을 확인해야 합니다.

proxy-providers / use

프록시 제공자

프록시 제공자는 proxy-providers로 외부 노드 모음을 관리하고, 프록시 그룹에서 use로 참조해 노드 출처와 로컬 규칙을 분리할 수 있습니다. 규칙, 프록시 그룹, DNS 설정까지 포함하는 전체 구독과는 다릅니다. 노드 모음만 가져왔다고 바로 사용할 수 있는 프록시 그룹, 규칙, DNS 설정까지 마련되는 것은 아닙니다. 제공자를 추가한 뒤 가져오기 상태와 콘텐츠 형식, 그룹 참조를 확인하세요. 파일 다운로드에 성공해도 대상 프록시 그룹에 노드가 표시되지 않을 수 있습니다.

delay / test URL / timeout

지연 시간 테스트

지연 시간 테스트는 보통 클라이언트가 특정 노드를 통해 지정된 테스트 주소에 접속하는 데 걸리는 시간을 측정합니다. 테스트 대상, 서버 부하, 현재 네트워크 경로에 따라 결과가 달라집니다. 수치가 낮다고 다운로드 속도가 빠른 것은 아니며, 시간 초과가 표시되어도 테스트 주소에만 접속할 수 없고 다른 서비스는 정상일 수 있습니다. 노드를 선택할 때는 테스트 결과와 실제 접속을 함께 확인하고 연결 패널에서 예상한 출구를 사용 중인지 살펴보세요. 자세한 내용은 노드 속도 측정 및 확인을 참고하세요.

update / override / merge

구독 업데이트와 설정 덮어쓰기

구독 업데이트는 원격 콘텐츠를 다시 가져오고, 설정 덮어쓰기는 보통 로드할 때 일부 필드를 병합하거나 수정합니다. 두 기능은 각각 콘텐츠 새로고침과 로컬 설정 변경에 사용됩니다. 다운로드한 구독 파일을 직접 편집하면 다음 업데이트에서 변경 내용이 사라질 수 있습니다. 덮어쓰기 기능을 사용할 때도 목록에 추가하는지, 객체를 병합하는지, 전체를 교체하는지 확인하세요. 클라이언트마다 병합 순서가 다르므로 업데이트 전에 로컬 수정 사항을 기록하고 업데이트 후 규칙과 프록시 그룹 참조가 여전히 유효한지 점검해야 합니다.