Clash 원본, Clash Meta, mihomo 커널 차이: 버전 관계와 선택 가이드

Clash 원본 종료 배경과 Clash Meta에서 mihomo로의 개명 관계를 정리하고, 프로토콜 지원·설정 필드·유지보수 상태 차이를 비교합니다.

세 가지 이름, 하나의 혈통

오늘날 'Clash'라는 이름은 세 가지를 가리킵니다: 업데이트가 중단된 원본 코어, 한때 활발했던 Clash Meta 브랜치, 그리고 현재 유지보수 중인 mihomo. 이 셋은 경쟁 관계가 아니라 같은 코드베이스가 서로 다른 시기에 사용한 세 가지 이름입니다. 이 계승 관계를 이해해야 클라이언트 설정의 커널 옵션을 제대로 파악하고, 오래된 튜토리얼이 여전히 유효한지도 판단할 수 있습니다.

Clash 원본: 시작과 종료

원본 Clash는 Dreamacro가 Go 언어로 작성해 GPL-3.0 라이선스로 공개했으며, '구독 + 규칙 기반 분기'라는 기본 패러다임을 확립했습니다: proxies로 노드를 정의하고, proxy-groups로 정책 그룹을 정의하며, rules로 트래픽 방향을 결정합니다. 2023년 11월 작성자가 GitHub 저장소를 삭제하면서 릴리스 페이지와 문서도 함께 사라졌고, 버전은 v1.18.0에 멈춘 채 이후 업데이트가 없습니다. 같은 시기 폐쇄형 Premium 강화 코어도 종료됐는데, TUN과 스크립트 등 기능은 한때 이 버전에서만 독점적으로 제공됐습니다.

Clash Meta: 커뮤니티가 이어받은 브랜치

원본이 업데이트를 멈추기 전, MetaCubeX 팀은 이미 Clash.Meta를 포크해 새로운 프로토콜과 커널 기능을 중심으로 지속적으로 발전시키고 있었습니다: VLESS, Hysteria, TUIC, WireGuard 등 프로토콜 지원, 내장 TUN, sniffer 감지 기능은 모두 이 브랜치에서 등장했습니다. 원본 저장소가 사라진 뒤 Clash.Meta는 사실상의 후계자가 되었고, 수많은 클라이언트가 내장 코어를 이것으로 교체했습니다.

mihomo: 이름만 바뀐 동일 프로젝트

2024년 초 Clash.Meta는 정식으로 mihomo로 이름을 바꾸고 저장소를 MetaCubeX/mihomo로 이전했습니다. 새 이름으로 발표된 첫 안정 버전은 v1.18.0으로, Clash.Meta의 v1.17 시리즈를 이어받은 번호입니다. 이름 변경은 코드나 유지보수 인력의 변화를 의미하지 않으며 설정 형식도 그대로 호환됩니다. 오늘날 'Meta 커널'과 'mihomo 커널'이라는 두 표현은 같은 개발 라인을 가리킵니다. Clash Verge Rev, FlClash, Clash Meta for Android, ClashX Meta, Clash Plus 등 활발히 쓰이는 클라이언트들이 내장한 것도 바로 이것입니다.

프로토콜 지원 비교

커널 간 차이가 가장 뚜렷하게 드러나는 부분은 노드 프로토콜입니다. 구독에 vless://, hysteria2://, tuic://로 시작하는 링크가 있으면 원본 코어는 이를 해석하지 못해 노드 목록이 빠지거나 오류가 발생하지만, mihomo는 정상적으로 인식합니다.

프로토콜Clash 원본Clash Meta / mihomo
Shadowsocks지원지원
ShadowsocksR지원지원
VMess지원지원
Trojan지원지원
Snell지원지원
SOCKS5 / HTTP지원지원
VLESS지원
Hysteria / Hysteria2지원
TUIC지원
WireGuard지원
SSH지원

결론은 명확합니다: 최근 1~2년 사이 서비스 제공업체의 구독에는 원본 코어가 인식하지 못하는 프로토콜이 포함될 가능성이 높으므로, mihomo 커널을 탑재한 클라이언트를 선택해야 모든 노드를 사용할 수 있습니다.

설정 필드와 규칙 엔진 차이

mihomo는 원본의 3단 구조를 그대로 이어받아 기존 config.yaml은 대부분 그대로 가져올 수 있습니다. 차이는 규칙 유형과 새로 추가된 여러 필드에 집중돼 있습니다.

  • 규칙 유형: 원본 오픈소스 코어는 DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, GEOIP, IP-CIDR, SRC-PORT, DST-PORT, PROCESS-NAME, MATCH 등을 지원합니다. mihomo는 GEOSITE, RULE-SET, IP-ASN, IP-SUFFIX, PROCESS-PATH, NETWORK, UID, DSCP를 추가하고 AND, OR, NOT 논리 조합과 SUB-RULES 하위 규칙을 도입해, 복잡한 분기 설정 시 긴 규칙 목록을 쌓지 않아도 됩니다.
  • 규칙 세트: rule-providers는 양쪽 모두 http와 file 소스, domain / ipcidr / classical 세 가지 behavior를 지원합니다. mihomo는 추가로 inline 내장 유형과 format 필드를 제공해 소량의 규칙을 설정 파일에 직접 작성할 수 있습니다.
  • 구독 가져오기: mihomo의 proxy-providersoverride로 노드 필드를 일괄 수정할 수 있고 사용자 지정 요청 헤더도 지원해, 구독에 특정 User-Agent가 필요할 때 별도 변환 도구가 필요 없습니다.
  • 실험적 필드: sniffer 감지, unified-delay, tcp-concurrent, find-process-mode, global-client-fingerprint, geodata-mode 등의 필드는 mihomo에만 존재합니다.

주의: mihomo 전용 필드가 포함된 설정은 예전 코어로 되돌릴 수 없습니다. 원본은 실행 시 unknown field로 인해 로드를 거부합니다. 커널을 옮겨 설정을 마이그레이션하기 전에 대상 코어가 인식하는 필드 목록을 먼저 확인하세요.

TUN 모드: Premium 독점에서 커널 내장으로

TUN은 가상 네트워크 카드로 전체 기기의 트래픽을 인수해, 시스템 프록시를 거치지 않는 프로그램(명령줄 도구, 게임, 일부 샌드박스 앱)도 분기 처리에 포함시킵니다. 원본 오픈소스 코어에는 TUN이 없었으며, 이 기능은 폐쇄형 Premium에 속해 프로젝트 종료와 함께 사라졌습니다.

mihomo는 TUN을 오픈소스 커널에 내장해, 설정 몇 줄만으로 켤 수 있습니다:

tun:
  enable: true
  stack: system
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

stack은 system, gvisor, mixed 중 선택할 수 있으며 각각 시스템 네트워크 스택, 사용자 모드 프로토콜 스택, 혼합 모드에 대응합니다. auto-route는 라우팅 테이블을 자동으로 배포하고, dns-hijack은 53번 포트로 향하는 DNS 요청을 커널에서 처리해 프로그램이 프록시를 우회해 DNS에 직접 접속하는 것을 막습니다. GUI 클라이언트는 보통 이 설정을 스위치로 만들어 두어, '강화 모드' 또는 'TUN 모드'를 켜면 되며 직접 작성할 필요는 없습니다.

유지보수 현황과 선택 가이드

프로젝트저장소현황
Clash 원본Dreamacro/clash2023년 11월 저장소 삭제, 유지보수 중단
Clash MetaMetaCubeX/Clash.Meta이름 변경 완료, 별도 개발 중단
mihomoMetaCubeX/mihomo활발히 유지보수 중, 새 프로토콜과 수정 사항이 여기서 반영됨

선택은 다음 세 가지 기준으로 판단하세요:

  1. 새로 설치하는 경우: mihomo 커널이 내장된 클라이언트를 바로 선택하세요. 본 사이트 다운로드 페이지에서 각 플랫폼별로 추천하는 클라이언트는 모두 mihomo 커널이며, 다운로드 후 구독을 가져오면 바로 사용할 수 있습니다.
  2. 기존 클라이언트에서 이전하는 경우: 설정을 먼저 그대로 가져와서 로그를 확인하세요. unknown field가 나타나거나 hysteria2, vless 노드가 빠진다면 구독을 수정하지 말고 mihomo 커널 클라이언트로 교체하세요.
  3. 예전 튜토리얼을 읽는 경우: 글에 'Clash.Meta', 'Meta 커널'이라는 표현이 나오면 mihomo로 이해하면 되고, 'Premium 코어'라는 표현이 나오면 해당 기능은 mihomo에 이미 오픈소스로 내장되어 있습니다.

커널은 엔진이고 구독은 연료입니다. 커널을 바꿔도 구독 링크는 그대로 유지되며, 노드는 여전히 구독 주소에서 업데이트되고, 그룹과 규칙도 구독 또는 로컬 설정에 따라 그대로 보존됩니다.

자주 묻는 질문

기존 Clash 설정을 계속 사용할 수 있나요?

대부분 사용할 수 있습니다. mihomo는 원본의 3단 설정 구조와 호환되므로 그대로 가져오면 됩니다. mihomo 전용 필드가 포함된 설정만 원본 코어로 되돌릴 수 없습니다.

클라이언트 설정에 Clash와 mihomo 두 커널 옵션이 함께 있으면 어떤 걸 선택해야 하나요?

mihomo를 선택하세요. Clash 옵션은 예전 설정과의 호환을 위해 남겨둔 것일 뿐, 프로토콜 지원과 수정 작업은 이미 중단되어 새 프로토콜 노드는 원본 커널에서 사용할 수 없습니다.

이름이 바뀐 뒤 구독 링크도 바꿔야 하나요?

아닙니다. 커널 교체는 구독 주소와 무관합니다. 구독은 서비스 제공업체가 관리하며, 클라이언트는 평소처럼 정기적으로 노드 목록을 업데이트합니다.

mihomo는 유료 소프트웨어인가요?

아닙니다. mihomo는 GPL-3.0 오픈소스 라이선스를 이어가며 소스 코드가 공개되어 있고 무료로 사용할 수 있습니다. 각 플랫폼에서 이를 기반으로 한 클라이언트 역시 대부분 오픈소스 프로젝트입니다.

mihomo 커널 탑재 Clash 클라이언트 다운로드

Windows, macOS, Linux, Android, iOS 각 플랫폼의 추천 클라이언트는 모두 mihomo 커널을 내장하고 있어 구독을 가져오면 바로 사용할 수 있습니다.

Clash 다운로드