Clash 오픈소스 생태계 프로젝트 관계: Mihomo 코어, 데스크톱 클라이언트와 모바일 도구 선택 가이드

프록시 코어, 그래픽 클라이언트, 플랫폼별 구현으로 나누어 주요 프로젝트의 역할과 차이를 한눈에 살펴봅니다.

Clash 다운로드를 검색하면 Clash, Clash Meta, Mihomo, Clash Verge Rev, Clash Meta for Android 같은 이름을 한꺼번에 접하게 됩니다. 하지만 이들이 모두 같은 종류의 소프트웨어는 아닙니다. YAML 설정을 해석하고 연결을 만드는 것이 핵심인 프로젝트가 있는가 하면, 트레이 메뉴와 그래픽 설정 화면을 제공하는 클라이언트도 있고, Windows·macOS·Android 같은 운영체제에 맞게 기능을 구현하는 도구도 있습니다. 이 이름들을 같은 기준에서 비교하면 “클라이언트를 다운로드했는데 코어를 찾을 수 없음”, “설정은 가져왔지만 TUN을 시작할 수 없음”, “구독을 업데이트한 뒤 화면 동작이 달라짐”과 같은 문제가 생기기 쉽습니다.

가장 안전한 접근은 먼저 프록시 클라이언트가 어떤 구성 요소로 이루어져 있는지 파악한 뒤, 운영체제·기능·유지보수 상태에 따라 프로젝트를 고르는 것입니다. 이 글에서는 프로젝트 이름을 제품 등급처럼 비교하지 않고 각자의 역할과 관계를 설명하며, 설치·구독 가져오기·호환성 문제 해결 시 따라갈 수 있는 판단 순서를 정리합니다.

1. 코어, 클라이언트, 플랫폼 구현부터 구분하기

Clash 계열 도구는 보통 세 계층으로 나눌 수 있습니다. 첫 번째는 프록시 코어로, 설정을 읽고 프록시 노드를 관리하며 규칙을 매칭하고 로컬 포트를 열어 필요할 때 시스템 트래픽을 가로챕니다. 두 번째는 그래픽 클라이언트로, 설정 편집·모드 전환·연결 확인·구독 업데이트·코어 프로세스 제어를 담당합니다. 세 번째는 플랫폼 구현으로, 시스템 권한·네트워크 인터페이스·트레이 또는 메뉴 막대·알림·앱 스토어와 설치 패키지 형식을 연결합니다.

계층 주요 역할 문제 발생 시 우선 확인할 항목
프록시 코어 설정 해석, 연결 수립, 규칙 매칭, 로컬 프록시 서비스 제공 설정 형식, 포트, 로그, 규칙 및 코어 버전
그래픽 클라이언트 설정 파일 관리, 코어 실행, 설정과 연결 상태 표시 클라이언트 설정, 코어 경로, 권한 및 설정 선택
플랫폼 구현 Windows, macOS, Linux, Android 등의 시스템 기능과 연동 시스템 프록시, TUN 권한, VPN 서비스 및 네트워크 인터페이스

예를 들어 화면이 정상적으로 열렸다고 해서 코어가 성공적으로 시작된 것은 아닙니다. 구독 URL을 저장할 수 있다고 해서 응답 내용이 현재 코어가 지원하는 설정 형식이라는 뜻도 아닙니다. 규칙 모드가 선택된 것처럼 보여도 대상 앱의 트래픽이 실제로 해당 클라이언트를 통과한다고 단정할 수 없습니다. 동작이 예상과 다를 때는 이 세 계층을 차례로 확인하는 편이 소프트웨어 이름만 계속 바꾸어 보는 것보다 훨씬 효과적입니다.

2. Mihomo란 무엇인가: Clash Meta에서 파생된 코어

Mihomo는 현재 Clash 호환 클라이언트에서 자주 사용되는 프록시 코어 프로젝트이며, 과거에는 Clash Meta라는 이름으로도 많이 알려졌습니다. Mihomo는 코어이지, 하나의 통합 데스크톱 창 프로그램이 아닙니다. 설정 파일의 프록시·프록시 그룹·규칙·DNS 등을 해석하고, 로컬 HTTP·SOCKS·혼합 포트를 열며, 규칙에 따라 요청을 직접 연결하거나 프록시 그룹 또는 다른 정책으로 전달하고, 연결 로그를 기록하는 것이 코어의 역할입니다.

따라서 “Mihomo를 사용한다”는 말에는 보통 클라이언트가 함께 필요합니다. 데스크톱 클라이언트는 Mihomo 실행 파일을 호출할 수 있고, 모바일 앱은 코어를 앱 내부에 통합할 수도 있습니다. 같은 코어를 사용하더라도 클라이언트마다 설정 디렉터리, 구독 변환, 시스템 프록시, TUN 스위치의 설계가 다를 수 있습니다. 자신에게 맞는지 판단할 때는 이름에 Clash나 Meta가 포함되었는지만 볼 것이 아니라 실제로 어떤 코어를 사용하는지, 어떤 설정 필드를 지원하는지, 대상 시스템의 권한 요구사항을 충족하는지 확인해야 합니다.

설정 호환성을 별도로 확인해야 하는 이유

일반적인 구독 서비스는 Clash YAML, Mihomo 호환 설정, 다른 클라이언트 전용 형식 또는 구독 변환 서비스를 거쳐 출력된 설정 등 여러 형식으로 응답할 수 있습니다. 설정 파일을 가져올 수 있는지는 구독 주소 자체가 브라우저에서 열리는지가 아니라 응답 형식과 코어가 지원하는 필드에 따라 결정됩니다. 주소가 열린다는 것은 네트워크 요청에 응답이 있었다는 뜻일 뿐, 내용을 해석할 수 있다는 의미는 아닙니다.

가져온 뒤 프록시 그룹이 비어 있거나 프록시 목록이 표시되지 않거나 코어 로그에 필드 오류가 나타난다면, 먼저 원본 구독 주소와 현재 작동하는 설정을 보관한 다음 아래 항목을 확인하세요:

  • 구독 응답이 실제 YAML 설정인지, 로그인 페이지·오류 페이지·JSON 안내문이 아닌지 확인합니다.
  • 설정의 프록시 유형·프록시 그룹·규칙·DNS 필드가 현재 코어가 인식할 수 있는 범위에 속하는지 확인합니다.
  • 클라이언트가 방금 업데이트한 설정을 사용 중인지, 설정 디렉터리의 다른 이전 파일을 사용 중인지 확인합니다.
  • 코어 버전이 설정에 사용된 기능을 지원하는지 확인합니다. 특히 TUN, 스크립트, 규칙 집합, DNS 관련 설정을 살펴보세요.

3. 데스크톱 프로젝트: 창은 입구일 뿐, 동작은 코어가 결정한다

Windows·macOS·Linux용 Clash 계열 클라이언트는 보통 트레이 또는 메뉴 막대 메뉴, 설정 파일 목록, 구독 업데이트, 프록시 모드 전환, 연결 로그를 제공합니다. Clash Verge Rev와 Clash Nyanpasu 같은 프로젝트는 데스크톱 환경에서 자주 사용되며, 그래픽 관리 계층을 제공하고 호환 코어와 함께 실행된다는 공통점이 있습니다. 구체적인 버전의 코어 출처, 기본 설정 디렉터리, 시스템 권한 처리 방식은 프로젝트 릴리스 안내와 클라이언트 설정을 기준으로 확인해야 합니다.

Clash Verge Rev 및 유사한 데스크톱 프로젝트

Clash Verge Rev는 그래픽 화면에서 여러 설정 파일·구독·프록시 그룹을 관리하려는 데스크톱 사용자에게 적합합니다. 사용하기 전 클라이언트 설정에서 코어 유형과 버전을 확인한 뒤 해석 가능한 Clash 또는 Mihomo 설정을 가져오는 것이 좋습니다. Clash Nyanpasu 역시 데스크톱 그래픽 클라이언트 계열이며, 일반적인 사용 흐름은 클라이언트 설치, 코어 선택, 설정 가져오기, 구독 업데이트, 시스템 프록시 확인 순서로 진행됩니다.

이러한 클라이언트의 차이는 대개 화면 구성, 코어가 패키지에 포함되는지 또는 사용자가 지정해야 하는지, 구독 관리 방식, 시스템 프록시 구현, TUN 스위치의 권한 처리에서 나타납니다. 클라이언트에 프록시 노드가 표시된다고 해서 TUN이 활성화되었다는 뜻은 아닙니다. 일반 시스템 프록시는 시스템 프록시 설정을 따르는 앱에만 영향을 주는 경우가 많지만, TUN은 가상 네트워크 인터페이스를 통해 더 넓은 범위의 트래픽을 가로채므로 필요한 권한과 점검 항목도 많습니다.

“Clash와 가장 비슷해 보이는 것”만 기준으로 다운로드하면 안 되는 이유

과거에 널리 사용되던 Clash for Windows는 유지보수가 중단되었으므로, 계속 사용하면 최신 코어 기능·시스템 호환·오류 수정이 부족할 수 있습니다. 새로 설치할 때는 현재 유지보수 중인 데스크톱 프로젝트와 공식 배포 경로를 우선 확인하고, 다운로드 패키지가 시스템 아키텍처에 맞는지도 점검해야 합니다. Windows 사용자는 설치형과 포터블 버전의 설정 디렉터리 차이를 구분해야 합니다. macOS 사용자는 네트워크 확장, 손쉬운 사용 또는 VPN 설정 권한 요청에 주의해야 하며, Linux 사용자는 데스크톱 환경·실행 파일 권한·시스템 프록시 환경 변수를 확인해야 합니다.

데스크톱 기본 점검은 다음 순서로 진행할 수 있습니다:

  1. 운영체제와 CPU 아키텍처를 확인하고 알맞은 설치 패키지나 압축 파일을 다운로드합니다.
  2. 클라이언트 설정을 열어 실제로 실행 중인 코어 이름·버전·경로를 확인합니다.
  3. 설정을 가져온 뒤 먼저 명확히 작동하는 프록시 노드 하나를 테스트하고, 로그에 시작 또는 해석 오류가 나타나는지 확인합니다.
  4. 규칙 모드를 선택하고 시스템 프록시 스위치를 확인합니다. TUN은 필요성이 분명하고 권한 승인을 마친 뒤에만 활성화하세요.
  5. 직접 연결해야 하는 대상과 프록시를 거쳐야 하는 대상을 각각 방문해 규칙 매칭과 연결 로그를 대조합니다.

4. 모바일 도구: 화면 차이보다 시스템 제한이 중요하다

Android의 Clash Meta for Android 같은 도구는 보통 코어와 그래픽 화면을 하나의 앱에 통합합니다. 사용자는 설정 파일이나 구독을 가져오고 프록시 모드를 선택한 뒤 Android VPN 서비스를 통해 시스템 전체 트래픽을 가로챌 수 있습니다. 여기서 말하는 “VPN”은 시스템이 제공하는 로컬 VPN 인터페이스에 가깝습니다. 앱이 이를 통해 트래픽을 읽고 전달하며, 원격 VPN 서비스와는 개념이 완전히 같지 않습니다.

Android의 앱 권한, 배터리 최적화, 백그라운드 제한, 비공개 DNS 설정은 모두 프록시 동작에 영향을 줄 수 있습니다. 데스크톱과 동일한 설정을 사용하더라도 시스템이 백그라운드 서비스를 일시 중지하거나, 사용자가 VPN 권한을 거부하거나, 특정 앱이 특수 네트워크 경로를 사용하면 결과가 달라질 수 있습니다. 문제를 해결할 때는 먼저 앱이 실행 상태로 표시되는지 확인하고 화면 상단에 VPN 표시가 나타나는지 살핀 다음, 규칙 문제인지 시스템 가로채기 범위 문제인지 판단하세요.

Android에서 구독을 가져오는 권장 순서

  1. 구독 주소를 원격 설정으로 추가하거나, 신뢰할 수 있는 환경에서 설정 파일을 먼저 다운로드한 뒤 가져옵니다.
  2. 설정을 업데이트한 뒤 프록시 노드와 프록시 그룹이 모두 표시되는지 확인합니다. “업데이트 성공” 안내만으로 판단하지 마세요.
  3. 지연 시간이 낮고 정상 작동이 확인된 노드를 선택한 뒤 프록시 그룹이 현재 해당 노드를 가리키는지 확인합니다.
  4. VPN 서비스를 시작하고 시스템 권한을 승인합니다. 필요하다면 클라이언트의 배터리 최적화 제한을 해제합니다.
  5. 로그 또는 연결 목록에서 대상 앱이 요청을 보냈는지 확인한 뒤 규칙이 프록시 또는 직접 연결로 매칭되었는지 살펴봅니다.

iOS의 네트워크 확장과 앱 배포 방식은 Android와 다릅니다. Clash 설정 문법을 사용할 수 있는 도구라고 해서 같은 오픈소스 프로젝트에 속하거나 Mihomo 코어를 사용하는 것은 아닙니다. 일부 iOS 클라이언트는 별도로 개발된 상용 소프트웨어이며, 이름에 유사한 프로토콜이나 설정 개념이 포함될 수도 있습니다. iOS 도구를 고를 때는 지원 설정 형식·구독 업데이트 방식·필요한 시스템 버전·네트워크 확장 기능을 직접 확인해야 하며, Android 설치 패키지나 데스크톱 클라이언트의 사용 경험을 그대로 적용해서는 안 됩니다.

5. 사용 목적별 선택: 자주 쓰이는 네 가지 경로

데스크톱 시스템 프록시만 필요한 경우

주된 목적이 브라우저·터미널·일반 데스크톱 앱에서 시스템 프록시를 따르게 하는 것이라면, 유지보수 중인 데스크톱 그래픽 클라이언트를 선택해 HTTP·SOCKS·혼합 포트를 사용하고 시스템 프록시를 켜면 됩니다. 이때는 규칙이 적절한지, 프록시 포트가 사용 중인지, 대상 앱이 시스템 프록시를 읽는지가 핵심입니다. 특정 앱에서 작동하지 않는다고 바로 노드 문제로 판단하지 말고, 먼저 해당 앱이 시스템 프록시를 지원하는지 확인하세요.

더 많은 앱과 개발 도구를 적용해야 하는 경우

개발 도구·게임 런처·가상 머신 또는 시스템 프록시를 따르지 않는 프로그램까지 프록시를 거쳐야 한다면 TUN 모드를 검토할 수 있습니다. TUN은 가상 네트워크 카드·라우팅·DNS·권한 변수를 추가하므로, 먼저 일반 시스템 프록시에서 노드와 규칙을 검증한 뒤 TUN을 켜는 것이 좋습니다. 활성화 후 로컬 네트워크에 접속할 수 없거나 DNS 해석 오류 또는 네트워크가 중복으로 가로채지는 문제가 생기면 클라이언트의 TUN 설정·DNS 모드·로컬 네트워크 우회 규칙·시스템 네트워크 인터페이스를 확인하세요.

휴대폰에서 설정을 수시로 전환해야 하는 경우

Android 사용자는 VPN 서비스를 안정적으로 실행하고 원하는 설정 형식을 지원하며 로그를 쉽게 확인할 수 있는 도구를 우선 고려해야 합니다. 모바일 화면의 기능은 단순해도 설정 해석·프록시 그룹 선택·규칙 매칭은 여전히 핵심입니다. 휴대폰에서 일시적으로 일부 서비스만 이용하면 된다면 시스템 프록시로 적용 범위가 명확한 방식이 관리하기 쉽습니다. 여러 앱에서 함께 사용해야 한다면 전체 VPN 가로채기와 배터리 관리의 영향을 추가로 검토하세요.

라우터 또는 여러 기기에서 공유해야 하는 경우

라우터 배포는 데스크톱 창 프로그램 하나를 설치하는 것과 다릅니다. 일반적으로 Mihomo 같은 코어를 직접 실행하고 라우터 시스템의 방화벽·DNS·포워딩 규칙과 연동해 LAN 트래픽을 가로챕니다. 설정 범위가 “한 대의 기기에서 프록시 사용”에서 “게이트웨이 포워딩”으로 넓어지므로 LAN·WAN·DNS·반환 경로를 확인해야 합니다. 개인 컴퓨터만 사용한다면 라우터에 코어를 배포하는 것이 관리 부담을 늘릴 수 있습니다. 반대로 집 안 여러 기기에 동일한 규칙을 적용해야 한다면 게이트웨이 방식이 더 실용적입니다.

6. 다운로드 및 업데이트 점검 목록

프로젝트 이름이 비슷할 때는 다운로드 전에 네 가지 질문으로 정보를 나누어 확인할 수 있습니다. 어떤 유형의 프로젝트인지, 어떤 코어를 사용하는지, 어느 시스템에서 작동하는지, 현재도 유지보수 중인지입니다. 릴리스 페이지의 버전 번호는 한 번의 배포를 나타낼 뿐 설정 호환성을 보장하지 않습니다. 구독 서비스의 업데이트 주기 역시 클라이언트의 업데이트 주기와 다릅니다. 설치가 끝난 뒤 현재 작동하는 설정을 하나 보관하고, 코어나 클라이언트를 업데이트하기 전에 포트·모드·TUN 상태를 기록해 두면 문제가 생겼을 때 쉽게 되돌릴 수 있습니다.

  • 데스크톱: 시스템 아키텍처, 설치 패키지 출처, 코어 경로, 설정 디렉터리를 확인합니다.
  • 설정: 구독 응답 형식, 프록시 그룹 수, 규칙 제공 방식, DNS 설정을 확인합니다.
  • 연결: 먼저 노드, 다음 프록시 그룹, 마지막으로 대상 앱을 테스트해 여러 변수를 동시에 바꾸지 않도록 합니다.
  • 권한: 시스템 프록시·VPN·TUN·네트워크 확장·방화벽 권한 승인이 완료되었는지 확인합니다.
  • 유지보수: 프로젝트 저장소나 릴리스 안내를 확인해 프로젝트 상태가 현재 시스템 버전과 맞는지 살펴봅니다.

Clash 생태계는 서로 조합할 수 있는 부품의 모음으로 이해할 수 있습니다. Mihomo 같은 코어는 네트워크 처리를 담당하고, 데스크톱 또는 모바일 클라이언트는 조작 창구를 제공하며, 시스템 구현은 프록시 기능을 각 플랫폼에 연결합니다. 선택할 때는 먼저 필요한 트래픽 가로채기 범위와 시스템을 정하고, 클라이언트와 설정의 호환성을 확인한 뒤 화면·알림·단축 조작을 비교하세요. 프로젝트 이름이 바뀌더라도 역할을 기준으로 현재 환경에 적합한지 빠르게 판단할 수 있습니다.

Clash 다운로드