Clash·mihomo·Clash Verge Rev의 관계와 계보 정리
Clash 원본 커널의 유지보수 중단부터 mihomo의 계승, 그래픽 클라이언트별 역할까지 커널과 UI 계층을 기준으로 프로젝트 관계와 선택 기준을 정리합니다.
커널·클라이언트·구독부터 구분하기
Windows용 Clash 클라이언트를 검색하면 Clash, Clash Meta, mihomo, Clash Verge Rev, Clash for Windows가 함께 검색되는 경우가 많습니다. 하지만 이 이름들은 같은 계층의 프로젝트가 아닙니다. 네트워크 연결을 처리하는 프로젝트와 조작 화면을 제공하는 프로젝트를 먼저 구분하고, 설정 호환 여부를 확인해야 예전 가이드의 버튼을 새 클라이언트에 그대로 적용하는 실수를 피할 수 있습니다.
| 계층 | 대표 명칭 | 주요 역할 |
|---|---|---|
| 프록시 커널 | Clash、mihomo | 프록시 포트를 열고 DNS를 해석하며, 규칙에 따라 아웃바운드를 선택해 연결합니다. |
| 그래픽 클라이언트 | Clash Verge Rev | 설정을 관리하고 프록시 그룹을 전환하며 로그를 표시합니다. 커널 프로세스와 시스템 연동도 관리합니다. |
| 설정 데이터 | 구독에서 제공하는 YAML | 노드, 프록시 그룹, 규칙과 DNS 등의 설정을 제공할 수 있습니다. |
한 번의 접속은 세 단계로 나눌 수 있습니다. 앱이 연결을 로컬 프록시에 전달하고, 커널이 설정에 따라 아웃바운드를 선택하며, 클라이언트가 실행 상태를 표시합니다. 클라이언트가 사용 가능한 노드를 제공하는 것은 아닙니다. 설치 후에는 사용 권한이 있는 구독을 가져오거나 직접 설정해야 합니다.
프로젝트 계보: Clash에서 mihomo까지
원본 Clash와 Clash Premium
원본 Clash는 Dreamacro가 시작한 Go 언어 기반 프록시 커널입니다. 여러 그래픽 클라이언트가 커널 프로세스를 실행하고 제어 API를 호출해 관리합니다. Clash Premium은 같은 시기에 나온 별도의 커널 배포 계열로, 원본 오픈소스 커널에 없는 기능을 일부 포함했지만 전체 소스 코드는 공개되지 않았습니다. 예전 가이드를 볼 때 Premium의 기능 목록을 원본 오픈소스 Clash의 기능으로 오해하지 않도록 주의하세요.
2023년 11월 무렵 원본 프로젝트의 공개 유지보수가 중단되면서 관련 저장소와 배포 경로가 바뀌었습니다. 온라인에서는 이 시기를 흔히 ‘원본 아카이브’라고 부르지만, 실제로는 저장소 삭제와 보존 미러, 서드파티 백업 등이 얽혀 있어 모든 배포 경로가 단순히 읽기 전용으로 바뀐 것은 아닙니다. 기존 프로그램이 계속 실행될 수는 있지만, 유지보수가 중단되면 원래 관리자가 제공하는 호환성 수정과 보안 업데이트를 더는 기대할 수 없습니다.
Clash.Meta와 mihomo
Clash.Meta는 Clash 생태계에서 발전한 커널 포크로, 이후 mihomo로 이름을 바꾸고 MetaCubeX 커뮤니티가 관리하고 있습니다. 예전 문서의 Clash Meta, Clash.Meta, 일부 프로그램 파일명의 Meta는 대체로 이 프로젝트 계보를 가리킵니다. 이름이 바뀌었다고 설정 체계가 전혀 다른 것으로 갑자기 바뀐 것은 아니지만, 실제 지원 기능은 사용 중인 커널 버전에 따라 달라집니다.
mihomo는 Clash 스타일의 YAML 설정, 프록시 그룹, 규칙 체계를 이어받아 프로토콜과 네트워크 처리 기능을 확장하고 있습니다. 예를 들어 type: hysteria2 노드가 포함된 설정은 해당 프로토콜을 지원하는 커널이 필요합니다. 예전 클라이언트 화면의 이름만 ‘Meta’로 바꾼다고 프로토콜 지원이 추가되는 것은 아닙니다. unsupported proxy type 같은 오류가 발생하면 구독 주소를 계속 바꾸기보다 먼저 커널의 지원 여부를 확인하세요.
- 역사적 출발점: Clash는 원본 커널 프로젝트이고, Clash.Meta는 여기서 갈라져 발전한 경로 중 하나입니다.
- 이름의 계승: mihomo는 Clash.Meta가 이후 사용한 프로젝트 이름입니다. 예전 명칭은 가이드와 설정에 계속 등장할 수 있습니다.
- 유지보수 관계: 커뮤니티의 계승이 원작자의 유지보수 재개를 뜻하지는 않습니다. 이름에 Clash가 들어간 모든 소프트웨어를 같은 팀이 배포하는 것도 아닙니다.
Clash Verge Rev와 커널의 역할
Clash Verge Rev는 Clash Verge의 UI 프로젝트 흐름을 잇는 그래픽 클라이언트이며, 프록시 연결 처리는 mihomo가 담당합니다. mihomo의 다른 이름도 아니고 원본 Clash의 ‘Windows 설치 버전’도 아닙니다. 설치 패키지에는 보통 UI 프로그램과 함께 사용할 커널이 포함되어 있어 한 창에서 설정 가져오기, 프록시 실행, 로그 확인을 할 수 있습니다.
Clash Verge Rev에서는 사이드바의 ‘프로필’에서 구독을 가져오고, ‘프록시’에서 프록시 그룹을 선택한 뒤, ‘로그’에서 연결 오류를 확인하는 순서로 작업할 수 있습니다. 버전에 따라 버튼 이름이나 설정 분류가 달라질 수 있지만 각 페이지의 역할은 대체로 같습니다. 시스템 프록시나 TUN 모드를 사용하려면 ‘설정’에서 관련 옵션을 확인하세요. 프록시 페이지의 노드 선택을 트래픽 가로채기 설정으로 착각하면 안 됩니다.
| 작업 또는 증상 | 주로 관련된 계층 | 우선 확인할 항목 |
|---|---|---|
| 구독 가져오기 버튼이 반응하지 않음 | 클라이언트 | 화면 안내, 구독 요청, 설정 파싱 오류 |
| 노드 프로토콜을 인식하지 못함 | 커널 | 커널 버전과 해당 프로토콜 지원 여부 |
| 브라우저는 되지만 일부 앱은 연결되지 않음 | 트래픽 가로채기 | 앱이 시스템 프록시를 따르는지, TUN이 필요한지 |
| 연결에 잘못된 프록시 그룹이 적용됨 | 설정과 규칙 | 현재 설정, 규칙 순서, 프록시 그룹 선택 결과 |
Clash for Windows는 CFW라고도 불리는 별도의 그래픽 클라이언트입니다. 모든 Windows용 Clash 클라이언트를 통칭하는 말도 아니고 Clash Verge Rev의 이전 이름도 아닙니다. CFW의 예전 가이드에는 Profiles, Proxies, General 같은 페이지 이름이 나올 수 있습니다. 다른 클라이언트로 옮길 때는 기능에 맞는 메뉴를 찾아야 하며, 예전 파일 경로나 서비스 설치 단계를 그대로 따라 해서는 안 됩니다.
설정 호환성: YAML 구조가 비슷해도 그대로 쓸 수 있는 것은 아닙니다
기본 구조가 비슷해 클라이언트 간 설정을 옮기기가 비교적 쉽습니다. 일반적인 설정에는 proxies, proxy-groups, rules 등의 필드가 포함됩니다. 하지만 새 프로토콜, 규칙 확장, DNS 옵션, 클라이언트 자체의 덮어쓰기 기능에 따라 차이가 생길 수 있습니다. 전체 설정이 포함된 구독과 노드 목록만 반환하는 구독도 구분해야 합니다. 후자의 경우 프록시 그룹과 규칙을 클라이언트 템플릿으로 보완해야 하는 경우가 많습니다.
최소 실행 설정부터 확인하기
아래 예시는 필드 간 관계를 설명하기 위한 것으로, 노드와 프록시 그룹은 포함하지 않습니다. 기존의 완성된 설정을 이 내용으로 덮어쓰지 마세요. 7890은 이 예시에서 지정한 혼합 프록시 포트이며 모든 클라이언트의 기본값은 아닙니다. 실제 포트는 현재 클라이언트의 ‘설정’에 표시된 수신 포트를 기준으로 확인하세요.
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
mixed-port: 하나의 포트에서 HTTP와 SOCKS 프록시 연결을 모두 받습니다.allow-lan: false: 로컬 네트워크 기기에서 프록시에 연결하지 못하도록 합니다. 이 PC에서만 사용할 경우 이 제한을 유지하세요.mode: rule: 규칙에 따라 정책을 선택합니다. 모든 연결이 원격 프록시를 거친다는 뜻은 아닙니다.log-level: info: 일반 로그를 남겨 설정 로드와 실행 오류를 확인할 수 있습니다.
원본 구독과 실제 적용 설정 구분하기
클라이언트는 커널을 시작하기 전에 포트, DNS, TUN, 규칙 보완, 스크립트 처리 결과를 합칠 수 있습니다. 따라서 구독 파일에 적힌 값과 실제 실행에 적용되는 값이 다를 수 있습니다. 문제를 확인할 때는 클라이언트가 제공하는 실행 설정이나 설정 미리보기를 살펴보고 로그와 대조하세요. 로컬에 내려받은 원본 YAML만 확인해서는 안 됩니다.
제어 API는 프록시 포트와도 다릅니다. external-controller는 커널 제어 API가 연결을 받는 주소를 지정하며, 클라이언트는 이를 통해 상태를 읽고 설정을 전환합니다. 제어 API를 직접 활성화한다면 127.0.0.1에 바인딩하고 secret을 설정하는 것이 좋습니다. 화면 연결 문제를 해결하려고 모든 네트워크 인터페이스에 무작정 공개하지 마세요. 구독 링크, 제어 키, 노드 인증 정보가 공개 스크린샷에 노출되지 않도록 주의하세요.
Windows 클라이언트 선택: 트래픽 가로채기 방식 확인
일반적인 Windows 사용자라면 유지보수가 계속되고, 커널 출처가 분명하며, 문서를 확인할 수 있는 그래픽 클라이언트를 우선 선택하세요. 화면만 비교하지 말고 ‘mihomo 내장’을 모든 네트워크 문제가 자동으로 해결된다는 뜻으로 받아들여서도 안 됩니다. 시스템 프록시, TUN, 서비스 모드는 각각 해결하는 문제가 다릅니다.
- 먼저 시스템 프록시로 기본 연결을 확인하세요. 설정을 가져오고 사용 가능한 노드를 선택한 다음 시스템 프록시를 켜고 대상 사이트에 접속합니다. 시스템 프록시 설정을 따르는 앱만 이 경로로 연결됩니다.
- 그다음 TUN이 필요한지 판단하세요. 일부 게임, 명령줄 도구, 자체적으로 프록시를 관리하는 프로그램은 시스템 프록시를 따르지 않습니다. TUN은 가상 네트워크 인터페이스와 라우팅으로 트래픽을 가로채지만, 실제 적용 범위는 제외 경로, DNS 설정, 앱 동작의 영향을 받습니다.
- 클라이언트 안내에 따라 서비스 모드를 설치하세요. 서비스 모드는 가상 네트워크 어댑터나 라우팅 관리처럼 높은 권한이 필요한 작업을 지원할 때 주로 사용합니다. 노드를 제공하거나 구독을 대신 처리하지는 않습니다.
- 로그를 확인할 수 있는지 살펴보세요. 커널 시작 오류, DNS 오류, 규칙 적용 결과를 확인할 수 있어야 합니다. 설정 스위치를 더 켜는 것보다 문제 원인을 찾아내는 것이 중요합니다.
Windows PowerShell에서 다음 명령을 실행하면 예시 포트를 어떤 프로세스가 사용 중인지 확인할 수 있습니다. 출력의 마지막 열은 프로세스 PID입니다. 수신 대기 항목이 보여도 포트를 사용 중인 프로그램이 현재 실행한 클라이언트라는 뜻은 아닙니다.
netstat -ano | findstr ":7890"
클라이언트가 7890이 아닌 포트를 사용한다면 명령의 숫자를 설정 페이지에 표시된 실제 포트로 바꾸세요. 그런 다음 ‘작업 관리자’ → ‘세부 정보’를 열어 PID로 프로세스를 찾습니다. 포트를 계속 바꾸기보다 해당 프로그램을 정상 종료한 뒤 새 클라이언트를 다시 실행하는 편이 원인을 파악하기 쉽습니다.
마이그레이션 체크리스트: 기존 클라이언트에서 mihomo 클라이언트로
마이그레이션의 목적은 기존 프로그램 폴더를 통째로 복사하는 것이 아니라, 사용할 수 있는 설정을 복원하고 새 클라이언트의 트래픽 처리 방식을 확인하는 것입니다. 기존 캐시, 데이터베이스, 서비스 등록 정보는 다른 클라이언트로 그대로 옮겨 쓰기 어렵습니다.
- 현재 설정을 기록하세요. 구독 주소, 직접 추가한 규칙, 프록시 그룹 선택, 로컬 포트를 저장합니다. 백업 파일은 로컬에 보관하고 공유하기 전에 인증 정보를 삭제하세요.
- 기존 트래픽 처리를 중지하세요. 기존 클라이언트의 시작 프로그램 등록, 시스템 프록시, TUN을 끄고 프로그램을 종료합니다. 기존 서비스를 제거해야 한다면 해당 클라이언트의 제거 메뉴를 사용하세요.
- 구독을 다시 가져오세요. 새 클라이언트의 ‘프로필’ 페이지에서 가져온 뒤 YAML 파싱 오류나 지원하지 않는 노드 유형이 없는지 확인하고 설정을 활성화합니다.
- 단계별로 테스트하세요. 먼저 시스템 프록시를 확인하고, 다음으로 규칙 모드를 테스트한 뒤 마지막으로 TUN을 확인합니다. 한 번에 설정 하나만 변경해야 로그에서 변화를 추적하기 쉽습니다.
- 종료 후 네트워크도 확인하세요. 새 클라이언트를 종료한 뒤 Windows 프록시 설정이 복원됐는지, 자주 사용하는 앱이 정상적으로 인터넷에 연결되는지 확인합니다. 문제가 있으면 남아 있는 프록시 설정과 라우팅부터 점검하세요.
세 가지 관계를 기억하세요. Clash는 프로젝트의 역사적 출발점이고, mihomo는 커널 기능을 계승해 발전시켰으며, Clash Verge Rev는 이를 관리하는 그래픽 인터페이스를 제공합니다. 클라이언트를 고를 때는 유지보수 상태를 확인하고, 가이드를 볼 때는 화면 이름을 확인하며, 호환성을 살필 때는 커널 버전을 확인하세요. 그래야 ‘소프트웨어 이름’에서 나아가 ‘이 Windows 기기에 필요한 설정’을 판단할 수 있습니다.