오픈소스 커널 · 전 플랫폼 클라이언트 지속 관리

Clash 클라이언트전 플랫폼 다운로드와 설정

mihomo 커널 기반 클라이언트 설치 파일과 설정 가이드로, Windows, macOS, Android, iOS, Linux 다섯 플랫폼을 지원하며 구독 가져오기, 프록시 모드 전환, 규칙 분할, TUN 모드 설정을 모두 다룹니다.

  • 영구 무료
  • 오픈소스 코드
  • 한국어 문서
  • mihomo 커널

지원 플랫폼

PLATFORM

플랫폼별로 Clash 클라이언트 받기

다섯 플랫폼마다 전용 GUI 클라이언트가 있으며, 설치 파일과 시스템 요구 사항, 커널 영역 아카이브가 다운로드 페이지에 플랫폼별로 정리되어 있습니다. 아래 카드를 누르면 해당 항목으로 바로 이동하고, 어떤 것을 설치할지 고민된다면 먼저 선택 가이드를 확인해도 됩니다.

  • Windows

    Clash Plus, Clash Verge Rev, FlClash 등의 클라이언트를 제공하며 시스템 프록시와 TUN 모드로 트래픽을 처리합니다. Windows 10 1809 이상의 x64 및 ARM64 기기를 지원합니다.

    다운로드하러 가기
  • macOS

    Apple Silicon과 Intel용 설치 파일을 각각 제공하며 메뉴 막대에서 상시 실행됩니다. 강화 모드를 켜면 시스템 프록시를 사용하지 않는 명령줄 도구와 개발 환경까지 처리할 수 있습니다.

    다운로드하러 가기
  • Android

    스마트폰과 태블릿에서 함께 쓸 수 있는 APK 설치 파일로, 앱별 프록시와 VPN 모드를 지원합니다. 기기의 CPU 아키텍처에 맞춰 ARM64 또는 ARMv7 버전을 선택하면 됩니다.

    다운로드하러 가기
  • iOS

    Clash Plus는 App Store에 등록되어 있어 스토어 페이지에서 바로 설치할 수 있습니다. 온디맨드 연결과 단축어 연동을 지원하며 공식 사이트 주소는 clashplus.io입니다.

    다운로드하러 가기
  • Linux

    .deb와 .rpm 두 가지 패키지 형식을 제공해 주요 데스크톱 배포판을 지원합니다. 서버나 라우터 환경에서는 커널 영역의 압축 파일을 대신 사용할 수 있으며, 아키텍처에 맞는 버전을 선택하면 됩니다.

    다운로드하러 가기

모든 클라이언트 보기 →

CORE FEATURES

커널 기능과 설정 항목 안내

mihomo 커널의 동작은 config.yaml로 결정됩니다. 아래 여섯 항목은 일상적인 사용에서 가장 자주 수정되고 또 가장 자주 잘못 설정되는 부분으로, 각 항목마다 해당 설정 키와 값을 지정하는 방법을 정리했습니다.

시스템 프록시를 사용하지 않는 트래픽을 가상 네트워크 어댑터로 처리

커널 수준

TUN 모드는 시스템에 가상 네트워크 어댑터를 만들어 시스템 프록시 설정을 따르지 않는 트래픽까지 함께 처리합니다. 게임 클라이언트, 터미널 명령줄 도구, 컨테이너 환경 같은 상황에 적합합니다. 활성화하면 커널이 3계층 트래픽을 직접 다루며, auto-route와 auto-detect-interface를 함께 쓰면 라우팅 테이블이 가상 어댑터를 자동으로 가리키므로 게이트웨이를 직접 수정할 필요가 없습니다. 시스템 프록시만 바꾸는 방식보다 적용 범위가 넓은 대신 관리자 또는 root 권한이 필요하고, Windows에서는 Wintun 드라이버를 설치해야 합니다.

tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true

QUICKSTART

세 단계로 끝내는 첫 설정

설치부터 정상적인 인터넷 사용까지 필요한 동작은 세 가지뿐입니다. 각 단계는 클라이언트 화면에 해당 메뉴가 있고, 플랫폼별 자세한 설명은 가이드 페이지에 있습니다.

구독 링크 가져오기

클라이언트의 설정 페이지를 열고 구독 주소를 입력란에 붙여 넣은 뒤 다운로드를 누릅니다. 목록에 새 항목이 나타나면 선택하세요. 클라이언트가 설정을 다시 불러오고 커널을 시작합니다. 목록이 계속 비어 있다면 먼저 브라우저에서 구독 주소를 열어 내용이 바로 나오는지 확인하고, 그다음 클라이언트 로그에서 오류 유형을 확인합니다.

프록시 모드 선택

평소에는 규칙 모드를 사용해 국내 도메인과 IP는 직접 연결하고 나머지 트래픽만 rules 섹션에 따라 프록시로 보냅니다. 특정 사이트가 규칙에 의해 잘못 분류되는지 확인해야 할 때는 잠시 전역 모드로 바꿔 모든 트래픽을 프록시로 통과시켜 보고, 확인이 끝나면 다시 되돌립니다. 전역 모드에서는 모든 요청이 프록시를 거치므로 오래 켜 두면 트래픽 소모가 눈에 띄게 늘어납니다.

시스템 프록시 또는 TUN 켜기

설정에서 시스템 프록시를 켜면 브라우저처럼 시스템 프록시를 따르는 프로그램은 곧바로 적용됩니다. 명령줄 도구나 게임 클라이언트처럼 시스템 프록시를 읽지 않는 프로그램은 TUN 모드를 켜야 처리됩니다. 켠 뒤 아무 사이트나 열어 연결을 확인하고, 연결 페이지로 돌아가 어떤 규칙에 걸렸고 어느 출구 노드를 썼는지 보면서 분할이 의도대로 동작하는지 확인합니다.

전체 가이드 보기 →

OPEN SOURCE

오픈소스 커널과 커뮤니티 유지 관리

클라이언트 화면과 프록시 커널은 서로 독립된 두 계층의 프로젝트입니다. 이 관계를 이해해 두면 문제가 생겼을 때 어느 쪽 로그를 봐야 할지 판단할 수 있습니다.

프로젝트 연혁

Clash 커널은 Go 언어로 작성되었고, 초기에는 규칙 기반 로컬 프록시 프로그램을 목표로 했으며 설정이 하나의 YAML 파일에 모여 있는 구조가 지금까지 이어지고 있습니다. 원작자가 프로젝트를 아카이브한 뒤 커뮤니티가 Clash Meta 브랜치에서 개발을 이어가며 현재의 mihomo 커널이 되었고, 새로운 프로토콜 지원과 DNS 구현도 이 브랜치에서 업데이트됩니다.

생태계 역할 분담

커널과 주요 GUI 클라이언트는 모두 오픈소스 라이선스로 배포되며 코드는 공개 저장소에 호스팅됩니다. 규칙 세트, 구독 변환 도구, 웹 제어 패널은 각각 다른 팀이 관리하고, 서로 표준 config.yaml과 RESTful API로 연결됩니다. 어느 쪽이든 다른 프로젝트의 일정을 기다릴 필요 없이 독립적으로 새 버전을 배포할 수 있습니다.

커널과 인터페이스의 관계

GUI 클라이언트 자체는 프록시 프로토콜을 구현하지 않습니다. 설정 편집, 노드 표시, 켜고 끄는 제어를 담당하고 실제 연결은 mihomo 커널이 맺습니다. 같은 config.yaml을 다른 클라이언트에 넣어도 동작은 거의 같습니다. 반대로 화면이 멈춰 있어도 커널은 정상 동작하는 경우가 많으므로, 문제를 찾을 때는 화면보다 커널 로그를 보는 편이 정확합니다.

업데이트 방식

커널과 클라이언트 버전은 각각 따로 발전하며, 일부 클라이언트는 내장 커널 버전을 교체할 수 있어 커널을 올리기 위해 앱 전체를 다시 설치할 필요가 없습니다. 규칙 세트와 GeoIP 데이터는 provider를 통해 주기적으로 받아오며 설치 패키지에 포함되지 않으므로, 규칙의 최신성은 설정에 적어 둔 업데이트 주기에 달려 있습니다. 이 주기를 짧게 잡으면 새 규칙을 더 빠르게 받을 수 있습니다.

mihomo 커널 소스 클론하기

git clone https://github.com/MetaCubeX/mihomo.git

FAQ

자주 묻는 질문 모음

아래 네 가지는 처음 설정할 때 가장 자주 나오는 질문입니다. 펼치면 원인과 처리 순서를 볼 수 있고, 더 많은 항목은 가이드 페이지에 플랫폼별로 정리되어 있습니다.

구독을 가져온 뒤 노드 목록이 비어 있다면?
먼저 브라우저에서 구독 주소를 열어 내용이 바로 나오는지 확인합니다. 브라우저에서도 열리지 않는다면 링크가 만료되었거나 현재 네트워크가 연결되지 않은 것입니다. 열리는데 클라이언트에서 가져오기에 실패한다면 로그의 오류 유형을 봅니다. 인증서 검증 실패라면 HTTP 주소로 바꾸거나 시스템 루트 인증서를 갱신하고, 응답 내용을 해석할 수 없다면 이 구독이 Clash 형식인지 확인해야 합니다.
시스템 프록시를 켰는데 브라우저는 되고 터미널 명령은 안 될 때?
터미널 도구는 대부분 시스템 프록시 설정을 읽지 않고 http_proxy와 https_proxy 두 환경 변수만 인식합니다. 먼저 셸에서 이 두 변수를 127.0.0.1:7890으로 임시로 export해 확인하고, 잘 되면 셸 설정 파일에 적어 둡니다. 장기적으로는 TUN 모드를 켜서 커널이 명령줄 트래픽을 직접 처리하게 하는 편이 좋으며, 그러면 도구마다 따로 설정할 필요가 없습니다.
규칙 모드에서 특정 사이트가 프록시로 갈 때 직접 연결로 바꾸려면?
rules 섹션 앞쪽에 DOMAIN-SUFFIX를 DIRECT로 지정하는 규칙을 넣습니다. 위치가 기존의 같은 종류 규칙보다 앞서야 하며, 그렇지 않으면 앞의 규칙에 먼저 걸립니다. 수정 후 설정을 다시 불러오고 연결 페이지에서 해당 연결이 새 규칙에 걸리는지 확인합니다. 그래도 프록시로 간다면 IP-CIDR이나 GEOIP 규칙에 먼저 매칭되었는지 점검합니다.
포트가 사용 중이라 시작에 실패하고 로그에 listen error가 뜬다면?
mixed-port로 지정한 포트를 다른 프로그램이 이미 쓰고 있다는 뜻입니다. 시스템 명령으로 점유한 프로세스를 찾아 종료하거나, 포트를 7891처럼 비어 있는 값으로 바꾼 뒤 커널을 다시 시작합니다. 포트를 바꿨다면 브라우저 확장과 터미널의 프록시 설정도 함께 고쳐야 합니다. 그렇지 않으면 예전 포트로 계속 접속을 시도해, 커널은 켜져 있는데 인터넷이 되지 않는 것처럼 보입니다.

NOTES

기술 노트

설정 과정에서 마주친 세부 문제와 해결 과정을 기록한 글로, 최신순으로 정렬되어 있습니다. 전체 목록은 노트 아카이브 페이지에서 볼 수 있습니다.

Clash 사용자 지정 규칙 문법과 우선순위: DOMAIN-SUFFIX, IP-CIDR, MATCH의 매칭 순서

rules 섹션의 작성법과 매칭 순서를 하나씩 풀어봅니다. DOMAIN, DOMAIN-SUFFIX, IP-CIDR부터 GEOIP와 마지막을 책임지는 MATCH까지, 위에서 아래로 진행되는 단락 매칭 구조와 자주 하는 실수를 정리합니다.

전체 글 읽기 →

Clash 멀티 디바이스 설정 동기화: 구독 링크, 호스팅 설정, 수동 내보내기 세 가지 방법

스마트폰, PC, 태블릿 사이에서 설정을 일관되게 유지하는 방법을 다룹니다. 구독 링크 자동 동기화, 직접 만든 설정 호스팅, 수동 내보내기·가져오기 세 가지 방법의 적용 상황과 유지 비용, 충돌 처리 방식을 비교합니다.

전체 글 읽기 →

Clash 노드 시간 초과로 연결 불가: 순서대로 확인하는 일곱 단계

노드 시간 초과는 노드 자체의 문제가 아닌 경우가 많습니다. 구독 업데이트, DNS 조회, 포트 점유, 시스템 프록시, 규칙 매칭, 커널 로그, 네트워크 환경 일곱 단계를 차례로 확인하면 진짜 원인을 빠르게 찾을 수 있습니다.

전체 글 읽기 →

모든 글 보기 →