1. iPhone 클라이언트와 구독 형식 확인
iPhone에서 ‘iOS용 Clash’를 검색해도 실제로는 필요한 구독 형식과 프록시 프로토콜, 분기 규칙을 지원하는 앱을 선택해야 합니다. Clash는 프록시 코어와 설정 생태계에서 쓰이는 이름입니다. 앱 이름에 Clash가 들어간다는 이유만으로 기존 YAML을 바로 사용할 수 있다고 판단하면 안 됩니다. 데스크톱용 설치 파일은 iOS 앱으로 설치할 수 없습니다.
이 문서에서는 App Store에서 다운로드할 수 있고 Clash 스타일 YAML을 지원하는 앱을 사용합니다. Stash가 확인해 볼 만한 선택지 중 하나입니다. Stash는 자체 구현과 설정 지원 범위가 있으므로 데스크톱용 Clash나 Clash Meta(mihomo)를 완전히 대체한다고 볼 수 없습니다. 특히 mihomo 전용 필드와 스크립트, 일부 프로토콜 매개변수는 가져오기 전에 앱 문서를 확인하세요.
| 현재 자료 | 확인할 사항 | 다음 단계 |
|---|---|---|
| Clash YAML 구독 | 구독에 포함된 프로토콜과 필드를 앱이 지원하는지 | 앱에 맞는 구독 가져오기 메뉴 선택 |
| 개별 노드 공유 링크 | 앱이 해당 링크의 프로토콜을 지원하는지 | 노드 단위로 가져오기. 전체 규칙 설정으로 취급하지 않기 |
| 다른 앱 전용 구독 | 서버에서 Clash 또는 Stash 형식으로 내보낼 수 있는지 | 먼저 출력 형식을 바꾼 다음 링크 복사 |
| 로컬 YAML 파일 | 파일에 노드, 프록시 그룹, 규칙이 포함되어 있는지 | 파일로 가져온 뒤 이후 업데이트는 직접 관리 |
2. App Store에서 앱 다운로드
App Store 페이지와 시스템 요구 사항 확인
- iPhone에서 App Store를 열고 하단의 ‘검색’을 탭한 다음 ‘Stash’처럼 정확한 제품명을 입력합니다. 아이콘 색상이나 검색 결과 순위만 보고 앱을 고르지 마세요.
- 앱 상세 페이지에서 개발자, 기능 설명, ‘호환성’ 정보를 확인해 현재 기기와 iOS 버전을 지원하는지 살펴보세요. 유료 앱이라면 가격을 확인한 뒤 시스템의 구매 절차에 따라 설치합니다.
- 설치가 끝나면 ‘열기’를 탭합니다. 처음 실행할 때는 먼저 설정 메뉴를 확인하고, 연결 스위치는 바로 켜지 않아도 됩니다. 설정이 비어 있는 상태에서 VPN을 켜도 사용할 수 있는 노드가 생기지는 않습니다.
검색 결과에 앱이 나오지 않으면 해당 앱이 현재 App Store에 등록되어 있는지, Apple 계정의 스토어 국가 또는 지역이 어디인지 확인하세요. iOS 18 기준으로 ‘설정’ → 화면 상단의 Apple 계정 → ‘미디어 및 구입 항목’ → ‘계정 보기’ → ‘국가/지역’에서 확인할 수 있습니다. 메뉴 위치는 시스템 버전에 따라 달라질 수 있고, 스토어에서 앱을 판매하는 지역도 바뀔 수 있습니다.
스토어 지역을 변경하면 잔액, 구독, 결제 수단에 영향을 줄 수 있으므로 연결 문제를 해결하기 위해 꼭 필요한 단계는 아닙니다. 출처가 불분명한 공유 계정을 사용하지 말고, 앱 설치를 위해 Apple 계정 암호를 제3자 웹사이트에 입력하지 마세요. 기업용 인증서로 설치하거나 기기 관리 프로파일을 설치하라는 페이지가 나오면 일단 중단하고 출처를 확인하세요.
시스템 호환성과 클라이언트 설치 경로를 비교하려면 클라이언트 다운로드 페이지를 확인하세요. iOS 앱의 다운로드 가능 여부와 가격, 호환 시스템은 App Store의 최신 정보를 기준으로 합니다.
3. 구독 링크 준비 및 설정 가져오기
계정 관리 페이지 주소가 아닌 설정 구독 링크 복사
서비스 제공업체의 구독 관리 페이지에서 사용할 앱에 맞는 내보내기 옵션을 찾습니다. 일반 노드 구독, Clash, Stash, mihomo 형식이 모두 있다면 현재 앱에 맞는다고 명시된 항목을 우선 선택하세요. 복사할 것은 구독 주소이지 로그인 페이지나 주문 페이지, 브라우저 주소가 아닙니다.
- 링크의 쿼리 매개변수를 빠짐없이 유지하세요. 물음표 뒤의 내용을 임의로 삭제하면 안 됩니다. 그 안에 인증 토큰이나 출력 형식 정보가 들어 있을 수 있습니다.
- 링크 앞뒤에 공백이나 줄바꿈, 한국어 인용 부호가 붙지 않았는지 확인하세요. 메신저로 전달된 긴 링크는 특히 주의해야 합니다.
- 구독 주소는 계정에 접근할 수 있는 권한을 포함하는 경우가 많습니다. 공개 댓글이나 스크린샷, 온라인 형식 검사 도구에 올리지 마세요.
앱에 설정을 추가하고 활성화
- 앱의 설정 관리 화면을 엽니다. Stash를 예로 들면 홈 화면의 설정 메뉴에서 설정 목록으로 이동한 뒤 원격 설정을 추가하거나 다운로드하는 항목을 찾습니다. 버전에 따라 ‘URL에서 다운로드’ 또는 비슷한 이름으로 표시될 수 있으므로 실제 화면을 확인하세요.
- URL 입력란에 구독 주소 전체를 붙여 넣습니다. 이름을 입력할 수 있다면 ‘기본 구독’처럼 알아보기 쉬운 이름을 사용하고, 이름에 암호나 토큰을 넣지 마세요.
- 다운로드 또는 확인을 탭하고 설정이 목록에 나타날 때까지 기다립니다. 오류가 표시되면 먼저 오류 유형을 기록하고, 같은 요청을 연달아 다시 제출하지 마세요.
- 방금 추가한 설정을 탭해 현재 설정으로 선택합니다. 홈 화면이나 프록시 그룹 화면으로 돌아가 프록시 그룹과 노드가 표시되는지 확인하세요. 설정 파일 이름만 보이는 상태라면 충분하지 않습니다.
- 기본 프록시 그룹을 펼쳐 사용할 수 있는 노드를 선택합니다. 처음 연결을 시험할 때는 실제 출구를 확인하기 쉽도록 수동 선택 그룹을 사용하세요. 자동 선택 그룹은 테스트 주소와 그룹 구성원 노드가 유효한지도 확인해야 합니다.
가져오기에 성공했다는 것은 앱이 설정을 받아들였다는 뜻일 뿐, 모든 노드에 연결할 수 있다는 의미는 아닙니다. 일반적인 Clash 스타일 설정에는 노드나 프록시 제공자, 프록시 그룹, 규칙 등이 포함됩니다. 원격 규칙 세트나 노드 제공자에 의존한다면 해당 리소스도 정상적으로 다운로드되는지 확인하세요. 프록시 그룹 이름만 있고 그룹에 노드가 없다면 아직 연결을 켜지 마세요.
4. VPN 설정 허용 및 첫 연결
iOS 앱은 보통 시스템의 Network Extension을 사용해 터널을 만들고 설정 범위에 포함된 트래픽을 처리합니다. 데스크톱처럼 ‘시스템 프록시 포트’를 설정하는 방식과는 다릅니다. iPhone에서 이런 앱을 사용할 때는 일반적으로 Wi-Fi 설정에 127.0.0.1:7890을 직접 입력할 필요가 없습니다. 이 주소와 포트는 데스크톱 안내에서 흔히 보이지만 iOS의 공통 설치 단계는 아닙니다.
- 설정이 선택되어 있는지 확인한 다음 앱 홈 화면에서 연결 스위치를 켭니다.
- 시스템에 앱이 VPN 구성을 추가하려 한다는 안내가 표시되면 요청한 앱 이름을 확인하고 ‘허용’을 탭합니다.
- 시스템 안내에 따라 기기 암호나 생체 인증을 완료합니다. 인증은 iOS 시스템 화면에서 해야 하며, 웹 페이지의 입력란에 잠금 화면 암호를 입력하면 안 됩니다.
- 앱으로 돌아와 연결 상태로 바뀔 때까지 기다립니다. 방금 권한 요청을 취소했다면 연결 스위치를 다시 켜고 권한을 승인하세요.
- 시스템 기록을 확인하려면 ‘설정’ → ‘일반’ → ‘VPN 및 기기 관리’ → ‘VPN’으로 이동해 해당 설정과 연결 상태를 살펴보세요. iOS 버전에 따라 표시 위치가 조금 다를 수 있습니다.
시스템의 VPN 표시는 터널 상태를 뜻할 뿐, 원격 노드가 정상적으로 작동한다는 의미는 아닙니다. 노치나 다이내믹 아일랜드가 있는 기기는 상태 막대에 VPN 표시가 계속 나타나지 않을 수 있으므로 제어 센터, 시스템 설정, 앱 상태를 함께 확인하세요. 일반적인 개인 사용 환경에서는 다른 VPN 앱이 연결 중일 때 현재 연결에 영향을 줄 수 있으니 처음 시험할 때는 다른 VPN을 끄세요.
5. 노드, 규칙, DNS가 정상인지 확인
첫 연결은 ‘노드 하나, 네트워크 하나, 테스트 한 묶음’으로 진행하고 한 번에 변수 하나만 바꾸세요. 노드와 DNS, 규칙을 동시에 바꾸면 문제가 해결되더라도 원인을 파악하기 어렵습니다. 아래 테스트 횟수는 문제 해결 절차일 뿐, 회선 성능을 측정한 결과가 아닙니다.
- 작동 모드 확인: 일반적인 설정은 먼저 Rule(규칙) 모드로 사용합니다. Direct(직접 연결) 모드에서는 프록시 노드를 예상대로 사용하지 않으며, Global(전역) 모드에서는 트래픽 분기 결과가 달라지므로 규칙이 올바른지 확인하는 용도로 적합하지 않습니다.
- 노드 연결 확인: 프록시 그룹에서 같은 노드를 선택해 지연 시간 테스트를 3회 실행하고 계속 시간 초과가 발생하는지 살펴봅니다. 지연 시간 테스트는 보통 지정된 테스트 주소에 접속하는 방식입니다. 동영상 다운로드 속도와 같지 않으며 모든 사이트에 접속할 수 있음을 보장하지도 않습니다.
- 실제 웹 페이지 테스트: Safari에서 기존 설정에 따라 직접 연결되어야 하는 사이트 하나와 프록시를 사용해야 하는 사이트 하나를 엽니다. 각 페이지를 한 번 새로 고친 뒤 앱의 연결 기록이나 로그에서 해당 도메인을 찾습니다.
- 규칙 적용 결과 확인: 로그에 예상한 규칙과 프록시 그룹, 출구가 표시되는지 확인합니다. 페이지가 열려도 로그에 DIRECT가 표시된다면 웹 페이지가 열렸다는 사실만으로 프록시 노드가 정상이라고 판단할 수 없습니다.
- 접속 네트워크 비교: 같은 노드를 유지한 채 Wi-Fi와 셀룰러 네트워크에서 각각 테스트합니다. 한쪽에서만 실패한다면 접속 네트워크, 포털 인증, 서버 측 제한부터 확인하세요.
로그에 도메인 확인 시간 초과가 계속 표시되면 설정의 DNS 항목과 앱의 관련 필드 지원 여부를 확인하세요. 여러 안내서의 dns 항목을 그대로 이어 붙이지 마세요. 중복 키, 잘못된 들여쓰기, 지원하지 않는 필드가 새 문제를 일으킬 수 있습니다. Clash Meta(mihomo)의 특정 DNS나 TUN 옵션도 iOS 앱에서 그대로 사용할 수 있다고 보장할 수 없습니다.
6. 가져오기 실패 및 연결 후 인터넷 끊김 해결
| 나타나는 증상 | 우선 확인할 항목 | 조치 |
|---|---|---|
| 다운로드 시 401 또는 403 오류 | 토큰, 구독 권한 또는 서버 접근 제한 | 서비스 관리 페이지에서 상태를 확인하고 유효한 링크를 다시 복사 |
| 다운로드 시 404 오류 | 구독 경로가 만료되었거나 잘렸는지 | 서비스 제공업체의 최신 페이지에서 주소 다시 받기 |
| YAML 파싱 실패 메시지 | 응답이 웹 페이지인지, 형식이 앱에 맞는지 | 올바른 구독 출력 형식을 선택하고 오류 행 번호 보관 |
| 노드 목록이 비어 있거나 프로토콜 미지원 안내 | 노드 리소스 다운로드 및 앱의 프로토콜 지원 여부 | 제공자 업데이트 결과 확인 후 호환되는 설정 가져오기 |
| VPN 연결됨, 웹 페이지는 열리지 않음 | 선택한 노드, 규칙의 출구, DNS, 구독 상태 | 먼저 같은 그룹의 정상 노드로 바꾼 뒤 로그를 확인해 원인 파악 |
| 스위치를 켜자마자 연결 해제 | 설정 로드 오류 또는 다른 VPN과 충돌 | 먼저 로그를 확인하고 다른 VPN을 끈 뒤 다시 시도 |
파싱 오류에 <html>이나 로그인 페이지 제목이 보인다면 앱에 필요한 구독 대신 웹 페이지가 반환된 경우가 많습니다. 노드 목록이 비어 있는 원인은 요금제 만료, 데이터 소진, 원격 노드 제공자 업데이트 실패일 수도 있습니다. 이를 모두 앱 문제로 단정하지 마세요.
인터넷을 정상적으로 다시 사용하려면 먼저 앱에서 연결을 끈 다음 시스템 VPN 설정에서도 연결이 해제되었는지 확인하세요. 주문형 연결이 활성화되어 있다면 앱이나 해당 VPN 설정에서 옵션을 확인해 시스템이 자동으로 다시 연결하지 않도록 합니다. 처음부터 ‘네트워크 설정 재설정’을 실행하지 마세요. 저장된 네트워크 정보에 영향을 줄 수 있지만 구독 형식 문제를 해결하지 못할 수도 있습니다.
7. 구독 업데이트 및 설정 관리
- 원격 구독과 로컬 파일 구분: URL로 추가한 설정은 다시 가져올 수 있지만, 로컬 YAML을 가져왔다고 해서 서버 변경 사항이 자동으로 반영되는 것은 아닙니다.
- 업데이트 전에 사용 가능한 설정 보관: 현재 설정을 먼저 내보내거나 복사한 뒤 한 번 수동 업데이트하고, 노드 수와 프록시 그룹 선택, 연결 결과를 확인하세요.
- 자동 업데이트가 무엇을 뜻하는지 확인: 앱 실행 시 업데이트, 백그라운드 작업, 노드 제공자 업데이트는 서로 다른 기능입니다. iOS는 백그라운드 작업을 예약하므로 업데이트 간격을 설정해도 분 단위로 정확히 실행된다는 뜻은 아닙니다.
- 개인 수정 사항은 따로 저장: 원격 구독 내용을 직접 수정하면 다음 업데이트 때 덮어써질 수 있습니다. 규칙을 사용자 지정하려면 앱에서 명시적으로 지원하는 오버라이드나 로컬 설정 기능을 우선 사용하세요.
- 구독 정보가 유출되면 즉시 재설정: 서비스 관리 페이지에서 구독 토큰을 재설정한 다음 앱의 주소도 함께 변경하세요. 기존 주소가 더 이상 작동하지 않는 것은 정상입니다.
위 단계를 마치면 다음 세 가지를 명확히 알 수 있어야 합니다. 현재 어떤 설정이 활성화되어 있는지, 실제로 어떤 출구를 선택했는지, 접속 요청에 어떤 규칙이 적용되었는지입니다. 이후 연결 문제가 생기면 앱을 반복해서 다시 설치하기보다 이 세 항목부터 확인하는 편이 원인을 찾기 쉽습니다. 설정 순서는 사용 안내서에서, 규칙과 설정 개념은 Clash 설정 가이드에서 더 자세히 확인할 수 있습니다.