먼저 커널, GUI, 구독을 구분하세요

프록시 클라이언트는 여러 계층으로 나눠서 살펴보면 소프트웨어 이름을 비교하기 쉽습니다. 커널은 설정을 읽고, 도메인을 해석하고, 규칙을 적용해 연결을 전달합니다. GUI는 그래픽 사용자 인터페이스로 버튼 표시, 구독 관리, 정책 그룹 선택, 설정 저장을 담당합니다. 보통 두 구성요소가 하나의 설치 파일에 포함되지만, 같은 프로젝트는 아닙니다.

구독은 세 번째 계층으로 이해하면 됩니다. 구독은 서비스 제공자가 설정이나 노드 정보를 전달하는 방식이지, 커널이나 클라이언트가 아닙니다. Clash Verge Rev를 설치해도 사용할 수 있는 노드가 자동으로 생기지는 않습니다. 구독이 있다고 해서 이름에 “Clash”가 들어간 모든 소프트웨어에서 바로 불러올 수 있는 것도 아닙니다.

계층주요 역할문제 발생 시 확인할 항목
커널YAML 설정 해석, DNS 처리, 트래픽 분기 및 연결 전달커널 버전, 실행 로그, 설정 검사 결과
GUI 클라이언트구독 가져오기, 모드 전환, 시스템 프록시 설정, 백그라운드 서비스 관리클라이언트 버전, 설정 화면, GUI 로그
구독 및 설정노드, 정책 그룹, 규칙 및 일부 실행 매개변수 제공구독 형식, 업데이트 시각, 노드 프로토콜 및 필드
운영체제시스템 프록시 설정, 권한, 라우팅 및 가상 네트워크 인터페이스 제공시스템 네트워크 설정, 서비스 상태, 방화벽

트래픽 흐름은 “앱 → 로컬 프록시 포트 → 커널 → 규칙에 따라 선택된 출구” 순서로 보면 됩니다. 예를 들어 클라이언트의 혼합 포트를 7890으로 설정했다면 브라우저가 127.0.0.1:7890로 프록시 요청을 보내고, 이후 커널이 직접 연결할지 노드를 사용할지 결정합니다. 이 포트는 예시이며 모든 클라이언트의 기본값이 같은 것은 아닙니다.

Clash, Clash Premium, mihomo의 흐름 살펴보기

원본 Clash: 규칙 기반 프록시 커널의 출발점

먼저 원본 프로젝트부터 알아보겠습니다. 일반적으로 원본 Clash라고 하면 Dreamacro가 시작한 Go 언어 기반 프록시 커널을 가리킵니다. 이 프로젝트는 proxies, proxy-groups, rules처럼 많은 사용자가 익숙하게 여기는 설정 구조를 만들었습니다. 이름에 Clash가 들어가는 Clash for Windows, ClashX 등의 데스크톱 프로그램은 커널을 조작할 수 있는 인터페이스를 제공하는 클라이언트입니다.

오픈소스 원본 커널과 Clash Premium은 구분해야 합니다. Premium은 당시 별도로 배포된 비공개 소스 커널 분기로, 오픈소스 버전과 지원 기능이 달랐습니다. 예전 안내에서 “Premium이 필요하다”고 했다면 당시의 커널 요구사항을 설명한 것이므로, 현재 설치한 mihomo가 같은 필드를 지원하는지는 별도로 확인해야 합니다. 2023년 11월 원본 Clash 프로젝트와 일부 관련 클라이언트의 공개 유지보수에 큰 변화가 있었습니다. 이후 클라이언트를 선택할 때는 각 프로젝트의 저장소를 확인하고, 모두 하나의 통합 소프트웨어처럼 취급하지 마세요.

Clash Meta: Clash에서 갈라져 기능을 확장한 프로젝트

다음은 Clash Meta입니다. Clash 코드 기반에서 발전해 프로토콜, DNS, 규칙, TUN 등의 기능을 확장했습니다. TUN은 가상 네트워크 인터페이스로, 시스템 라우팅을 통해 커널에 트래픽을 전달할 수 있습니다. 브라우저가 사용하는 시스템 프록시와는 트래픽을 가로채는 방식이 다릅니다.

이름이 바뀐 관계도 알아두세요. Clash Meta는 이후 mihomo로 이름을 바꿨으며, 현재 프로젝트는 MetaCubeX 조직에서 관리합니다. 예전 설정 안내, 프로세스 이름, 클라이언트 화면에는 여전히 Meta라는 표현이 남아 있을 수 있습니다. 따라서 “Meta 커널”이라는 문구만 보고 완전히 다른 프로젝트라고 단정할 필요는 없습니다. 실제 커널 버전과 배포 출처를 확인하세요.

이름이 비슷하다고 공식 관계까지 같다고 보지 마세요

유지관리자와 저장소를 프로젝트별로 확인하세요. Clash Verge Rev, Clash Nyanpasu, ClashX Meta 등은 각각 개발 및 배포 일정이 다릅니다. 같은 계열의 커널을 사용한다고 해서 같은 팀이 배포하는 것은 아니며, 한 프로젝트의 업데이트 안내가 다른 프로젝트에도 적용되는 것은 아닙니다.

플랫폼별 GUI 클라이언트와 커널 관계 비교

아래 표에서 프로젝트의 일반적인 커널 계열을 확인한 뒤, 실제 설치 버전을 따로 살펴보세요. 과거 버전이나 제3자가 다시 패키징한 버전, 모든 분기가 표의 내용과 완전히 일치한다고 보장할 수는 없습니다. 특정 기능을 사용할 수 있는지는 기기에서 실행 중인 커널과 GUI의 연동 방식에 따라 달라집니다.

클라이언트주요 플랫폼커널 관계 및 참고 사항
Clash Verge RevWindows、macOS、Linuxmihomo를 사용합니다. 이전 Clash Verge 버전과 혼동하지 마세요.
Clash NyanpasuWindows、macOS、Linux커널 관리 기능을 제공합니다. GUI 이름만으로 판단하지 말고 현재 선택된 커널을 확인하세요.
ClashX MetamacOSMeta/mihomo 계열입니다. 원본 ClashX와 구분해서 확인하세요.
FlClashWindows、macOS、Linux、Androidmihomo 기반이며 Flutter로 GUI를 구성합니다. Flutter는 인터페이스 기술이지 프록시 커널이 아닙니다.
Clash for WindowsWindows, macOS, Linux용 과거 배포 버전과거에는 Clash 계열 커널을 사용했고, 후반기에는 주로 Premium을 사용했습니다. 원본 프로젝트는 유지보수를 중단했습니다.
Clash for AndroidAndroid원본 프로젝트는 Clash 계열의 과거 클라이언트로, 현재 유지보수되지 않습니다. 이후 나온 여러 Meta 분기와는 별개입니다.

이름 뒤의 접미사에 주의하세요. 철자가 비슷하다는 이유만으로 FlClash와 FlClashs를 같은 배포처의 프로젝트라고 판단할 수는 없습니다. Meta, Rev 등의 접미사가 붙은 클라이언트도 프로젝트 홈페이지, 릴리스 기록, 커널 안내를 각각 확인하세요. 이 사이트에서 제공하는 플랫폼별 링크가 상위 프로젝트의 전체 플랫폼 지원 목록을 뜻하는 것은 아닙니다.

iOS 클라이언트는 별도로 확인하세요. iOS에서 네트워크 트래픽을 처리하려면 시스템의 네트워크 확장 기능을 사용해야 합니다. Clash 형식 설정을 가져올 수 있는 앱이라도 mihomo를 직접 사용하는 것은 아닐 수 있습니다. Clash Plus 등 특정 제품은 해당 플랫폼 배포판의 기술 안내를 확인하세요. 특정 구독 형식을 지원한다는 사실만으로 같은 커널을 사용한다고 볼 수는 없습니다.

Clash 구독을 mihomo로 옮길 수 있는지 확인하기

가져오기 전에 구독 내용을 먼저 확인하세요. 구독 링크에서 완전한 YAML 설정이 반환될 수도 있고, 노드 목록만 반환되거나 다른 소프트웨어용 형식이 반환될 수도 있습니다. 클라이언트에 “파싱 실패”가 표시되더라도 노드가 만료된 것이 아니라, 호환되지 않는 내용을 설정 파서에 전달한 문제일 수 있습니다.

호환성을 네 가지 항목으로 확인하세요

  1. 최상위 구조를 확인하세요. 완전한 Clash 형식 설정에는 일반적으로 노드, 정책 그룹, 규칙 등의 필드가 포함됩니다. 노드 목록만 있는 내용은 GUI의 구독 관리 또는 설정 병합 기능이 있어야 사용할 수 있는 경우가 많습니다.
  2. 프로토콜과 필드를 확인하세요. 최신 커널에서 지원하는 노드 유형, 전송 매개변수, DNS 필드를 구형 커널이 인식하지 못할 수 있습니다. unsupported proxy type 같은 오류가 나오면 먼저 커널 버전과 관련 문서를 확인하세요.
  3. 외부 리소스를 확인하세요. proxy-providers는 외부 노드 제공자이고, rule-providers는 외부 규칙 제공자입니다. 기본 설정을 다운로드할 수 있다고 해서 외부 주소에도 접속할 수 있다는 뜻은 아닙니다.
  4. 로컬 덮어쓰기를 확인하세요. GUI가 포트, DNS, 컨트롤 인터페이스, TUN 매개변수를 덮어쓸 수 있습니다. 구독 파일에 적힌 값이 커널에 최종 전달되는 실행 설정과 다를 수 있습니다.

호환성은 방향이 있는 관계로 이해하세요. mihomo는 대체로 여러 Clash 형식 설정을 사용할 수 있지만, mihomo 확장 필드를 사용한 설정은 구형 Clash에서도 작동한다고 보장할 수 없습니다. 두 클라이언트가 모두 mihomo를 사용하더라도 포함된 버전이 다르면 결과가 달라질 수 있습니다.

기기에서 실제 커널과 설정 확인하기

GUI 버전을 기록한 다음 커널 버전도 기록하세요. 두 항목은 따로 업데이트될 수 있습니다. 예를 들어 GUI는 업데이트됐지만 커널 다운로드에 실패하면 이전 파일을 계속 사용할 수 있습니다. 반대로 커널을 교체해도 GUI의 설정 옵션이 자동으로 바뀌지는 않습니다.

GUI와 시작 로그를 함께 확인하세요

  • 클라이언트의 ‘정보’ 또는 버전 정보 화면을 열어 앱 이름과 전체 버전을 기록하세요. 메뉴 이름은 클라이언트마다 다르므로 다른 클라이언트의 메뉴 경로를 그대로 따라 하지 마세요.
  • 커널 관리 화면에서 선택된 커널 이름과 버전을 확인하세요. 여러 커널을 전환할 수 있다면 현재 활성화된 항목을 기준으로 확인해야 합니다.
  • 커널을 한 번 재시작하고 시작 로그에서 버전 정보, 설정 오류, 리스닝 포트를 확인하세요. 창이 열리는지만 확인해서는 안 됩니다.
  • 커뮤니티에 도움을 요청할 때는 운영체제 버전, 프로세서 아키텍처, GUI 버전, 커널 버전을 함께 적고 시스템 프록시나 TUN을 사용 중인지도 알려주세요.

mihomo를 직접 실행한다면 프로그램이 있는 디렉터리에서 아래 명령을 실행할 수 있습니다. 예시는 현재 디렉터리에 본인의 config.yaml 파일이 있다고 가정합니다. Windows에서는 PowerShell을, macOS와 Linux에서는 터미널을 사용하세요. 설정 검사를 통과했다는 것은 해당 검사 기준을 충족했다는 뜻일 뿐, 모든 노드에 연결된다는 의미는 아닙니다.

# Windows PowerShell
.\mihomo.exe -v
.\mihomo.exe -t -f .\config.yaml

# macOS / Linux
./mihomo -v
./mihomo -t -f ./config.yaml

가능하면 GUI에서 제공하는 설정 검사 기능으로 최종 실행 설정을 테스트하세요. 일부 클라이언트는 구독, 덮어쓰기, 스크립트 결과를 병합하므로 구독 원본 파일만 검사하면 병합 단계의 문제를 놓칠 수 있습니다. GUI에서 커널이 실행 중일 때 같은 포트를 사용하는 인스턴스를 추가로 실행하지 마세요.

프록시 포트와 컨트롤 인터페이스 구분하기

포트가 어떤 용도인지 확인하세요. 예를 들어 mixed-port: 7890은 HTTP와 SOCKS를 함께 사용하는 프록시 포트이고, external-controller: 127.0.0.1:9090은 GUI나 패널이 호출하는 컨트롤 인터페이스입니다. 둘 다 예시 값입니다. 브라우저 프록시를 컨트롤 인터페이스로 설정해도 웹 요청을 전달할 수 없습니다.

기기와 유지관리 상황에 맞는 클라이언트 선택하기

먼저 운영체제에서 지원되는 클라이언트를 고르고, 그다음 인터페이스 사용 방식을 비교하세요. 익숙한 이름이라는 이유만으로 현재 시스템에 맞지 않는 오래된 배포판을 계속 사용하지 마세요. 오픈소스와 무료 여부는 프로젝트의 특성일 뿐입니다. 실제로 사용할 때는 최근 릴리스, 이슈 대응, 설치 파일의 출처를 확인해야 합니다.

  1. 운영체제와 아키텍처를 확인하세요. Windows 기기는 x64와 ARM64를, macOS는 Apple Silicon과 Intel을 구분하세요. Linux에서는 DEB나 RPM 등 배포판의 패키지 형식도 확인해야 합니다.
  2. 설정에 필요한 기능을 확인하세요. 구독에서 사용하는 프로토콜, 규칙 제공자, DNS 매개변수 등을 커널 문서와 대조해 확인하세요. GUI 화면의 스크린샷만으로 판단하지 마세요.
  3. 트래픽 처리 방식을 확인하세요. 일반적인 브라우저 사용이라면 먼저 시스템 프록시를 사용하세요. 시스템 프록시를 따르지 않는 프로그램까지 처리해야 한다면 TUN 사용 여부와 클라이언트의 권한 및 서비스 관리 기능을 검토하세요.
  4. 설정을 백업할 수 있는지 확인하세요. 구독 주소, 덮어쓰기 규칙, 필요한 로컬 설정을 보관하세요. 업그레이드 전에 커널 버전을 기록해 두면 문제가 생겼을 때 되돌릴 기준이 생깁니다.

이전할 때는 먼저 기존 클라이언트를 종료한 뒤 구독을 가져오고 기능을 하나씩 활성화하세요. 두 클라이언트가 동시에 시스템 프록시, DNS, 라우팅을 변경하면 문제 원인을 찾기 어려워집니다. “설정 검사 통과 → 시스템 프록시 작동 확인 → 규칙 기반 분기 확인 → 필요할 때 TUN 활성화” 순서로 점검하세요.

“같은 구독이 예전 프로그램에서는 되는데 새 프로그램에서는 안 되는” 경우에는 실제 실행 설정과 로그를 먼저 비교하세요. 캐시 구조, 서비스 설정, 파일 경로가 다를 수 있으므로 예전 클라이언트의 데이터 디렉터리 전체를 바로 복사하지 마세요. 기본 사용법은 사용 가이드에서, 증상별 문제 해결은 문제 해결에서 확인할 수 있습니다.

자주 묻는 질문: 이름이 비슷한 프로젝트 구분하기

mihomo는 Clash의 최신 공식 클라이언트인가요?

독립적으로 유지관리되는 커널 프로젝트라고 이해하는 것이 정확합니다. mihomo는 Clash Meta의 개발 흐름을 이어가지만, 완전한 데스크톱 GUI를 갖춘 통합 공식 클라이언트는 아닙니다. GUI를 고른 뒤에도 함께 제공되거나 호출되는 커널을 확인해야 합니다.

같은 커널을 사용하면 연결 결과도 항상 같나요?

먼저 설정과 시스템 환경을 비교하세요. DNS, 분기 규칙, 노드 선택, TUN 라우팅, 로컬 방화벽이 모두 결과에 영향을 줍니다. 같은 커널 버전을 사용하면 변수가 하나 줄어들 뿐, 나머지 차이까지 없어지지는 않습니다. 클라이언트 이름만으로 속도를 판단할 수도 없습니다.

아무 클라이언트에서나 커널을 mihomo로 교체할 수 있나요?

먼저 클라이언트가 사용자 지정 커널을 공식적으로 지원하는지 확인하세요. GUI가 특정 컨트롤 인터페이스, 시작 매개변수, 파일 구조에 의존할 수 있고, 모바일에서는 커널 연동과 앱 서명도 관련됩니다. 명시적인 지원이 없다면 파일 이름만 바꿔 교체하지 말고, mihomo에 맞게 제공되는 유지관리 중인 클라이언트를 선택하세요.

초보자는 클라이언트를 여러 개 설치해야 하나요?

먼저 하나의 클라이언트로 구독 가져오기, 그룹 선택, 연결 확인을 마치세요. GUI, 커널, 구독, 트래픽 처리 방식 네 가지를 기록하면 대부분의 기본 환경을 설명할 수 있습니다. 비교가 필요할 때 두 번째 클라이언트를 설치하되, 시스템 프록시나 TUN을 관리하는 클라이언트는 한 번에 하나만 실행하세요.