이 글의 목차
Mihomo, Clash Meta, Original Clash가 같은 계층의 개념인지부터 구분하세요
Original Clash는 보통 Dreamacro가 시작한 초기 Clash 커널을 뜻합니다. Clash Meta는 그 설정 철학을 바탕으로 확장을 이어 간 분기이며, Mihomo는 이후 Clash Meta가 채택한 프로젝트 이름입니다.
Clash Meta와 Mihomo는 같은 프로젝트의 서로 다른 시기를 가리키며 둘 중 하나를 골라야 하는 별개의 새 커널이 아닙니다. 오래된 가이드에는 "Meta"로 적힌 경우가 많지만 현재 프로젝트와 로그에는 "Mihomo"가 더 자주 나타납니다.
더 혼동하기 쉬운 것은 클라이언트 이름입니다. Clash Verge Rev, FlClash, Clash Party는 구독, 시스템 프록시, 화면을 관리하는 그래픽 클라이언트이며 내부에서 실제로 실행되는 커널이 Mihomo일 수 있습니다. 파일 이름에 Clash가 들어 있다는 사실만으로 Original Clash를 사용한다고 볼 수는 없습니다.
이름별 계층
| 이름 | 일반적으로 뜻하는 것 | 현재 어떤 용도로 참고할 수 있나 |
|---|---|---|
| Original Clash | 최초의 Clash 커널과 기본 설정 모델 | 과거 설정과 구형 클라이언트 동작 이해 |
| Clash Meta | 기존 모델을 기반으로 확장한 후속 커널 이름 | 이전 문서, 로그, 구독 설명 읽기 |
| Mihomo | Clash Meta가 현재 사용하는 프로젝트 이름 | 새 배포 환경, 현재 필드, 유지 관리 중인 커널 |
| Clash 그래픽 클라이언트 | 커널을 관리하는 데스크톱 또는 모바일 앱 | 인터페이스, 플랫폼 지원, 실제 내장 커널 버전 확인 |
아이콘으로 판단하지 말고 "정보"와 시작 로그에서 버전을 확인하세요
같은 구독이 두 컴퓨터에서 다르게 동작하는 흔한 원인은 구독의 무작위 변화가 아니라 클라이언트에 내장된 커널 또는 버전 차이입니다. 클라이언트의 "설정 → 정보", "커널" 또는 "실행 로그"를 열어 전체 이름과 버전을 기록하세요. 명령줄 배포 환경에서는 바이너리의 버전 출력을 직접 확인합니다.
mihomo -v
# 如果机器上运行的是旧名称的二进制,也应先看它自己的版本
clash -v기록할 때 "최신 버전"이라고만 쓰지 마세요
- 클라이언트 이름과 버전
- 커널 표시가 Mihomo, Clash Meta, Clash 중 무엇인지
- 커널의 정확한 버전 번호
- 운영체제와 CPU 아키텍처
- 오류 발생 시 실제로 불러온 설정 파일
설정 형식이 비슷해도 서로 다른 커널에서 그대로 오갈 수는 없습니다
Mihomo는 proxies, proxy-groups, rules 같은 핵심 구조를 이어받아 기본 설정이 익숙해 보입니다. 하지만 이후 프로토콜, DNS, TUN, 규칙 세트, 스니핑, 런타임 필드가 추가되거나 확장되었습니다.
구형 커널이 알 수 없는 내용을 만나면 unknown field, unsupported proxy type 오류를 내거나 일부 필드를 그대로 무시해 알아차리기 어려운 동작 차이를 남길 수 있습니다.
반대 방향도 완전히 문제없지는 않습니다. 이전 설정이 이미 동작이 달라진 기능, 스크립트 기능 또는 클라이언트 생성 필드를 참조한다면 Mihomo에서 다시 검증해야 할 수 있습니다. 진정한 호환 기준은 "YAML을 열 수 있음"이 아니라 설정 검사 통과, 완전한 정책 그룹 참조, 예상과 일치하는 규칙 적용과 DNS 결과입니다.
같은 구독에서 차이가 가장 쉽게 생기는 부분
| 구분 | Original Clash 환경 | Mihomo 환경 | 마이그레이션 방법 |
|---|---|---|---|
| 노드 프로토콜 및 전송 | 구형 커널과 버전에 따라 다르며 당시 지원하던 필드만 인식 | 더 다양한 프로토콜과 전송 옵션을 계속 추가하고 유지 관리 | unsupported proxy type이 나타나면 커널을 확인하고 억지로 맞추려고 노드 필드를 삭제하지 않기 |
| DNS | 서로 다른 오픈 소스/Premium 버전은 기능과 필드가 완전히 같지 않음 | 현재 문서에 완전한 DNS, Fake-IP, nameserver 옵션이 포함됨 | 최소 DNS 설정을 먼저 유지하고 Fake-IP 필터와 상위 서버를 하나씩 이전 |
| TUN | 사용 가능 여부는 구형 분기, 버전, 클라이언트 통합 방식에 따라 달라짐 | 현재 Mihomo와 주요 클라이언트에서 TUN을 일반적으로 제공 | 시스템 프록시로 먼저 검증한 뒤 TUN과 서비스 권한을 따로 활성화 |
| 규칙 및 Provider | 구형 커널은 자신이 인식하는 규칙 유형과 구조만 허용 | 현재 문서에 정의된 규칙, 규칙 세트, 확장 필드 지원 | rule-provider behavior, 정책 그룹 이름, 최종 병합 결과 확인 |
| 클라이언트 추가 필드 | 구형 GUI의 Mixin, Parsers 또는 스크립트가 생성했을 수 있음 | 새 클라이언트의 Merge, Script 또는 덮어쓰기가 생성 | 목적만 이전하고 클라이언트 전용 설정 전체를 복사하지 않기 |
unknown field
흔한 원인:현재 커널이 필드를 인식하지 못하거나 필드가 잘못된 계층에 있음
해결 방법:콜론을 지우며 시행착오를 겪지 말고 실제 커널 버전의 공식 문서와 대조하세요.
unsupported proxy type
흔한 원인:프로토콜 또는 전송 기능이 현재 커널 지원 범위를 벗어남
해결 방법:서비스 제공자가 요구하는 유지 관리 중인 커널로 업그레이드하거나 호환되는 노드를 사용하세요.
proxy/group not found
흔한 원인:정책 그룹, 규칙 또는 덮어쓰기가 참조하는 이름이 없음
해결 방법:원본 구독만 보지 말고 최종 병합 설정을 확인하세요.
불러오기는 되지만 규칙 동작이 다름
흔한 원인:DNS, 규칙 순서 또는 클라이언트 덮어쓰기가 실행 결과를 변경함
해결 방법:연결 기록에서 같은 도메인에 적용된 규칙과 출구를 비교하세요.
새 환경에는 유지 관리 중인 Mihomo를 우선 사용하고 구형 커널은 명확한 레거시 요구가 있을 때만 남기세요
지금 데스크톱 클라이언트, 라우터 플러그인 또는 서버 서비스를 새로 설치한다면 Mihomo 사용을 명시하고 공식 릴리스와 문제 추적이 계속되는 프로젝트를 우선 선택하세요. 이는 이름이 바뀌면 자동으로 빨라져서가 아니라 현재 시스템과의 호환성, 보안 수정, 문서 일관성을 확보하기 위한 선택입니다.
Original Clash를 유지할 합리적인 경우는 대체로 매우 제한적입니다. 특정 오프라인 환경이 동결되어 있고 설정이 기존 기능만 사용하며 업그레이드 위험이 이점보다 큰 경우입니다. 이때도 바이너리 출처, 버전, 롤백 방법을 기록하고 구형 커널을 인터넷에 공개된 제어 서비스로 계속 노출해서는 안 됩니다.
- 일반 데스크톱 사용자
- Mihomo가 내장되고 지속적으로 유지 관리되는 클라이언트를 선택해 깨끗한 구독 하나로 시작하세요.
- OpenWrt 사용자
- LuCI 화면만 업그레이드하지 말고 플러그인 버전, Mihomo 커널 아키텍처, 사용 가능한 저장 공간을 함께 확인하세요.
- 서버 또는 컨테이너 배포
- 명확한 버전을 고정하고 시험용 디렉터리에서 설정 검사를 실행한 뒤 운영 인스턴스를 교체하세요.
- 레거시 원본 환경
- 격리와 롤백 가능성을 유지하고 새 프로토콜 구독을 구형 커널에 바로 전달하지 마세요.
마이그레이션할 때는 기존 동작을 먼저 재현한 뒤 새 기능을 하나씩 켜세요
설정 하나를 안전하게 이전하는 순서
기존 설정 보관
기존 설정, 커널 버전, 반복해서 접속할 수 있는 시험 주소 모음을 백업합니다.
클라이언트 전용 항목 제거
구형 GUI의 창, 캐시, 서비스 설정을 Mihomo 설정으로 간주해 복사하지 마세요.
설정 검사부터 실행
첫 번째 unknown field, 유형 또는 참조 오류부터 해결하고 한꺼번에 전체 구간을 삭제하지 마세요.
같은 노드로 고정
자주 쓰는 웹사이트, 내부 도메인, 시스템 프록시를 읽지 않는 앱 하나를 비교합니다.
그다음 DNS와 TUN 확장 기능 활성화
한 번에 한 계층만 바꾸고 연결 기록, 규칙 일치, 종료 후 네트워크 복원을 살펴봅니다.
마이그레이션 완료 기준은 클라이언트에 "연결됨"이 표시되는지가 아닙니다. 기존 환경의 주요 트래픽이 새 커널에서 예상 규칙에 맞고, LAN과 내부 도메인이 계속 직접 연결되며, 시스템 프록시 또는 TUN을 끈 뒤 네트워크가 복원되어야 합니다. 이 결과를 확인한 다음 기존 바이너리와 서비스를 삭제하세요.
