Clash Meta에서 Mihomo 커널로: 레거시 Core 마이그레이션 완전 가이드

왜 레거시 Clash Core에서 Mihomo로 옮겨야 할까요?

2022년 이전에 배포된 원조 Clash Core(Dreamacro가 관리하던 버전)를 아직 쓰고 있다면, 이 가이드는 꼭 읽어두는 것이 좋습니다. 상류 Clash 프로젝트는 2023년 11월 공식적으로 아카이브되었고 GitHub 저장소는 읽기 전용입니다. 즉 보안 패치·버그 수정·신기능은 더 이상 기대하기 어렵습니다.

한편 프록시 프로토콜 생태계는 빠르게 바뀌고 있습니다. VLESS + REALITY, Hysteria2, TUIC v5 같은 차세대 프로토콜을 서비스 업체가 도입하는 경우가 늘고 있는데, 레거시 Clash Core는 이런 프로토콜을 전혀 처리하지 못합니다. 노드 목록에 “연결 실패”나 “프로토콜 미지원” 같은 메시지가 잔뜩 쌓인다면, 커널이 낡았을 가능성이 매우 큽니다.

Mihomo(구 Clash Meta)는 MetaCubeX 팀이 활발히 유지하는 Clash 계열 커널 포크입니다. 기존 Clash 설정 문법과의 호환성을 크게 유지하면서 REALITY, Hysteria2, TUIC v5, Shadowsocks 2022 등을 네이티브로 지원하고, 구버전에서 보이던 메모리 누수·연결 불안정 문제도 상당 부분 해소되었습니다. Clash 경험을 이어가려면 Mihomo로 올리는 것이 가장 현실적인 선택입니다.

이름에 관해: 2024년 리브랜딩 이후 공식 명칭은 Mihomo입니다. 문서나 클라이언트 UI에는 여전히 “Clash Meta”나 “Meta Premium”이 보일 수 있는데, 모두 같은 프로젝트를 가리키므로 헷갈릴 필요는 없습니다.

업그레이드 전에 할 일

본격적으로 손대기 전에 5분 정도만 투자해 아래를 챙기면, 중간에 설정이 깨지거나 데이터가 날아가는 상황을 크게 줄일 수 있습니다.

1단계: 기존 설정 파일 백업

Clash 설정 파일은 보통 config.yaml이라는 이름이며, 기본 위치는 대략 다음과 같습니다.

  • Windows: %USERPROFILE%\.config\clash\ 또는 클라이언트 데이터 폴더 아래 profiles\
  • macOS: ~/.config/clash/
  • Linux: ~/.config/clash/

clash 설정 폴더 전체를 데스크톱 등 안전한 곳에 복사해 두세요. 업그레이드가 잘못되어도 이 백업만 있으면 이전 상태로 되돌릴 수 있습니다.

2단계: 사용 중인 클라이언트 확인

Mihomo 커널 자체는 CLI 프로그램입니다. 대부분의 사용자는 아래와 같이 GUI 클라이언트를 통해 간접적으로 사용합니다.

클라이언트 플랫폼 Mihomo 내장 여부
Clash Verge Rev Windows / macOS / Linux 예(기본이 Mihomo)
FlClash Android / Windows / macOS 예(Mihomo 내장)
Clash for Windows(구버전) Windows 아니오(수동 커널 교체 필요)
ClashX / ClashX Pro(구버전) macOS 아니오(수동 커널 교체 필요)
OpenClash OpenWrt Meta 커널을 별도로 받아 설정

이미 Clash Verge Rev나 FlClash를 쓰고 있다면 다행입니다. 두 클라이언트는 출시 시점부터 Mihomo를 포함하고 있으므로, 최신 버전으로만 업데이트하면 되고 커널 파일을 직접 바꿀 필요는 없습니다.

구형 Clash for Windows나 ClashX를 쓰는 경우에는 아래 수동 절차를 따르세요.

Windows: Mihomo 커널 교체

Windows에서는 새 커널을 받아 파일만 바꾼 뒤 클라이언트를 다시 켜면 됩니다. 크게 세 단계로 나눌 수 있습니다.

1단계: Mihomo 커널 다운로드

Mihomo GitHub Releases에서 최신 버전을 열고 Assets에서 본인 환경에 맞는 파일을 고릅니다.

  • 64비트 Intel/AMD(대부분의 PC): mihomo-windows-amd64.zip
  • ARM 기기(Surface Pro X, Copilot+ PC 등): mihomo-windows-arm64.zip

압축을 풀면 mihomo-windows-amd64.exe 실행 파일이 나옵니다.

2단계: 커널 파일 교체

클라이언트마다 바이너리 위치가 다릅니다.

  • Clash for Windows: 설치 폴더 아래 resources\static\files\win\x64\로 이동해 기존 clash-win64.exe를 받아 둔 mihomo-windows-amd64.exe로 바꾼 뒤, 새 파일 이름을 clash-win64.exe로 맞춥니다.

교체 전에는 클라이언트를 완전히 종료하세요. 실행 중인 커널 파일을 덮어쓰면 파일이 사용 중이라는 오류로 실패합니다. 트레이 아이콘에서 완전 종료까지 한 뒤 작업하세요.

3단계: 재시작 후 확인

파일을 바꾼 뒤 클라이언트를 다시 실행하고 설정 또는 정보 화면에서 커널 버전 문자열을 확인합니다. MihomoMeta가 보이면 교체에 성공한 것입니다. 로그 패널의 시작 로그로도 확인할 수 있습니다.

macOS: 새 클라이언트로 전환하는 편이 낫습니다

macOS에서는 구형 ClashX 안에서 커널만 갈아 끼우기보다, Mihomo가 기본 포함된 최신 클라이언트(예: Clash Verge Rev)로 갈아타는 것을 권장합니다. ClashX 프로젝트 역시 업데이트가 멈춘 지 오래되어, 커널만 새로 해도 GUI 층에서 호환 문제가 남을 수 있습니다.

1단계: 구독 URL 저장

ClashX 설정 화면에서 제공업체가 준 https://로 시작하는 구독 주소를 복사해 안전하게 보관합니다. 로컬 YAML만 쓰는 경우에는 해당 파일을 통째로 백업하면 됩니다.

2단계: 새 클라이언트 설치

본 사이트 다운로드 페이지에서 Mac에 맞는 빌드를 받습니다.

  • Apple Silicon(M1 / M2 / M3 / M4): ARM64(Apple Silicon) 빌드
  • Intel Mac: x64 빌드

처음 실행 시 보안 경고가 뜨면 시스템 설정 → 개인정보 보호 및 보안에서 그래도 열기로 진행할 수 있습니다.

3단계: 구독 가져오기

새 클라이언트의 구독 또는 프로필 메뉴에 URL을 붙여 넣고 가져오기·업데이트를 실행합니다. 노드 목록이 채워지면 원하는 노드를 고르고 사용하면 됩니다.

신형 클라이언트는 기본이 Mihomo이므로 REALITY·Hysteria2 노드도 별도 튜닝 없이 바로 쓸 수 있는 경우가 많습니다. 서버 측이 이미 신규 프로토콜로 올라갔다면 체감 속도 차이도 분명히 느껴질 수 있습니다.

설정 파일 이전 시 알아둘 점

Mihomo는 레거시 Clash Core 문법과 매우 높은 호환성을 유지하므로, 대부분의 기존 config.yaml은 수정 없이 그대로 올라갑니다. 다만 필드 몇 가지에서 차이가 있어, 업그레이드 직후 가장 자주 문제가 되는 지점이기도 합니다.

주요 설정 차이

항목 레거시 Clash Core Mihomo(Clash Meta)
외부 제어 포트 external-controller: '0.0.0.0:9090' 문법 동일, 호환
TUN 모드 미지원 또는 제한적 전면 지원, tun: 블록 필요
Shadowsocks 2022 미지원 네이티브 지원, cipher: 2022-blake3-aes-256-gcm 등 지정
VLESS + REALITY 미지원 네이티브 지원, reality-opts: 필요
Hysteria2 미지원 네이티브 지원, type: hysteria2
DNS 기본 수준 fake-ip-filter, direct-nameserver 등 확장 옵션

Mihomo용 최소 설정 예시

아래는 Mihomo와 호환되는 최소 구성 예시입니다. 기존 설정을 옮길 때 참고용으로 쓰세요.

YAMLmixed-port: 7890
allow-lan: false
mode: rule
log-level: info
ipv6: true

external-controller: '127.0.0.1:9090'
secret: ''

dns:
  enable: true
  ipv6: false
  enhanced-mode: fake-ip
  fake-ip-range: '198.18.0.1/16'
  nameserver:
    - 'https://doh.pub/dns-query'
    - 'https://dns.alidns.com/dns-query'
  fallback:
    - 'https://cloudflare-dns.com/dns-query'
    - 'tls://dns.google'
  fallback-filter:
    geoip: true
    geoip-code: CN

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

proxies: []

proxy-groups:
  - name: "Proxy Select"
    type: select
    proxies:
      - "Auto Select"
      - DIRECT

  - name: "Auto Select"
    type: url-test
    proxies: []
    url: 'http://www.gstatic.com/generate_204'
    interval: 300

rules:
  - GEOIP,CN,DIRECT
  - MATCH,Proxy Select

업그레이드 후 자주 나오는 문제와 해결

절차를 지켰는데도 이슈가 생길 수 있습니다. 사용자 문의에서 반복되는 유형을 정리했습니다.

문제 1: Dashboard가 열리지 않음(ERR_CONNECTION_REFUSED)

가장 흔한 원인은 external-controller0.0.0.0:9090에서 127.0.0.1:9090으로 바뀌었거나, 방화벽이 포트를 막는 경우입니다.

해결: 설정 파일에서 external-controller 값을 확인한 뒤 브라우저에서 해당 주소로 접속합니다(예: http://127.0.0.1:9090/ui). GUI 클라이언트에는 “Dashboard 열기” 버튼이 있는 경우가 많아 가장 빠릅니다.

문제 2: 모든 노드가 타임아웃·연결 실패

원인은 여러 가지일 수 있습니다.

  • 오래된 구독: 서버가 프로토콜을 올렸는데 로컬 구독 캐시가 남아 있으면 노드 정보가 맞지 않습니다. 클라이언트에서 구독 업데이트를 한 번 강제로 실행하세요.
  • DNS 해석 실패: Mihomo는 기본적으로 fake-ip 모드를 켭니다. dns.nameserver가 비어 있거나 잘못되면 호스트명이 풀리지 않습니다. 신뢰할 수 있는 업스트림 DNS를 최소 한 개 이상 넣어 두세요.
  • 시스템 프록시 미설정: Mihomo 커널만으로는 OS 프록시가 자동 설정되지 않습니다. 클라이언트에서 시스템 프록시를 켜거나, 수동으로 127.0.0.1:7890을 지정하세요.

문제 3: TUN 모드가 시작되지 않음

TUN은 가상 어댑터를 만들기 위해 권한이 필요합니다. Windows에서는 관리자 권한 실행 또는 서비스 모드, macOS에서는 시스템 확장 허용이 필요할 수 있습니다.

팁: Mihomo는 TUN 스택을 system, gvisor, mixed 중에서 고를 수 있습니다. system에서 문제가 있으면 tun.stackgvisormixed로 바꿔 보세요. 특정 환경에서 호환성이 더 좋을 때가 많습니다.

문제 4: 규칙 설정이 로드되지 않음

Mihomo는 레거시 코어보다 규칙 문법을 엄격하게 검사합니다. 대표적인 경우는 다음과 같습니다.

  • RULE-SET은 대응하는 rule-providers 정의가 있어야 합니다. provider 없이 RULE-SET,foo,DIRECT만 쓰면 파싱 오류가 납니다.
  • 규칙 세트 파일은 유효한 YAML 또는 MRS 형식이어야 합니다. 구 코어가 느슨하게 받아주던 비표준 형식은 거절될 수 있습니다.
  • 프록시 그룹 이름에 특수문자를 넣지 마세요. 문자·숫자·공백 정도로 단순하게 유지하는 것이 안전합니다.

업그레이드 확인과 성능 튜닝

이전이 끝나면 아래를 순서대로 점검한 뒤, 필요하면 몇 가지 옵션만 더 켜 두면 Mihomo를 더 쾌적하게 쓸 수 있습니다.

점검 체크리스트

  1. Dashboard의 프록시 화면에서 노드 목록이 정상인지 확인하고, 자주 쓰는 노드에 지연 테스트를 돌려 숫자가 나오는지 봅니다.
  2. 브라우저에서 프록시 없이는 열리기 어려운 사이트(예: Google)를 열어 실제 통과 여부를 확인합니다.
  3. 로그 탭에서 ERRORFATAL이 끊임없이 반복되지 않는지 봅니다.
  4. REALITY나 Hysteria2 노드를 쓴다면 해당 노드도 지연 값이 잡히는지 확인합니다. 레거시 커널은 이런 타입을 해석하지 못해 항상 타임아웃처럼 보였을 수 있습니다.

성능 관련 권장 설정

Mihomo로 넘어온 뒤에는 아래 옵션을 검토해 보세요.

  • TCP 동시 연결: 설정에 tcp-concurrent: true를 추가하면 여러 경로로 동시에 붙었다가 가장 빠른 쪽을 택합니다.
  • geodata 자동 갱신: GeoIP·GeoSite 파일을 주기적으로 받아 오도록 해 두면 규칙 기반 분류가 덜 어긋납니다.
  • 선택 노드 기억: profile.store-selected: true로 두면 재시작 후에도 마지막에 고른 노드를 기억합니다.

정리: 장기적으로 Mihomo가 맞는 방향입니다

레거시 Clash Core의 아카이브는 프록시 도구 생태계가 Mihomo 중심으로 재편되고 있다는 신호로 읽는 편이 맞습니다. 지원 프로토콜 폭, 보안 패치 지속성, 최신 설정 문법과의 궁합까지 보면 구 커널을 계속 붙잡을 이유는 거의 없습니다.

지금 쓰는 클라이언트가 아직 무난하다면 커널 파일만 교체하는 것도 부담이 적은 방법입니다. 반면 Clash for Windows 원판처럼 클라이언트 자체도 끊긴 경우에는 아예 신형 GUI로 갈아타는 편이 이후 관리 비용이 훨씬 적습니다.

새 클라이언트를 고를 때는 Mihomo를 깊게 통합하고 UI를 다듬어 둔 제품을 우선 보세요. 구독 관리, 프록시 전환, TUN 토글, 규칙 편집처럼 매일 손이 가는 부분에 공을 들인 클라이언트가 CLI만 돌리는 것보다 체감이 크게 다릅니다.

이 글에서 다루지 못한 문제가 있다면 튜토리얼 페이지에서 더 깊은 설정을 찾아보거나, 권장 클라이언트를 써 보세요. 합리적인 기본값이 잡혀 있어 Clash를 처음 쓰는 사람도 짧은 시간 안에 붙일 수 있게 만들어 둔 경우가 많습니다.

커널 직접 갈아 끼우기와 YAML 손대기가 번거롭다면, Mihomo가 기본 탑재된 Clash 클라이언트를 받아 보세요. 구독은 한 번에 가져오고, 대부분 5분 안에 쓸 준비가 됩니다. 다운로드 페이지로 이동 →