이 글이 맞는 독자와 전제

이미 Windows나 Android에서 Clash 형식 구독 링크YAML 프로필을 쓰고 있고, 같은 구성을 iPhone으로 옮기려는 경우가 많습니다. iOS는 앱이 시스템 VPN API를 통해 터널을 열고, 사용자가 설정 앱에서 VPN 프로필을 허용해야 하는 등 단계가 데스크톱과 다릅니다.

앱스토어에 노출되는 제품명은 시기마다 바뀔 수 있으므로, 본문은 특정 상표를 단정적으로 추천하기보다 Clash·Mihomo 계열 구성을 해석할 수 있는지, 구독 URL 자동 갱신규칙·프록시 그룹 UI가 있는지 같은 기준으로 고르는 방법을 설명합니다. 네트워크 우회는 지역·서비스 약관에 따라 제한될 수 있으니, 허용된 용도 안에서만 적용하시기 바랍니다.

용어를 먼저 맞추고 싶다면 Clash 사용 문서에서 Rule·DNS·프록시 그룹 개념을 확인하는 것을 권장합니다.

클라이언트를 고를 때 볼 것

호환 범위

「Clash 구독」이라고 불리는 링크는 보통 원본 YAML이거나, 서버가 Clash용으로 가공한 프로필입니다. iOS 앱이 이를 그대로 파싱하지 못하면 가져오기 단계에서 실패하거나, 들어와도 노드 목록이 비어 있습니다. 릴리스 노트에 Mihomo(Clash Meta) 문법 지원 여부가 적혀 있는지, 구버전 Clash 코어만 지원하는지 확인하세요.

배포·업데이트 채널

정식 앱스토어 빌드 외에 테스트 초대나 기업용 배포가 있는 경우도 있습니다. 어떤 경로로 받든 서명 주체가 분명한지, 업데이트가 끊기지 않는지가 보안과 장기 사용에 직결됩니다. 설정 파일에 민감한 토큰이 들어가므로, 화면 녹화·백업 공유 시 구독 URL이 그대로 노출되지 않도록 주의하세요.

사용 패턴에 맞는 UI

매일 노드를 바꾼다면 홈 화면에서 프록시 그룹 전환이 빠른 앱이 낫고, 한번 맞춰 두고 잊는 스타일이면 자동 선택·지연 측정 같은 기능이 있는지 보면 됩니다. 홈 Wi-Fi에서는 끄고 셀룰러에서만 켠다면, 위젯이나 단축어 연동을 지원하는지도 체감에 영향을 줍니다.

구독·프로필 가져오기

구독 URL 붙여 넣기

가장 흔한 방식은 제공자가 준 HTTPS 구독 링크를 앱의 「구독 추가」란에 넣는 것입니다. 붙여 넣기 직후에 403·401이 뜨면 토큰이 만료됐거나, 링크가 단말·IP 제한을 걸고 있을 수 있습니다. 같은 URL을 Safari에서 열어 보면 응답 헤더나 본문이 비어 있는지 빠르게 가늠할 수 있습니다.

QR 코드와 짧은 링크

긴 URL은 오타가 나기 쉬워서 QR로 옮기는 흐름이 많습니다. 카메라로 스캔한 뒤 앱으로 넘길 때, 중간에 리다이렉트 페이지가 끼면 잘못된 HTML이 프로필로 들어가 파싱 오류가 납니다. 반드시 최종 구독 엔드포인트가 앱에 전달되는지 확인하세요.

파일·iCloud·메일 첨부

YAML을 직접 받았다면 파일 앱에서 열거나, 공유 시트로 호환 앱에 넘깁니다. 이때 iOS의 샌드박스 때문에 앱마다 접근 가능한 폴더가 다르므로, 「파일에서 가져오기」 메뉴가 따로 있는지 살펴보세요. 데스크톱에서 쓰던 프로필에 로컬 전용 경로나 iOS에서 막힌 외부 스크립트가 있으면 일부 섹션만 무시되기도 합니다.

가져오기는 실패하고 끝나는 경우

앱이 구독을 받아 오기 전에 실패하면 원인은 대개 네트워크 경로서버 응답 쪽에 있습니다. 순서대로 점검해 보세요.

1) 시스템 시간이 맞지 않으면 TLS 핸드셰이크가 깨질 수 있습니다. 설정에서 자동 설정 시간을 켜 두세요. 2) 캡티브 포털 Wi-Fi에 붙어 있으면 구독 요청이 로그인 페이지 HTML로 돌아옵니다. 3) 다른 VPN·필터링 프로필이 이미 켜져 있으면 fetch가 루프를 돌 수 있으니 잠시 끕니다. 4) DNS 필터가 구독 도메인을 차단하는 경우도 있어, 일시적으로 모바일 데이터로만 시도해 보면 원인을 가를 수 있습니다.

구독 서버가 클라이언트 헤더를 검사하는 경우, 앱이 보내는 User-Agent가 맞지 않으면 빈 응답을 줄 수 있습니다. 이런 때는 제공자 문서에 적힌 권장 클라이언트나 헤더 옵션이 있는지 확인하세요.

가져오기는 됐는데 트래픽이 안 잡힐 때

VPN 토글과 시스템 설정

많은 Clash 호환 앱은 iOS VPN 슬롯을 사용합니다. 앱 안의 연결 스위치를 켠 뒤, 설정 앱의 일반 > VPN 및 기기 관리(또는 이에 준하는 메뉴)에서 해당 프로필이 연결됨으로 표시되는지 확인하세요. 처음 한 번은 팝업에서 「허용」을 눌러야 하며, OS 업데이트 후에는 권한이 초기화되는 경우도 있습니다.

로컬 네트워크 권한

iOS 14 이후 일부 앱은 로컬 네트워크 접근을 별도로 묻습니다. 홈 NAS·프린터·캐스트 기기와 동시에 쓰는 환경에서만 문제가 되는 경우가 많지만, 특정 앱은 내부 제어 채널에 로컬 링크를 쓰기도 합니다. 스트리밍이나 사내 포털만 안 되면 이 권한과 분할 터널링 설정을 함께 의심하세요.

셀룰러·저데이터 모드

저데이터 모드나 통신사 측 IPv6-only 환경에서 일부 노드 타입이 불안정할 수 있습니다. Wi-Fi와 셀룰러를 바꿔 가며 같은 프로필을 시험하면 회선 특성을 빠르게 분리합니다.

첫 연결 직후에만 터지는 패턴

구독은 갱신되는데 사이트가 열리지 않거나, 앱만 재시작하면 잠깐 된다면 다음을 의심합니다.

DNS 모드: 프로필에 fake-ip가 켜져 있으면 일부 앱에서 증상이 다르게 나타납니다. 데스크톱에서 이미 Fake-IP와 Redir-Host 글에서 다룬 것처럼, 필터·스니퍼·규칙 순서가 모바일에서도 동일하게 적용됩니다. 특정 도메인만 안 열리면 DNS·규칙 쪽을 먼저 좁히세요.

노드 자체: 지연 측정은 되는데 실제 브라우징만 실패하면, 해당 노드가 데이터센터 IP를 탐지하는 사이트를 막는 경우일 수 있습니다. 다른 그룹 멤버로 바꿔 보고, 동일 증상이면 규칙 문제로 되돌아갑니다.

인증서 경고: 사용자가 임의로 MITM용 루트 인증서를 설치한 상태에서 앱이 자체 인증서를 쓰면 충돌 메시지가 날 수 있습니다. 기업 단말의 MDM 프로필도 비슷한 간섭을 일으킵니다. 이런 경우는 네트워크 스택 전체를 점검해야 하므로, 우선 표준 프로필만으로 재현되는지 분리하세요.

macOS와 비교해 기억할 차이

Mac에서는 네트워크 확장·시스템 확장 승인이 병목인 경우가 많았습니다. iPhone은 구조가 다르지만, 첫 실행 시 권한·프로필 승인이 밀려 있으면 증상이 비슷하게 보입니다. 맥에서 이미 같은 구독을 쓰고 있다면 macOS 쪽 점검 글과 대조해, 구독 URL 자체가 살아 있는지 먼저 확인한 뒤 iOS만의 VPN·로컬 네트워크 단계로 넘어가면 진단이 빨라집니다.

한 장으로 보는 점검 순서

A. 구독 URL을 Safari로 열어 본문이 YAML/바이너리 목록처럼 보이는가. B. 앱에서 수동 갱신 시 오류 코드가 TLS인지 HTTP인지 구분했는가. C. VPN 토글과 설정 앱의 연결 상태가 일치하는가. D. 다른 VPN·DNS 프로필을 끈 뒤 재시도했는가. E. 시간 자동·타임존이 맞는가. F. Wi-Fi와 셀룰러 각각에서 재현되는가. 이 여섯 단계를 통과하면 대부분의 「첫 연결」 이슈는 원인 범위가 상당히 줄어듭니다.

기억할 점: iOS는 한 번에 하나의 VPN 슬롯이 사용자에게 크게 보이는 경우가 많습니다. 여러 앱을 돌려 쓰다가 프로필이 꼬이면, 사용하지 않는 VPN 구성을 정리하고 다시 연결하는 것만으로도 증상이 사라지기도 합니다.

모바일은 배터리·절전 정책 때문에 백그라운드에서 세션이 끊기기 쉽습니다. 장시간 안정적으로 쓰려면 불필요한 자동 갱신 주기를 늘리고, 실패 로그가 있을 때만 수동으로 새로고침하는 습관이 서버와 단말 모두에 부담을 줄입니다.

데스크톱에서 Clash를 메인으로 쓰고 iPhone은 보조로만 쓰는 경우에도, 같은 규칙 철학을 유지하면 트래픽 경로를 예측하기 쉽습니다. 패키지 형태로 배포되는 클라이언트는 공식 다운로드 페이지에서 버전을 맞추는 것이 업데이트와 보안 공지를 따라가기에 유리합니다.

규칙형 프록시는 한번 구조를 잡아 두면 플랫폼마다 UI만 다를 뿐, 도메인·앱 단위 제어의 이점은 같습니다. iOS에서의 초기 허들은 대개 가져오기와 VPN 권한에 집중되어 있으니, 위 순서를 그대로 체크리스트로 쓰면 반복 시도 시간을 많이 줄일 수 있습니다.

→ Clash를 무료로 내려받아 데스크톱과 함께 구독·규칙 환경을 한곳에서 맞춰 보세요