CLASH CONCEPT INDEX

Clash 개념 빠른 안내

설정 읽기 순서에 따라 커널, 프로토콜, 노드, 규칙, DNS 용어를 정리했습니다. 클라이언트 설정, 구독 내용, 실행 로그, YAML 설정 필드를 이해할 때 활용할 수 있습니다.

핵심 용어 25개 분류 5개 설정 및 문제 해결 참고
TERM_DB STATUS: READY ORDER: CONFIG_FLOW

CATEGORY 01 / RUNTIME

커널과 클라이언트

먼저 그래픽 클라이언트, 프록시 커널, 구독 출처, 설정 파일을 구분해야 합니다. 이들은 같은 실행 흐름에 속하지만 담당하는 역할은 서로 다릅니다.

CLASH / ECOSYSTEM

Clash

Clash는 규칙에 따라 트래픽을 전달하는 프록시 도구 생태계입니다. 일반적인 클라이언트는 그래픽 인터페이스, 프록시 커널, 설정 관리 기능으로 구성되므로 Clash 클라이언트라도 인터페이스와 커널 버전이 다를 수 있습니다.

설정 호환성 문제가 발생하면 클라이언트 이름, 실제 사용 중인 커널, 설정 문법을 함께 확인해야 하며 소프트웨어 제목만 봐서는 안 됩니다.

MIHOMO / CORE

mihomo

mihomo는 지속적으로 유지 관리되는 Clash 호환 프록시 커널로, 설정 해석, 연결 구성, 규칙 매칭, DNS 및 TUN 트래픽 처리를 담당합니다. 그래픽 클라이언트가 프록시 서비스를 시작하면 보통 백그라운드에서 커널을 호출합니다.

커널이 지원하는 필드는 버전에 따라 달라질 수 있습니다. 설정 예시를 복사하기 전에 현재 클라이언트가 실제로 어떤 커널을 불러오는지 확인해야 합니다.

GUI / CLIENT

클라이언트

클라이언트는 사용자가 직접 조작하는 그래픽 인터페이스 프로그램으로, 보통 구독 관리, 노드 선택, 시스템 프록시 제어, 로그 확인, 커널 업데이트 기능을 제공합니다. 클라이언트는 주로 사용자 상호작용을 담당하고 실제 연결과 라우팅은 커널이 처리합니다.

클라이언트마다 설정 덮어쓰기, 백업 경로, 권한 요청을 처리하는 방식이 완전히 같지 않으므로 이전할 때 각각 확인해야 합니다.

PROFILE / SUBSCRIPTION

구독

구독은 서비스 제공자가 공개하는 원격 설정 진입점입니다. 클라이언트가 구독 주소를 읽으면 노드, 정책 그룹, 일부 규칙 설정을 가져오고 이후 업데이트 때 내용을 다시 내려받을 수 있습니다.

구독 링크는 단일 노드와 같지 않으며 항상 완전한 YAML을 직접 반환하는 것도 아닙니다. 가져오기에 실패하면 먼저 링크가 완전한지, 만료되지 않았는지, 클라이언트가 반환 형식을 지원하는지 확인해야 합니다.

YAML / CONFIG FILE

YAML

YAML은 Clash 설정 파일에 자주 사용하는 데이터 형식입니다. 필드 계층은 들여쓰기로 표현하고 배열은 보통 하이픈으로 시작하며 콜론 뒤의 공백도 올바르게 유지해야 합니다.

탭 문자, 계층 불일치, 중복 필드, 닫히지 않은 따옴표는 모두 설정 해석 실패를 일으킬 수 있습니다. 수정하기 전에 정상적으로 시작되는 설정 사본을 보관하는 것이 좋습니다.

CATEGORY 02 / TRANSPORT

프록시 프로토콜

로컬 프록시 진입점과 원격 노드 프로토콜은 서로 다른 계층에 속합니다. 전자는 앱이 트래픽을 클라이언트에 전달하는 방식을, 후자는 커널이 서버에 연결하는 방식을 결정합니다.

HTTP / LOCAL INBOUND

HTTP 프록시

HTTP 프록시는 브라우저나 앱이 보낸 HTTP 요청을 수신하고 CONNECT 방식으로 HTTPS 연결을 전달할 수도 있습니다. 프록시 주소 설정을 명시적으로 지원하는 브라우저, 다운로드 도구, 개발 환경에 적합합니다.

여기서는 로컬 앱의 연결 방식만 설명하며 원격 노드가 반드시 HTTP 프로토콜을 사용해야 한다는 뜻은 아닙니다.

SOCKS5 / LOCAL INBOUND

SOCKS5

SOCKS5는 연결 전달을 위한 범용 프록시 프로토콜이며 상위 웹 콘텐츠를 해석할 필요가 없습니다. 많은 터미널 도구, 브라우저 확장 프로그램, 개발 소프트웨어에서 SOCKS5 주소를 입력할 수 있습니다.

DNS를 SOCKS5를 통해 원격으로 조회할 수 있는지는 앱 구현과 연결 매개변수에 따라 달라지며 포트 유형만으로 판단할 수 없습니다.

MIXED-PORT / INBOUND

혼합 포트

혼합 포트는 하나의 수신 포트에서 HTTP와 SOCKS5 프록시 연결을 모두 받을 수 있습니다. 기억하고 관리해야 할 로컬 포트 수를 줄일 수 있어 여러 앱이 하나의 진입점을 함께 사용할 때 적합합니다.

앱에서는 지원하는 프록시 유형을 선택하고 호스트 주소와 포트를 정확하게 입력해야 합니다.

OUTBOUND / PROTOCOL

프록시 프로토콜

프록시 프로토콜은 커널과 원격 서버 사이의 핸드셰이크, 인증, 데이터 전송 방식을 정의합니다. 프로토콜마다 전송 계층, 암호화 방식, UDP 지원, 네트워크 호환성이 다릅니다.

설정의 프로토콜 이름은 서버 측 설정과 일치해야 합니다. 표시 이름이나 포트만 바꿔서는 한 프로토콜을 다른 프로토콜로 변환할 수 없습니다.

UDP / DATAGRAM

UDP 전달

UDP 전달은 DNS, 실시간 통신, 일부 게임에서 발생하는 비연결형 데이터그램을 처리합니다. 노드를 통해 전달할 수 있는지는 노드 프로토콜, 서버 기능, 현재 네트워크 모드에 따라 달라집니다.

웹페이지가 열린다고 해서 UDP도 반드시 사용 가능한 것은 아닙니다. 문제를 확인할 때는 노드 매개변수, 정책 선택, TUN 라우팅을 각각 점검해야 합니다.

CATEGORY 03 / OUTBOUND

정책 그룹과 노드

노드는 구체적인 출구를 제공하고 정책 그룹은 여러 출구 중 선택하는 방식을 결정합니다. 규칙은 보통 특정 노드가 아니라 정책 그룹을 참조합니다.

PROXY / NODE

노드

노드는 커널에서 사용할 수 있는 프록시 서버 설정으로, 서버 주소, 포트, 프로토콜 매개변수, 인증 정보를 기록합니다. 노드 이름은 주로 인터페이스에서 구분하기 위한 것이며 회선 품질을 자동으로 바꾸지는 않습니다.

단일 노드는 구독과 같지 않습니다. 구독에는 보통 여러 노드와 그룹 관계가 포함되며 원격 설정에 따라 업데이트될 수 있습니다.

DELAY / CONNECTIVITY TEST

지연 시간

지연 시간은 일반적으로 테스트 요청이 로컬 장치에서 대상 주소까지 갔다가 돌아오는 데 걸리는 시간입니다. 로컬 네트워크, 테스트 주소, 노드 부하, 경로의 영향을 받으므로 여러 번 측정한 결과가 다를 수 있습니다.

지연 시간이 낮다고 다운로드 속도가 빠른 것은 아니며 장기 안정성을 단독으로 나타내지도 않습니다. 노드를 선택할 때는 연결 성공률과 실제 접속 성능도 확인해야 합니다.

PROXY-GROUP / POLICY

정책 그룹

정책 그룹은 여러 노드나 다른 정책 그룹을 규칙에서 참조할 수 있는 하나의 출구로 묶습니다. 흔한 유형으로 수동 선택, 자동 테스트, 장애 조치, 부하 분산이 있습니다.

정책 그룹은 중첩할 수 있지만 순환 참조는 설정 오류를 일으킵니다. 그룹 이름을 바꾼 뒤에는 규칙의 대상 이름도 함께 확인해야 합니다.

URL-TEST / AUTO SELECT

자동 선택

자동 선택 정책 그룹은 설정된 테스트 주소와 간격에 따라 후보 노드를 확인합니다. 커널은 일반적으로 테스트 결과가 낮고 연결 가능한 노드를 현재 출구로 선택합니다.

테스트 주소는 안정적이고 주요 사용 환경을 잘 나타내야 합니다. 테스트 간격이 너무 짧으면 추가 요청이 발생하고 전환이 지나치게 잦아질 수 있습니다.

FALLBACK / FAILOVER

장애 조치

장애 조치는 미리 정한 순서대로 후보 노드를 확인하고 현재 노드를 사용할 수 없으면 다음 항목으로 전환합니다. 연결 연속성을 중시하며 일반적으로 순서가 앞서면서 사용 가능한 노드를 우선 유지합니다.

따라서 장애 조치는 항상 지연 시간이 가장 낮은 노드를 선택하는 방식과 같지 않습니다. 후보 순서는 안정성과 용도에 맞게 정해야 합니다.

CATEGORY 04 / RULE ENGINE

규칙과 매칭

규칙 엔진은 연결 속성을 순서대로 확인합니다. 라우팅 오류를 점검할 때는 먼저 대상 정보를 확인한 다음 가장 먼저 일치한 규칙을 살펴봐야 합니다.

RULES / ROUTING

규칙 기반 라우팅

규칙 기반 라우팅은 도메인, IP, 프로세스 또는 네트워크 유형에 따라 연결을 서로 다른 정책으로 전달합니다. 흔히 로컬 네트워크와 특정 사이트는 직접 연결하고 나머지는 정책 그룹으로 처리하는 데 사용합니다.

규칙은 보통 위에서 아래로 매칭되며 첫 번째 유효 규칙과 일치하면 추가 확인을 중단합니다. 더 구체적인 규칙은 일반적으로 더 넓은 규칙보다 앞에 배치해야 합니다.

MATCH / FINAL RULE

MATCH

MATCH는 규칙 목록의 최종 대체 규칙입니다. 앞선 도메인, IP, 프로세스, 규칙 세트에 모두 일치하지 않으면 연결을 MATCH가 지정한 정책으로 전달합니다.

일반적으로 규칙 목록의 마지막에 배치합니다. 앞쪽에 나오면 뒤에 있는 규칙은 실제로 매칭될 기회를 잃습니다.

DOMAIN-SUFFIX / DOMAIN RULE

DOMAIN-SUFFIX

DOMAIN-SUFFIX는 도메인 접미사로 대상을 매칭합니다. example.com을 설정하면 해당 주 도메인과 일반적인 하위 도메인 접속을 포함할 수 있습니다.

DOMAIN의 정확한 매칭과는 다르며 완전한 URL 경로를 규칙에 넣어서도 안 됩니다. 규칙 대상은 도메인 부분만 처리합니다.

GEOIP / IP DATABASE

GeoIP

GeoIP는 IP 주소 데이터베이스로 대상 주소가 속한 지역을 판단합니다. 대상 IP를 이미 확보한 연결에 적합하지만 데이터베이스 버전과 주소 귀속 변화의 영향을 받습니다.

도메인 규칙과 GeoIP 규칙은 서로 다른 단계에서 매칭에 참여할 수 있습니다. 문제를 확인할 때는 DNS 모드를 함께 살펴 커널이 최종적으로 도메인과 IP 중 무엇을 확인했는지 파악해야 합니다.

RULE-PROVIDER / RULESET

규칙 세트

규칙 세트는 많은 매칭 항목을 별도 파일이나 원격 리소스로 분리한 뒤 설정의 규칙 제공자가 불러옵니다. 재사용, 분류, 개별 업데이트가 편리합니다.

규칙 세트 업데이트에 실패하면 이전 캐시가 계속 적용되거나 해당 규칙을 사용할 수 없게 될 수 있습니다. 리소스 주소, 동작 유형, 저장 경로, 업데이트 로그를 확인해야 합니다.

CATEGORY 05 / NETWORK MODE

DNS와 네트워크 모드

시스템 프록시는 프록시 설정을 따르는 프로그램에만 영향을 줍니다. TUN과 DNS 모듈은 더 넓은 범위의 시스템 연결을 가로채고 도메인 정보를 유지하는 데 사용됩니다.

TUN / VIRTUAL INTERFACE

TUN 모드

TUN 모드는 가상 네트워크 인터페이스로 시스템 트래픽을 수신하여 프록시 설정이 없는 앱에도 적용할 수 있습니다. 활성화하려면 보통 시스템 권한이 필요하며 커널이 라우팅, DNS 가로채기, 인터페이스 매개변수를 설정합니다.

연결에 문제가 생기면 권한, 가상 네트워크 카드, 라우팅 충돌, 방화벽, DNS 설정을 순서대로 확인해야 합니다. 인터페이스에서 스위치를 켜는 것만으로 모든 트래픽이 TUN으로 들어간다고 보장할 수는 없습니다.

FAKE-IP / DNS MAPPING

Fake-IP

Fake-IP 모드는 앱에 예약 주소를 반환하고 연결 단계에서 해당 주소를 원래 도메인에 매핑합니다. 이를 통해 규칙 엔진이 도메인 맥락을 유지하여 실제 IP로 너무 일찍 해석될 때 생기는 매칭 오차를 줄일 수 있습니다.

일부 로컬 네트워크 장치, 게임, 특수 앱은 매핑 주소와 맞지 않을 수 있으므로 필터 목록에서 해당 도메인을 제외할 수 있습니다.

REDIR-HOST / REAL IP

Redir-Host

Redir-Host 모드는 앱에 실제 DNS 조회 결과를 반환하므로 일반적인 네트워크 조회와 동작이 비슷합니다. Fake-IP 주소 풀에 의존하지 않지만 일부 연결은 이후 단계에서 대상 IP만 남을 수 있습니다.

규칙이 도메인에 의존하는데 연결 정보에 IP만 남으면 매칭 결과가 예상과 달라질 수 있습니다. 모드를 바꾼 뒤에는 DNS 캐시와 라우팅을 다시 테스트해야 합니다.

DNS LEAK / RESOLVER PATH

DNS 누출

DNS 누출은 도메인 조회가 예상한 Clash DNS 경로를 우회해 다른 리졸버에서 처리되는 현상입니다. 흔한 원인으로 브라우저 자체 암호화 DNS, 시스템 서비스 캐시, 다른 가상 네트워크 카드, 불완전한 TUN DNS 가로채기가 있습니다.

문제를 확인할 때는 먼저 어느 프로세스가 조회를 시작했는지 확인한 뒤 시스템 DNS, 브라우저 설정, 수신 포트, 실행 로그를 대조해야 합니다.

SYSTEM PROXY / OS SETTING

시스템 프록시

시스템 프록시는 운영체제가 제공하는 프록시 주소 설정입니다. 이 설정을 따르는 브라우저와 앱은 요청을 Clash의 로컬 수신 포트로 보냅니다.

일부 프로그램은 시스템 프록시를 무시하며 일부 명령줄 도구는 환경 변수를 별도로 설정해야 합니다. 이러한 트래픽까지 적용하려면 시스템 조건에 따라 TUN 모드를 검토할 수 있습니다.