구독 링크 가져오기
클라이언트의 설정 페이지를 열고 구독 주소를 입력란에 붙여 넣은 뒤 다운로드를 누릅니다. 목록에 새 항목이 나타나면 선택하세요. 클라이언트가 설정을 다시 불러오고 커널을 시작합니다. 목록이 계속 비어 있다면 먼저 브라우저에서 구독 주소를 열어 내용이 바로 나오는지 확인하고, 그다음 클라이언트 로그에서 오류 유형을 확인합니다.
PLATFORM
다섯 플랫폼마다 전용 GUI 클라이언트가 있으며, 설치 파일과 시스템 요구 사항, 커널 영역 아카이브가 다운로드 페이지에 플랫폼별로 정리되어 있습니다. 아래 카드를 누르면 해당 항목으로 바로 이동하고, 어떤 것을 설치할지 고민된다면 먼저 선택 가이드를 확인해도 됩니다.
Clash Plus, Clash Verge Rev, FlClash 등의 클라이언트를 제공하며 시스템 프록시와 TUN 모드로 트래픽을 처리합니다. Windows 10 1809 이상의 x64 및 ARM64 기기를 지원합니다.
다운로드하러 가기Apple Silicon과 Intel용 설치 파일을 각각 제공하며 메뉴 막대에서 상시 실행됩니다. 강화 모드를 켜면 시스템 프록시를 사용하지 않는 명령줄 도구와 개발 환경까지 처리할 수 있습니다.
다운로드하러 가기스마트폰과 태블릿에서 함께 쓸 수 있는 APK 설치 파일로, 앱별 프록시와 VPN 모드를 지원합니다. 기기의 CPU 아키텍처에 맞춰 ARM64 또는 ARMv7 버전을 선택하면 됩니다.
다운로드하러 가기Clash Plus는 App Store에 등록되어 있어 스토어 페이지에서 바로 설치할 수 있습니다. 온디맨드 연결과 단축어 연동을 지원하며 공식 사이트 주소는 clashplus.io입니다.
다운로드하러 가기.deb와 .rpm 두 가지 패키지 형식을 제공해 주요 데스크톱 배포판을 지원합니다. 서버나 라우터 환경에서는 커널 영역의 압축 파일을 대신 사용할 수 있으며, 아키텍처에 맞는 버전을 선택하면 됩니다.
다운로드하러 가기CORE FEATURES
mihomo 커널의 동작은 config.yaml로 결정됩니다. 아래 여섯 항목은 일상적인 사용에서 가장 자주 수정되고 또 가장 자주 잘못 설정되는 부분으로, 각 항목마다 해당 설정 키와 값을 지정하는 방법을 정리했습니다.
TUN 모드는 시스템에 가상 네트워크 어댑터를 만들어 시스템 프록시 설정을 따르지 않는 트래픽까지 함께 처리합니다. 게임 클라이언트, 터미널 명령줄 도구, 컨테이너 환경 같은 상황에 적합합니다. 활성화하면 커널이 3계층 트래픽을 직접 다루며, auto-route와 auto-detect-interface를 함께 쓰면 라우팅 테이블이 가상 어댑터를 자동으로 가리키므로 게이트웨이를 직접 수정할 필요가 없습니다. 시스템 프록시만 바꾸는 방식보다 적용 범위가 넓은 대신 관리자 또는 root 권한이 필요하고, Windows에서는 Wintun 드라이버를 설치해야 합니다.
rules 섹션은 각 연결이 직접 연결로 갈지 프록시로 갈지를 결정하며, 매칭 순서는 위에서 아래로 엄격하게 적용되고 일치하는 순간 멈춥니다. DOMAIN-SUFFIX를 앞에 두면 도메인 접미사 전체를 한 번에 분류할 수 있고, IP-CIDR은 순수 IP 요청을, GEOIP는 국내 IP 대역을 처리하며 마지막은 MATCH로 마무리합니다. 규칙 순서가 뒤바뀌면 직접 연결되어야 할 트래픽이 프록시를 한 바퀴 돌거나 내부망 주소가 잘못 전달될 수 있습니다. 규칙을 고친 뒤 로그 레벨을 debug로 올려 어느 규칙에 걸렸는지 확인하는 편이 설정을 반복해서 바꿔보는 것보다 훨씬 빠릅니다.
Fake-IP 모드는 도메인에 대해 먼저 198.18.0.0/16 대역의 가짜 주소를 돌려주고, 실제 조회는 연결이 맺어지는 시점까지 미뤄 커널이 규칙에 따라 어느 DNS로 조회할지 결정합니다. 이렇게 하면 DNS 왕복 한 번을 줄여 첫 접속 대기가 눈에 띄게 짧아지고, 로컬 DNS가 오염되어 생기는 조회 오류도 피할 수 있습니다. 대신 실제 IP가 필요한 일부 프로그램은 주소를 받지 못하므로, fake-ip-filter에 사설망 도메인, NTP, STUN 같은 항목을 제외해 두면 됩니다.
구독 링크는 proxy-providers로 가져오며, 커널이 interval에 지정한 주기마다 최신 노드 목록을 자동으로 받아오므로 직접 다시 가져올 필요가 없습니다. 노드를 config.yaml에 직접 적는 방식과 달리 provider 방식은 노드 업데이트와 규칙 설정을 분리합니다. 규칙 파일은 그대로 두고 노드 목록만 구독을 따라가는 구조입니다. 여러 구독을 함께 둘 수 있고, proxy-groups에서 use 필드로 필요한 만큼 참조하거나 filter로 키워드에 맞는 노드만 골라 쓸 수도 있습니다. 가져오기에 실패하면 직전의 사용 가능한 목록을 유지하므로 진행 중인 연결에는 영향을 주지 않습니다.
mixed-port를 쓰면 HTTP와 SOCKS5가 같은 포트를 공유하므로 브라우저, 터미널 도구, 편집기 플러그인 모두 7890만 가리키면 되고 포트 번호를 따로 외울 필요가 없습니다. 기본값은 127.0.0.1만 수신하므로 같은 네트워크의 다른 기기에서 쓰려면 allow-lan을 켜고 bind-address를 실제 어댑터 주소로 지정한 뒤, authentication으로 계정과 비밀번호를 걸어 같은 대역의 기기가 마음대로 접속하지 못하게 해야 합니다. 포트가 이미 사용 중이면 로그에 listen error가 그대로 표시되니 비어 있는 다른 포트로 바꾸면 됩니다.
proxy-groups는 여러 노드를 의미 있는 그룹으로 묶습니다. url-test는 지연 시간을 기준으로 가장 빠른 노드를 자동으로 고르고, fallback은 주 노드를 쓸 수 없을 때 순서대로 내려가며, select는 사용자가 직접 정하고, load-balance는 요청을 여러 출구로 분산합니다. 그룹 이름은 rules 섹션에서 그대로 참조되므로 이름을 안정적으로 유지해야 하며, 이름을 바꾸는 것은 라우팅을 바꾸는 것과 같습니다. health-check의 interval과 tolerance를 조절하면 속도 측정 주기와 전환 민감도를 제어할 수 있어 네트워크가 흔들릴 때 그룹이 계속 바뀌는 것을 막을 수 있습니다.
QUICKSTART
설치부터 정상적인 인터넷 사용까지 필요한 동작은 세 가지뿐입니다. 각 단계는 클라이언트 화면에 해당 메뉴가 있고, 플랫폼별 자세한 설명은 가이드 페이지에 있습니다.
클라이언트의 설정 페이지를 열고 구독 주소를 입력란에 붙여 넣은 뒤 다운로드를 누릅니다. 목록에 새 항목이 나타나면 선택하세요. 클라이언트가 설정을 다시 불러오고 커널을 시작합니다. 목록이 계속 비어 있다면 먼저 브라우저에서 구독 주소를 열어 내용이 바로 나오는지 확인하고, 그다음 클라이언트 로그에서 오류 유형을 확인합니다.
평소에는 규칙 모드를 사용해 국내 도메인과 IP는 직접 연결하고 나머지 트래픽만 rules 섹션에 따라 프록시로 보냅니다. 특정 사이트가 규칙에 의해 잘못 분류되는지 확인해야 할 때는 잠시 전역 모드로 바꿔 모든 트래픽을 프록시로 통과시켜 보고, 확인이 끝나면 다시 되돌립니다. 전역 모드에서는 모든 요청이 프록시를 거치므로 오래 켜 두면 트래픽 소모가 눈에 띄게 늘어납니다.
설정에서 시스템 프록시를 켜면 브라우저처럼 시스템 프록시를 따르는 프로그램은 곧바로 적용됩니다. 명령줄 도구나 게임 클라이언트처럼 시스템 프록시를 읽지 않는 프로그램은 TUN 모드를 켜야 처리됩니다. 켠 뒤 아무 사이트나 열어 연결을 확인하고, 연결 페이지로 돌아가 어떤 규칙에 걸렸고 어느 출구 노드를 썼는지 보면서 분할이 의도대로 동작하는지 확인합니다.
OPEN SOURCE
클라이언트 화면과 프록시 커널은 서로 독립된 두 계층의 프로젝트입니다. 이 관계를 이해해 두면 문제가 생겼을 때 어느 쪽 로그를 봐야 할지 판단할 수 있습니다.
Clash 커널은 Go 언어로 작성되었고, 초기에는 규칙 기반 로컬 프록시 프로그램을 목표로 했으며 설정이 하나의 YAML 파일에 모여 있는 구조가 지금까지 이어지고 있습니다. 원작자가 프로젝트를 아카이브한 뒤 커뮤니티가 Clash Meta 브랜치에서 개발을 이어가며 현재의 mihomo 커널이 되었고, 새로운 프로토콜 지원과 DNS 구현도 이 브랜치에서 업데이트됩니다.
커널과 주요 GUI 클라이언트는 모두 오픈소스 라이선스로 배포되며 코드는 공개 저장소에 호스팅됩니다. 규칙 세트, 구독 변환 도구, 웹 제어 패널은 각각 다른 팀이 관리하고, 서로 표준 config.yaml과 RESTful API로 연결됩니다. 어느 쪽이든 다른 프로젝트의 일정을 기다릴 필요 없이 독립적으로 새 버전을 배포할 수 있습니다.
GUI 클라이언트 자체는 프록시 프로토콜을 구현하지 않습니다. 설정 편집, 노드 표시, 켜고 끄는 제어를 담당하고 실제 연결은 mihomo 커널이 맺습니다. 같은 config.yaml을 다른 클라이언트에 넣어도 동작은 거의 같습니다. 반대로 화면이 멈춰 있어도 커널은 정상 동작하는 경우가 많으므로, 문제를 찾을 때는 화면보다 커널 로그를 보는 편이 정확합니다.
커널과 클라이언트 버전은 각각 따로 발전하며, 일부 클라이언트는 내장 커널 버전을 교체할 수 있어 커널을 올리기 위해 앱 전체를 다시 설치할 필요가 없습니다. 규칙 세트와 GeoIP 데이터는 provider를 통해 주기적으로 받아오며 설치 패키지에 포함되지 않으므로, 규칙의 최신성은 설정에 적어 둔 업데이트 주기에 달려 있습니다. 이 주기를 짧게 잡으면 새 규칙을 더 빠르게 받을 수 있습니다.
mihomo 커널 소스 클론하기
FAQ
아래 네 가지는 처음 설정할 때 가장 자주 나오는 질문입니다. 펼치면 원인과 처리 순서를 볼 수 있고, 더 많은 항목은 가이드 페이지에 플랫폼별로 정리되어 있습니다.
NOTES
설정 과정에서 마주친 세부 문제와 해결 과정을 기록한 글로, 최신순으로 정렬되어 있습니다. 전체 목록은 노트 아카이브 페이지에서 볼 수 있습니다.
rules 섹션의 작성법과 매칭 순서를 하나씩 풀어봅니다. DOMAIN, DOMAIN-SUFFIX, IP-CIDR부터 GEOIP와 마지막을 책임지는 MATCH까지, 위에서 아래로 진행되는 단락 매칭 구조와 자주 하는 실수를 정리합니다.
전체 글 읽기 →스마트폰, PC, 태블릿 사이에서 설정을 일관되게 유지하는 방법을 다룹니다. 구독 링크 자동 동기화, 직접 만든 설정 호스팅, 수동 내보내기·가져오기 세 가지 방법의 적용 상황과 유지 비용, 충돌 처리 방식을 비교합니다.
전체 글 읽기 →노드 시간 초과는 노드 자체의 문제가 아닌 경우가 많습니다. 구독 업데이트, DNS 조회, 포트 점유, 시스템 프록시, 규칙 매칭, 커널 로그, 네트워크 환경 일곱 단계를 차례로 확인하면 진짜 원인을 빠르게 찾을 수 있습니다.
전체 글 읽기 →