먼저 세 가지를 구분하세요: 코어, 클라이언트, 설정
Clash PC 버전을 검색하면 Clash, Clash Meta, mihomo, Clash Verge Rev, Clash for Windows가 함께 검색되는 경우가 많습니다. 하지만 이 이름들은 같은 종류의 프로그램을 가리키지 않습니다. 네트워크 연결을 처리하는 코어도 있고, 창과 트레이 메뉴를 제공하는 클라이언트도 있으며, 설정 형식을 뜻하는 이름도 있습니다. 역할을 먼저 구분해야 무엇을 다운로드할지, 문제가 생겼을 때 어느 부분을 확인할지 판단할 수 있습니다.
- 코어: 설정을 읽고 로컬 프록시 포트를 열어 DNS 조회, 규칙 매칭, 정책 그룹에 따른 경로 선택, 프로토콜 연결을 처리합니다. GUI가 없어도 명령줄에서 실행할 수 있습니다.
- GUI 클라이언트: 구독 가져오기, 설정 전환, 시스템 프록시 켜기·끄기, 코어 프로세스 관리, 로그 표시와 권한이 필요한 일부 시스템 연동을 담당합니다.
- 설정 및 구독: 노드, 정책 그룹, 분기 규칙, DNS 매개변수를 코어에 전달합니다. 구독은 설정이나 노드 데이터를 가져오는 방법 중 하나일 뿐, 클라이언트와 같은 것이 아니며 특정 코어를 의미하지도 않습니다.
예를 들어 브라우저가 로컬 127.0.0.1:7890로 요청을 보내면, 이를 받아 규칙에 따라 전달하는 것은 코어입니다. 창에서 ‘시스템 프록시’ 스위치를 클릭하면 클라이언트가 운영체제의 프록시 설정을 변경합니다. 여기서 7890은 흔히 쓰이는 설정 예시일 뿐이며, 실제 포트는 실행 중인 클라이언트 설정을 확인하세요.
프로젝트 계보: 기존 Clash에서 Clash Meta와 mihomo까지
기존 Clash와 Premium의 차이
기존 Clash는 일반적으로 Dreamacro/Clash 프로젝트의 Go 언어 기반 프록시 코어를 가리킵니다. 이 프로젝트를 중심으로 YAML 설정, 정책 그룹, 규칙 목록, 제어 API 등의 사용 방식이 자리 잡았고, 이 인터페이스와 호환되는 여러 클라이언트가 통칭 Clash 클라이언트로 불리기도 합니다. 원래 프로젝트는 2023년 11월 공개 유지보수를 중단했습니다. 과거 버전 번호를 현재도 업데이트되는 제품군으로 오해하지 마세요.
과거에는 Clash Premium도 있었습니다. 오픈소스 버전과 기능 구성이 완전히 같지는 않았으며, Premium은 TUN과 규칙 프로바이더 등의 확장 기능을 제공했습니다. 오래된 가이드에 ‘Premium에서만 지원’이라고 적혀 있다면 당시 사용된 코어를 고려해야 합니다. 이를 근거로 현재 mihomo가 해당 기능을 지원하지 않는다고 단정할 수도, 반대로 구버전 Clash가 반드시 지원한다고 볼 수도 없습니다.
Clash Meta는 이후 mihomo라는 이름으로 발전했습니다
Clash Meta는 Clash 기술을 바탕으로 기능을 확장한 코어 파생 프로젝트이며, 이후 mihomo라는 이름으로 계속 발전했습니다. 프로젝트 저장소 이름은 MetaCubeX/mihomo입니다. 따라서 여러 가이드에서 ‘Meta 코어’와 ‘mihomo 코어’는 같은 계보를 가리키며, 프록시 프로그램 두 개를 반드시 함께 설치해야 한다는 뜻이 아닙니다.
mihomo는 Clash의 설정 방식을 상당 부분 유지하면서 프로토콜, DNS, 규칙, TUN 등의 기능을 추가하거나 조정했습니다. 호환된다고 해서 어떤 설정이든 코어를 바꿔 그대로 쓸 수 있다는 뜻은 아닙니다. 새 필드를 구형 코어가 인식하지 못할 수 있고, 특정 프로토콜이나 규칙 동작이 일부 버전에서만 구현됐을 수도 있습니다. 판단할 때는 설정 파일 이름에 ‘Clash’가 들어 있는지가 아니라 대상 코어의 문서, 릴리스 노트, 시작 로그를 확인하세요.
기존 Clash ── 파생 및 확장 계보 ── Clash Meta → mihomo
↑
Clash Verge Rev 호출
기존 Clash Verge ── 클라이언트 계보의 후속 프로젝트 ── Clash Verge Rev
이 관계도는 코드와 기능의 계보를 구분해 보여줍니다. Clash Verge Rev는 Clash Verge에서 이어진 클라이언트 프로젝트이지, mihomo의 이름을 바꾸고 창을 덧붙인 것이 아닙니다. mihomo와 클라이언트는 각각 독립된 버전과 릴리스 주기를 따릅니다.
Clash Verge Rev와 Clash for Windows 등 클라이언트 비교
| 이름 | 분류 | 선택할 때 확인할 사항 |
|---|---|---|
| 기존 Clash | 프록시 코어 | 기존 설정과의 호환성, 원래 프로젝트의 유지보수 중단 여부 |
| mihomo / Clash Meta | 프록시 코어 | 코어 버전, 프로토콜 및 설정 필드 지원 여부 |
| Clash Verge Rev | GUI 클라이언트 | 시스템 아키텍처, 포함된 mihomo 버전, 서비스 및 TUN 설정 |
| Clash for Windows | 과거 GUI 클라이언트 | 유지보수 중단. 오래된 가이드의 인터페이스가 모든 최신 클라이언트에 적용되는 것은 아닙니다. |
| FlClash, Clash Nyanpasu 등 | 기타 GUI 클라이언트 프로젝트 | 각 프로젝트의 운영체제 지원, 코어 통합 방식, 릴리스 기록 |
Clash Verge Rev는 Clash Verge의 클라이언트 계보를 이어받아 mihomo로 프록시 트래픽을 처리합니다. 주된 장점은 데스크톱에서 코어 설정, 정책 그룹 선택, 시스템 연동을 한 창에서 관리할 수 있다는 점입니다. 무료·오픈소스·다중 플랫폼은 프로젝트의 특징이지만, 운영체제 버전과 프로세서 아키텍처, 필요한 기능은 별도로 확인해야 합니다.
Clash for Windows는 유지보수가 중단된 과거 클라이언트입니다. 이름에 Windows가 들어가지만 과거 배포판이 Windows만 대상으로 한 것은 아니며, 모든 Clash PC 클라이언트를 통칭하는 이름도 아닙니다. 오래된 가이드의 General, Profiles, Proxies 페이지는 각각 일반 설정, 설정 관리, 프록시 정책 페이지에 대략 해당합니다. 다른 클라이언트에도 같은 메뉴가 있다고 기대해서는 안 됩니다.
클라이언트 버전과 코어 버전은 별개입니다
문제를 진단할 때는 최소한 클라이언트 이름과 버전, 코어 이름과 버전, 운영체제와 아키텍처를 기록하세요. 먼저 ‘설정’에서 ‘정보’나 버전 정보를 찾고, 이어 코어 설정 또는 시작 로그를 확인합니다. 메뉴 이름은 배포판마다 다를 수 있습니다. ‘Clash를 업데이트했다’는 말만으로는 인터페이스나 코어가 업데이트된 것인지, 구독만 새로고침한 것인지 알 수 없습니다.
구독을 여러 코어에서 쓸 수 있을까? 최종적으로 코어에 전달되는 설정을 확인하세요
‘Clash 구독’은 전체 YAML 설정을 반환할 수도 있고 노드 목록만 반환할 수도 있으며, 링크가 만료되어 로그인 페이지가 표시될 수도 있습니다. 클라이언트에 링크를 저장했다고 해서 코어가 내용을 받아들인 것은 아닙니다. 전체 설정에는 보통 proxies, proxy-groups, rules 등의 필드가 포함됩니다. proxy-providers로 참조하는 노드 프로바이더 파일은 전체 설정의 모든 구조를 갖출 필요가 없습니다.
- 먼저 구독의 출력 형식을 확인하세요. 서비스에서 여러 형식을 제공한다면 사용할 코어와 호환되는 형식을 선택하세요. 브라우저에 Base64 문자열이나 HTML 페이지가 표시되더라도 이를 전체 YAML 설정으로 간주하지 마세요.
- 그다음 프로토콜과 필드를 확인하세요. 구독에서 새 프로토콜, 새로운 DNS 필드 또는 mihomo 확장 규칙을 사용하면 구형 코어에서 파싱 오류가 발생하거나 연결 단계에서 실패할 수 있습니다.
- 마지막으로 클라이언트에서 병합된 설정을 확인하세요. 클라이언트의 오버라이드, 설정 병합, 스크립트가 포트와 DNS, 규칙을 바꿀 수 있습니다. 구독 원본이 올바르더라도 실제 실행되는 설정은 달라질 수 있습니다.
unsupported proxy type와 같은 메시지가 나타나면 먼저 노드 유형이 코어에서 지원되는지 확인하세요. YAML 파싱 오류라면 들여쓰기와 콘텐츠 형식을 먼저 살펴보세요. 무작정 클라이언트를 바꾸면 같은 오류 설정을 다른 인터페이스에 넘기는 데 그칠 수 있습니다.
포트, 시스템 프록시, TUN은 각각 무엇을 담당할까요?
간단한 설정으로 로컬 연결 지점 이해하기
아래는 설정 필드 간 관계를 설명하기 위한 최소 설정입니다. 원격 프록시 노드는 없으며, 모든 매칭 트래픽은 직접 연결됩니다. 구독을 대체하는 프록시 구성은 아니므로 현재 사용 중인 설정을 이 내용으로 덮어쓰지 마세요.
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
mixed-port: 7890: 코어가 같은 포트에서 HTTP와 SOCKS 프록시 연결을 받도록 합니다. 접속 주소는 보통127.0.0.1:7890입니다.allow-lan: false: 같은 로컬 네트워크의 다른 기기가 프록시 연결 지점을 사용하지 못하게 합니다. ‘이 기기의 앱에서 프록시 사용 허용’과는 다른 설정입니다.mode: rule: 규칙에 따라 사용할 경로를 결정합니다. 모드를 바꾼다고 원격 노드가 자동으로 생기는 것은 아닙니다.MATCH,DIRECT: 어떤 규칙에도 해당하지 않는 트래픽은 직접 연결합니다. 실제 구독에서는 일부 요청을 정책 그룹으로 보내고, 정책 그룹이 다시 노드를 선택하는 경우가 많습니다.
시스템 프록시를 켜도 모든 앱이 프록시를 사용하는 것은 아닙니다
클라이언트에서 ‘시스템 프록시’를 켜면 보통 시스템의 HTTP 프록시 주소가 코어의 연결 지점으로 설정됩니다. 시스템 프록시를 따르는 앱만 이 연결 지점을 사용합니다. 네트워크 연결을 직접 관리하는 프로그램, 일부 게임, 특정 UDP 트래픽은 이 설정을 따르지 않을 수 있습니다. 포트가 열려 있는 것, 시스템 프록시가 켜져 있는 것, 특정 프로그램이 프록시를 통하는 것은 각각 따로 확인해야 합니다.
TUN 모드는 코어가 가상 네트워크 인터페이스 및 라우팅 설정과 함께 트래픽을 받아 처리하는 방식이며, 클라이언트는 권한과 서비스, 스위치 관리를 맡습니다. 관리자 권한이나 서비스 구성 요소 설치가 필요할 수 있습니다. TUN은 ‘전역 모드’의 다른 이름이 아닙니다. TUN은 트래픽이 코어에 들어오는 방식을 정하고, 규칙 모드나 전역 모드는 코어에 들어온 뒤 경로를 선택하는 방식을 정하므로 두 설정은 별개입니다.
TUN 문제가 발생하면 클라이언트 서비스 상태, 코어 시작 로그, DNS 및 라우팅 설정을 함께 확인하세요. 같은 이름의 코어 파일로 교체해도 권한이나 가상 네트워크 어댑터 문제는 해결되지 않을 수 있습니다. 오히려 클라이언트와 코어 간 호환성이 깨질 수 있습니다.
실제 선택과 이전: 네 단계로 확인하기
- 먼저 운영체제와 아키텍처를 확인하세요. Windows는 보통 x64와 ARM64를 구분하며, macOS는 Apple 칩과 Intel을 구분해야 합니다. 먼저 시스템 정보에서 확인한 뒤 설치 파일을 선택하세요. 파일 이름에 Windows나 macOS가 있다는 이유만으로 다운로드하지 마세요.
- 그다음 사용 방식을 정하세요. 트레이 아이콘, 설정 관리, 시스템 프록시 스위치가 필요하다면 GUI 클라이언트를 선택하세요. 서버나 이미 프로세스를 관리하는 환경에서 사용할 때는 mihomo를 직접 실행하는 방법을 고려하세요.
- 유지보수와 포함된 구성 요소를 확인하세요. 클라이언트의 최근 릴리스 노트와 통합된 코어 정보를 살펴보고, 필요한 프로토콜과 TUN, DNS 기능이 지원되는지 확인하세요. 새 클라이언트라고 해서 코어가 항상 최신 상태로 자동 유지되는 것은 아닙니다.
- 이전할 때는 한 번에 하나만 실행하세요. 기존 설정을 백업한 뒤 이전 클라이언트를 종료하고 시스템 프록시와 TUN을 끄세요. 그런 다음 새 클라이언트를 실행해 포트와 라우팅이 충돌하지 않도록 하세요.
가져오기에 성공했다면 연결 경로를 확인하세요
먼저 설정 페이지에서 사용할 설정을 활성화하고, 프록시 페이지에서 정책 그룹을 선택했는지 확인하세요. 마지막으로 로그에서 포트 사용 중이나 파싱 실패가 있는지 살펴보세요. 실제 혼합 포트가 7890이라면 Windows 터미널에서 다음 명령으로 HTTP 프록시를 명시적으로 지정할 수 있습니다:
curl.exe --proxy http://127.0.0.1:7890 --connect-timeout 10 -I https://example.com
이 명령은 브라우저가 시스템 프록시 설정을 읽는지와 관계없이 실행되지만, 대상 사이트에 접속할 수 있어야 합니다. 응답 헤더가 표시되면 이번 요청이 지정한 연결 지점을 통과했다는 뜻일 뿐, 원격 노드를 사용했다는 증거는 아닙니다. 클라이언트의 연결 페이지에서 대상 도메인, 매칭된 규칙, 선택된 정책 경로도 확인하세요. 로컬 포트에 연결할 수 없다는 메시지가 나오면 구독을 바로 바꾸기보다 포트와 코어 상태부터 확인하세요.
최종 선택은 두 문장으로 정리할 수 있습니다. 데스크톱에서 일상적으로 쓸 때는 클라이언트의 시스템 연동과 유지보수 상태를 우선 확인하고, 설정 기능과 네트워크 동작은 실제 실행 중인 코어를 기준으로 판단하세요. ‘인터페이스 이름’과 ‘코어가 지원하는 기능’을 구분해 기록하면 가이드 확인, 업그레이드, 문제 해결이 한결 수월합니다. 필드를 더 확인하려면 사이트의 고급 설정을 참고하세요. 처음 사용하는 경우에는 사용 가이드에 따라 설정을 가져오고 시스템 프록시를 구성하면 됩니다.