clash for ios Clash iOS 클라이언트 다운로드 및 설치 가이드

iOS 클라이언트 테스트에 초대되었습니다

TestFlight와 App Store를 통해 설치하며, mihomo 커널 기반으로 구독 가져오기와 규칙 분기를 지원합니다.

TF-CLASH-IOS-INVITE

iOS 15.0 이상 필요

  • mihomo 커널 Meta
  • TestFlight 배포
  • 오픈소스 생태계
F-01 초청장 내지 · 기능 색인 규칙 분기 / 구독 관리 / TUN 모드 —— 아래로 스크롤
F-INDEX

핵심 기능 색인

여섯 가지 기능이 초청장 내지의 목차처럼 색인 표시줄에 나열됩니다. 왼쪽 티켓 스텁을 클릭해 전환하면 오른쪽 편지지에 해당 기능의 전체 설명이 펼쳐지고, 마지막 줄에는 바로 참고할 수 있는 설정 정보가 붙어 있습니다.

규칙 분기

규칙 분기는 Clash 계열 클라이언트의 핵심 기능입니다. 설정 파일의 rules 항목은 위에서 아래로 순서대로 매칭되며, 조건에 맞으면 즉시 적용됩니다. DOMAIN-SUFFIX로 특정 도메인 접미사를 정밀하게 지정하거나, GEOIP로 대상 IP의 소속 지역에 따라 트래픽을 통째로 나누고, 마지막에는 MATCH로 나머지를 처리할 수 있습니다. iOS 클라이언트는 구독을 가져오면 구독에 포함된 규칙 세트를 바로 사용할 수 있으며, 설정에 사용자 정의 항목을 추가해 업무, 스트리밍, 다운로드가 각각 다른 출구로 나가게 할 수도 있어 매번 수동으로 프록시를 켜고 끌 필요가 없습니다.

rules: DOMAIN-SUFFIX / DOMAIN-KEYWORD / GEOIP / MATCH · 위에서 아래로 매칭, 조건 충족 시 즉시 적용 · 커널 mihomo

구독 관리

구독은 서비스 제공업체가 제공하는 노드와 규칙을 하나의 URL로 묶은 것입니다. iOS 클라이언트는 구독 링크를 붙여넣어 한 번에 가져올 수 있고, 설정한 주기에 따라 자동으로 갱신되며, 여러 개의 구독을 동시에 유지하며 각각 개별적으로 활성화할 수도 있습니다. proxy-providers 방식을 사용하면 노드 소스와 로컬 설정을 분리할 수도 있습니다. 구독은 노드만 제공하고 분기 규칙은 로컬에서 재정의하므로 서비스를 교체할 때 설정 전체를 다시 작성할 필요가 없습니다. 구독 갱신이 실패하면 클라이언트는 마지막으로 성공한 스냅샷을 유지하므로 한 번의 갱신 실패로 연결이 끊기지 않습니다.

proxy-providers: url / interval / health-check · 실패 시 이전 스냅샷 유지

TUN 모드

iOS에서 프록시 트래픽을 가로채는 기능은 시스템의 NetworkExtension 프레임워크에 의존하며, 데스크톱의 TUN 모드와 동일한 효과를 냅니다. 클라이언트가 가상 네트워크 인터페이스를 생성하면 시스템 내 모든 앱의 트래픽이 Clash 커널로 들어가 규칙 매칭에 참여하므로 앱마다 개별적으로 프록시를 설정할 필요가 없습니다. 시스템 프록시 설정을 따르지 않는 앱(게임, 터미널 도구, 일부 메신저)에 특히 유용합니다. 활성화하면 상태 표시줄에 VPN 아이콘이 나타나는데, 이는 iOS가 NetworkExtension을 표시하는 공통 아이콘일 뿐이며 모든 트래픽이 프록시를 거친다는 의미는 아닙니다. 실제 경로는 규칙에 따라 하나씩 결정됩니다.

tun: enable / stack: system · iOS NetworkExtension 전역 트래픽 처리

정책 그룹

정책 그룹은 특정 규칙에 매칭된 트래픽이 어디로 향할지 결정합니다. select는 사용자가 직접 노드를 지정하고, url-test는 주기적으로 속도를 측정해 지연이 가장 낮은 노드를 자동으로 선택하며, fallback은 순서대로 상태를 확인해 우선 노드에 장애가 발생하면 대체 노드로 자동 전환하고, load-balance는 연결을 여러 노드에 분산시킵니다. iOS 클라이언트는 구독에 정의된 모든 정책 그룹을 화면에 그대로 표시하며 선택하면 즉시 적용됩니다. 정책 그룹을 잘 구성하면 스트리밍은 지역 제한 해제 노드로 고정하고, 일상적인 웹서핑은 자동으로 최적 노드를 선택하며, 대용량 다운로드는 별도 그룹으로 분리해 서로 영향을 주지 않게 할 수 있습니다.

proxy-groups: select / url-test / fallback / load-balance

DNS와 Fake-IP

DNS는 도메인 해석의 정확도를 결정하며 규칙 매칭 결과에도 직접적인 영향을 미칩니다. mihomo 커널은 fake-ip 강화 모드를 지원합니다. 클라이언트가 먼저 예약된 대역의 가상 IP를 반환해 연결을 즉시 성립시키고, 실제 해석은 프록시 측에서 완료되므로 첫 패킷 지연을 눈에 띄게 줄이고 DNS 오염을 피할 수 있습니다. 설정의 nameserver와 fallback은 각각 일반 해석과 의심스러운 결과의 재검증을 담당합니다. iOS 클라이언트는 합리적인 DNS 프리셋을 기본으로 활성화하며, 숙련된 사용자는 설정에서 이 부분을 직접 재정의할 수도 있습니다.

dns: enhanced-mode: fake-ip / nameserver / fallback · 예약 대역 198.18.0.1/16

외부 제어

mihomo 커널에는 RESTful API가 내장되어 있으며, external-controller를 통해 로컬 포트로 노출됩니다. 웹 기반 제어판과 함께 사용하면 연결 상태를 실시간으로 확인하고 정책 그룹을 전환하거나 로그 레벨을 조정할 수 있습니다. iOS 사용자에게는 클라이언트 화면만으로도 일상적인 작업이 충분하지만, 데스크톱이나 라우터에서 동일한 설정을 실행할 경우 외부 제어를 통해 여러 기기가 하나의 관리 창구를 공유할 수 있습니다. API 필드는 데스크톱과 완전히 동일해 한 번만 익히면 플랫폼을 넘나들며 재사용할 수 있고, 문제를 진단할 때 커널 상태를 살펴볼 수 있는 추가적인 경로가 됩니다.

external-controller: 127.0.0.1:9090 · RESTful API · 제어판 공통

GATE

전체 플랫폼 클라이언트 다운로드

다섯 개 플랫폼마다 하나의 탑승권이 준비되어 있습니다. iOS는 App Store를 이용하고, 데스크톱과 Android는 설치 파일을 직접 다운로드할 수 있으며, 라우터와 서버 사용자는 다운로드 페이지에서 mihomo 커널 바이너리를 찾을 수 있습니다. 설정 형식은 모든 플랫폼에서 공통으로 사용됩니다.

전체 클라이언트 보기 →

OPEN-SOURCE

오픈소스 생태계와 커널 배경

Clash는 하나의 독립된 앱이 아니라 전체 오픈소스 생태계입니다. 아래 네 단락에서 그 유래, 생태계 내 역할 분담, 커널과 클라이언트의 관계, 그리고 각 구성 요소의 업데이트 주기를 설명합니다.

프로젝트 역사

Clash는 처음에 커뮤니티가 개발한 오픈소스 프록시 커널로 시작했으며, '설정 파일 + 규칙 분기' 방식으로 점차 크로스 플랫폼의 사실상 표준이 되었습니다. 원본 커널의 업데이트가 멈춘 뒤 커뮤니티는 이를 기반으로 Clash Meta를 발전시켰고, 이는 지금까지 지속적으로 관리되는 mihomo 프로젝트로 이어졌습니다. 이 사이트에서 소개하는 iOS 클라이언트는 모두 이 흐름을 따르며 설정 형식이 데스크톱과 호환되므로, 컴퓨터에서 사용하던 설정을 iOS에서 그대로 재사용할 수 있습니다.

오픈소스 생태계

커널, 규칙 세트, GeoIP 데이터베이스, 구독 변환 도구부터 각 플랫폼의 그래픽 클라이언트까지 모두 오픈소스 형태로 커뮤니티가 관리합니다. 코드가 공개되어 있다는 것은 누구나 구현 세부 사항을 검토할 수 있다는 뜻이며, 문제는 issue 형태로 공개적으로 추적되고 논의됩니다. 생태계 내 클라이언트들은 각자 독립적으로 개발되지만 동일한 설정 규격을 공유하는데, 이것이 Clash 계열 도구가 데스크톱, 모바일, 라우터 등 모든 환경을 동시에 지원할 수 있는 근본적인 이유입니다.

커널과 클라이언트

클라이언트와 커널은 서로 다른 두 계층입니다. 커널(mihomo)은 프로토콜 구현, 규칙 매칭, DNS 해석을 담당하고, 클라이언트는 화면 인터페이스, 구독 관리, 시스템 통합을 담당합니다. iOS의 Clash Plus는 mihomo 커널을 NetworkExtension 안에 캡슐화하며, 화면에서 이루어지는 모든 전환은 결국 커널이 실행합니다. 이 관계를 이해하면 문제를 진단할 때 설정 파일을 봐야 하는지, 클라이언트 설정을 봐야 하는지 판단할 수 있습니다.

업데이트 방식

커널 업데이트는 프로토콜과 성능 개선을 가져오고, 클라이언트 업데이트는 화면과 시스템 적응을 가져오며, 두 가지는 각각 독립적인 주기로 이루어집니다. App Store 채널의 클라이언트 업데이트는 스토어가 자동으로 배포하고, 구독 내용은 설정된 interval 주기에 따라 갱신되며, GeoIP와 GeoSite 데이터베이스는 커널 버전과 함께 업데이트되거나 설정에서 독립적으로 지정할 수 있습니다. 이 세 가지를 모두 최신 상태로 유지하는 것이 '규칙 오작동, 노드 연결 불가' 같은 문제를 피하는 첫걸음입니다.

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

mihomo 커널 소스 저장소 · 구현 세부 사항을 살펴보거나 커널 바이너리를 직접 빌드하려면 여기서 시작하세요.

Q-PICK

자주 묻는 질문 모음

시작하기 전에 가장 많이 묻는 네 가지 질문에 한 문장으로 방향을 제시합니다. 전체 절차와 세부 점검 목록은 빠른 시작 가이드에서 확인할 수 있습니다.

JOURNAL

최신 게시글

문제 해결, 플랫폼 배포, 고급 설정을 다루는 심층 글을 게시일 최신순으로 계속 업데이트합니다.

Clash 시작 시 강제 종료되는 문제: 클라이언트 크래시의 흔한 원인과 단계별 점검 방법

설정 파일 문법 오류, 포트 충돌, 커널 버전 불일치부터 시스템 권한 제한까지 발생 빈도에 따라 클라이언트 시작 크래시의 원인을 정리하고, 단계별 검증과 해결 방법을 제시하며 최소 설정으로 문제를 좁혀가는 방법도 설명합니다.

라우터에서 mihomo 커널 직접 실행: 서브 라우터로 Clash 배포하는 전체 전략과 핵심 포인트

메인 라우터 또는 서브 라우터에서 mihomo 커널을 직접 실행하는 배포 개요입니다. 하드웨어와 펌웨어 요구 사항, 커널 바이너리 선택, 투명 프록시와 DNS 하이재킹 핵심 사항, 그리고 로컬 네트워크 기기 연결을 위한 두 가지 일반적인 방식을 비교합니다.

GeoIP와 GeoSite 데이터베이스 업데이트 가이드: 분기 규칙 오작동의 원인과 해결

규칙 매칭에서 GeoIP, GeoSite 데이터베이스가 하는 역할을 설명하고, 수동 교체와 설정 내 자동 업데이트라는 두 가지 방식을 보여주며, 데이터베이스가 오래되어 발생하는 분기 오류의 대표적인 증상과 확인 방법을 분석합니다.

전체 게시글 보기 →