Clash 오리지널·Clash Meta·mihomo 커널 차이와 선택 가이드

Clash 오리지널, Clash Meta, mihomo의 계보와 프로토콜·규칙 문법·유지 관리 현황을 비교하고, 클라이언트별 탑재 커널을 정리합니다.

클라이언트와 커널부터 구분하기

Clash 클라이언트는 설정을 가져오고, 노드를 전환하고, 시스템 프록시를 켜는 그래픽 인터페이스입니다. 커널은 YAML 설정을 해석하고 규칙에 따라 연결을 처리합니다. 두 요소는 서로 다른 프로젝트에서 개발될 수 있습니다. 따라서 창 제목에 Clash라고 표시되어도 실제로 실행 중인 것이 Clash 오리지널인지, Clash Meta인지, mihomo인지 알 수는 없습니다. 클라이언트의 ‘커널’ 또는 ‘정보’ 화면에서 확인하세요. 앱 이름만으로 판단해서는 안 됩니다.

이 세 이름은 서로 나란히 놓인 신구 버전이 아닙니다. Clash 오리지널은 초기 프로젝트이고, Clash Meta는 Clash 생태계에서 확장 기능을 갖추며 발전했습니다. 이후 Clash Meta는 mihomo라는 이름으로 프로젝트를 이어 갔습니다. 자료나 구독 안내, 클라이언트 화면에는 여전히 ‘Meta’라고 쓰여 있을 수 있지만, 실제로 내려받은 커널 파일과 버전 정보에는 ‘mihomo’라고 표시될 수 있습니다. 두 이름을 모두 접했다면 프로젝트와 버전 정보를 먼저 확인하세요. 이른바 Meta에서 mihomo로 변환하는 설정 파일을 급히 찾을 필요는 없습니다.

이름 다른 이름과의 관계 선택할 때 확인할 점
Clash 오리지널 초기에 독립적으로 개발된 Clash 커널 프로젝트 기존 설정이 기본 프로토콜과 규칙만 사용하는지, 현재 클라이언트가 여전히 이 커널을 탑재하는지
Clash Meta Clash 기능을 확장한 프로젝트이자 지금도 자주 쓰이는 명칭 설정에서 Meta 계열이 지원하는 프로토콜, 규칙, DNS 옵션을 사용하는지
mihomo Clash Meta가 이후 사용한 프로젝트 이름 현재 클라이언트에 실제로 포함된 커널 버전과 기능 안내

버전 변화와 유지 관리 현황 확인하기

Clash 오리지널의 공개 개발은 중단됐습니다. 이 프로젝트는 proxies, proxy-groups, rules 같은 일반적인 YAML 설정 구조를 정착시켰기 때문에 많은 튜토리얼에서 이런 파일을 통틀어 ‘Clash 설정’이라고 부릅니다. 하지만 설정 구조가 비슷해도 새 필드가 구형 커널에서 작동한다는 뜻은 아닙니다. 클라이언트가 오랫동안 업데이트되지 않았다면 출시 당시 포함된 커널을 계속 사용하고 있을 수 있습니다. 구독만 업데이트한다고 커널까지 자동으로 바뀌지는 않습니다.

Clash Meta는 기존 사용 방식을 바탕으로 기능을 추가했고, 이후 mihomo라는 이름으로 프로젝트를 이어 갔습니다. 현재 유지 관리 상태를 확인하려면 클라이언트에 표시된 커널 버전과 업데이트 기록을 살펴보세요. 앱 설치 패키지와 함께 커널을 업데이트하는 클라이언트도 있고, 설정에서 커널을 따로 전환하거나 업데이트할 수 있는 클라이언트도 있습니다. 클라이언트 버전과 커널 버전을 혼동하지 마세요. 예를 들어 ‘클라이언트 2.0’은 인터페이스 프로그램의 버전일 뿐, 특정 mihomo 규칙을 지원한다는 근거가 되지 않습니다.

기기에서 확인할 세 곳

  1. 클라이언트의 ‘설정’ 또는 ‘정보’를 열고 ‘커널’, ‘Core’, ‘Kernel’ 항목과 버전 번호를 찾으세요. 메뉴 이름은 클라이언트마다 다르므로 화면에 실제로 표시된 항목을 기준으로 확인하면 됩니다.
  2. 실행 로그의 시작 부분을 확인하세요. 커널 이름, 설정 로드 오류, 수신 대기 포트는 보통 시작할 때 표시됩니다. 현재 실행 중인 프로그램을 파악하는 데는 설치 파일 이름보다 로그가 더 정확합니다.
  3. 클라이언트에 ‘커널 전환’ 기능이 있다면 먼저 현재 선택 항목을 기록한 뒤, 대상 커널과 설정 파일의 호환성을 확인하세요. 전환 후 설정을 다시 불러오고, 로그에 알 수 없는 필드나 규칙 해석 오류가 남는지 확인합니다.

프로토콜 지원: 노드 필드와 커널 버전 확인

커널을 선택할 때 가장 직접적인 기준은 구독에 포함된 노드 유형입니다. Clash 오리지널 설정에는 주로 Shadowsocks, VMess, Trojan, SOCKS5, HTTP 같은 유형이 사용됩니다. mihomo는 이를 바탕으로 더 많은 프로토콜과 확장 문법을 지원하며, VLESS, Hysteria2, TUIC가 대표적인 예입니다. 다만 ‘mihomo가 특정 프로토콜을 지원한다’고 해서 모든 시기의 mihomo 빌드가 해당 프로토콜의 모든 매개변수를 지원하는 것은 아닙니다. 설치된 커널 버전과 해당 버전의 설정 문서를 확인하세요.

구독을 받으면 YAML의 proxies 아래에서 각 노드의 type을 확인할 수 있습니다. 노드에 type: vless라고 적혀 있는데 클라이언트가 구형 Clash 오리지널 커널을 사용한다면, 가져오기에 실패하거나 노드가 사라지는 것은 시스템 프록시가 꺼져서가 아니라 프로토콜이 맞지 않기 때문일 수 있습니다. 구독이 긴 Base64 문자열이나 단일 노드 공유 링크 형태라면 먼저 클라이언트가 해당 가져오기 형식을 지원하는지 확인하세요. 커널이 프로토콜을 지원해도 그래픽 인터페이스가 모든 공유 링크를 바로 해석할 수 있는 것은 아닙니다.

오류 순서에 따라 가져오기 문제 해결하기

  • 설정을 아직 불러오지 못함: YAML 들여쓰기와 필드 철자를 확인하고, 클라이언트에 표시된 오류 줄 번호를 살펴보세요. YAML은 공백으로 들여쓰며, 같은 계층의 목록 항목은 줄을 맞춰야 합니다.
  • 노드 유형을 인식하지 못함: type과 현재 실행 중인 커널을 확인하세요. 노드 표시 이름만 바꿔서는 해결되지 않습니다. 프로토콜 매개변수는 노드 서버에서 제공하는 정보와 일치해야 합니다.
  • 설정은 불러왔지만 연결되지 않음: 먼저 노드 주소와 포트, 네트워크 연결을 확인한 다음 인증 매개변수를 살펴보세요. 이 경우 커널만 바꿔서는 해결되지 않을 수 있습니다.

구독 서비스에서 ‘Clash’, ‘Clash Meta’, ‘mihomo’ 등 여러 설정 형식을 제공한다면 현재 커널에 맞는 형식을 우선 선택하세요. 형식을 바꾸기 전에 기존 설정을 저장하세요. 변환 도구가 프록시 그룹이나 규칙 세트 참조를 변경할 수 있으므로, 가져오기에 성공한 뒤에도 실제 트래픽 분기 결과를 확인해야 합니다.

규칙·DNS·TUN: 비슷한 설정도 동작은 다를 수 있음

기본 규칙은 비슷한 방식으로 읽을 수 있습니다. DOMAIN-SUFFIX,example.com,DIRECT는 해당 도메인과 일치하면 직접 연결하고, MATCH,DIRECT는 앞선 규칙에 일치하지 않은 연결을 처리합니다. 규칙은 보통 순서대로 확인하며 먼저 일치하는 규칙에 따라 연결 경로가 결정됩니다. 설정 파일에 규칙 세트 참조나 GEOSITE 같은 문법이 있다면 대상 커널이 해당 규칙 유형과 데이터 출처를 지원하는지 확인하세요. 확장자가 둘 다 .yaml이라는 이유만으로 설정을 그대로 공유할 수는 없습니다.

아래는 기본 규칙과 수신 대기 포트의 관계만 살펴보기 위한 간단한 예시입니다. mixed-port: 7890은 로컬 HTTP/SOCKS 혼합 프록시 포트이고, external-controller는 로컬 주소와 포트 9090을 사용합니다. 예시의 모든 규칙은 DIRECT로 연결되며 프록시 노드도 없습니다. 실제로 설정된 프록시 구독으로 착각하지 마세요.

mixed-port: 7890
mode: rule
external-controller: 127.0.0.1:9090
rules:
  - DOMAIN-SUFFIX,example.com,DIRECT
  - MATCH,DIRECT

DNS와 TUN은 따로 확인해야 합니다. DNS 설정은 도메인 이름을 어떻게 조회할지 결정하고, TUN 모드는 가상 네트워크 인터페이스를 통해 조건에 맞는 기기 트래픽을 처리합니다. TUN을 켜면 클라이언트가 네트워크 인터페이스 사용 권한을 요청할 수 있지만, TUN 자체가 작동하지 않는 노드를 고치거나 누락된 규칙 세트를 자동으로 채워 주지는 않습니다. ‘웹페이지는 열리는데 특정 앱은 프록시를 거치지 않는’ 문제가 생기면 먼저 해당 앱의 연결이 커널 로그에 나타나는지 확인한 다음 시스템 프록시와 TUN 활성화 상태, 라우팅 설정, 규칙 일치 여부를 점검하세요.

현재 클라이언트와 설정에 맞춰 선택하기

기존 설정이 정상적으로 작동하는 경우

클라이언트 이름, 커널 이름과 버전, 설정 출처를 먼저 기록하세요. 구독에 현재 커널이 지원하는 노드 유형만 포함되어 있고 규칙 모드의 사이트별 트래픽 분기도 예상대로라면 기존 구성을 계속 사용해도 됩니다. 클라이언트를 바꾸려면 먼저 YAML을 내보내거나 백업한 다음 새 클라이언트에서 가져오고 프록시 그룹 선택을 확인하세요. 그룹 이름이 같더라도 새 클라이언트에서 이전에 선택한 노드가 그대로 유지된다는 보장은 없습니다.

새 구독에서 확장 프로토콜이나 규칙을 사용하는 경우

mihomo 커널을 사용한다고 명확히 안내하고 필요한 필드를 지원하는 버전의 클라이언트를 우선 찾으세요. 가져온 뒤에는 노드가 목록에 모두 표시되는지, 프록시 그룹이 해당 노드를 참조하는지, 연결 로그에 예상한 규칙이 적용됐는지 확인해야 합니다. 노드 이름이 목록에 보인다고 프로토콜 핸드셰이크나 트래픽 분기가 성공한 것은 아닙니다. 클라이언트를 비교할 때는 ‘기기에서 쓰기 좋은 인터페이스인지’와 ‘커널이 설정을 읽을 수 있는지’를 별개의 조건으로 판단하세요.

클라이언트에 Clash만 표시되고 커널 설명이 없는 경우

먼저 ‘정보’ 화면과 실행 로그를 확인하세요. 그래도 알 수 없다면 클라이언트 릴리스 노트나 프로젝트 문서를 살펴보세요. 인터페이스에 TUN 스위치가 있다고 mihomo를 사용한다고 단정하지 말고, 파일 이름에 Meta가 있다고 실행 중인 커널이 성공적으로 전환됐다고 판단하지 마세요. 커널을 확인한 다음 해당 문서에 따라 구독의 프로토콜, rule-providers, DNS 필드, TUN 설정을 점검하세요.

선택할 때는 기존 설정과 사용 환경을 기준으로 삼으세요. 기본 규칙과 오래된 구독은 마이그레이션 비용을 고려하고, VLESS, Hysteria2, TUIC 노드는 구체적인 커널 버전을 확인해야 합니다. 기기 전체의 트래픽을 처리하려면 사용하는 운영체제에서 클라이언트가 TUN 설정과 권한 부여 절차를 지원하는지도 확인하세요. 선택 후에는 자주 이용하는 웹사이트와 특정 규칙이 필요한 웹사이트를 각각 테스트하고, 연결 로그를 통해 실제 연결 경로를 확인하세요.

클라이언트 설치 파일 보기