Shadowrocket 사용자 규칙 작성법과 우선순위: 위에서 아래로 매칭하고 FINAL로 처리하기
DOMAIN-SUFFIX, IP-CIDR 조건 작성법부터 살펴보고 규칙 순서를 확인한 다음 PROXY, DIRECT, REJECT의 용도를 구분하세요. 요청에 예상한 정책이 적용되지 않는 이유와 FINAL을 이해하고 관리하기 좋은 위치에 두는 방법을 점검할 때 유용합니다.
규칙 안내 읽기 →iPhone / iPad용 Shadowrocket 공식 가이드입니다. App Store에서 일회성 구매로 클라이언트를 받은 다음 기존 정보를 가져오고, 규칙 라우팅 설정을 확인해 연결 상태를 점검하세요.
Shadowrocket은 Apple 플랫폼 전용 앱이며 App Store에서만 받을 수 있습니다. 구매와 처음 설정을 진행하기 전에 기기 호환성, 현재 App Store 계정, 앱 정보를 확인하세요.
App Store에서 Shadowrocket 제품 페이지를 열어 개발자와 앱 ID를 확인한 후 구매하세요. 처음 실행하면 Home, Global Routing, Add Server 메뉴부터 살펴보세요. 연결 전에 본인이 보유한 구독 또는 서버 정보를 준비하고, 시스템 요구 사항은 App Store 페이지에 표시된 내용을 확인하세요.
iPhone 구매 안내 보기 →같은 Apple ID로 이미 구매했다면 App Store의 구입 항목에서 먼저 찾아보세요. iPhone과 iPad 간 공통 구매 조건, 호환 기기 및 시스템 요구 사항은 App Store 페이지에 표시된 내용을 따릅니다. 앱을 복원한 뒤에도 구성과 연결 정보를 별도로 확인해야 합니다.
iPad 구매 안내 보기 →앱 이름이 비슷해도 같은 앱이라고 단정할 수 없습니다. 제품 상세 페이지에서 공식 아이콘, 개발자 Shadow Launch Technology Limited, 링크의 앱 ID 932747118을 모두 확인하세요. 아래 App Store 버튼은 해당 제품 페이지를 엽니다. 페이지를 여는 것만으로 구매가 완료되는 것은 아니므로 결제 전에 현재 스토어에 표시된 가격과 호환성을 확인하세요.
검색 결과에 앱이 표시되지 않으면 먼저 App Store에서 구매에 사용하는 계정과 해당 계정의 국가 또는 지역을 확인하세요. 기기 언어만으로 스토어 지역을 판단하지 마세요. 제품 링크의 스토어 경로가 현재 계정의 구매 지역과 같다는 보장도 없습니다. 앱의 노출 여부와 구매 가능 여부, 결제 안내는 현재 계정에 표시되는 App Store 페이지를 기준으로 확인하세요.
처음 연결할 때 표시되는 VPN 구성 승인 창은 시스템이 클라이언트의 네트워크 연결 구성을 설정하기 위해 요청하는 확인 절차입니다. 현재 작업이 Shadowrocket에서 시작된 것인지 확인한 뒤 시스템 안내를 읽고 진행하세요. 승인을 완료해도 시스템이 구성을 허용했다는 뜻일 뿐, 서버 매개변수나 구독 상태, 규칙이 올바르다는 의미는 아닙니다. 이후에는 가이드에 따라 각각 확인해야 합니다.
연결 정보, Global Routing, 구성 파일을 구분해서 살펴보세요. 서버는 연결 대상을 정하고, 라우팅 모드는 요청 처리 방식을 정하며, 규칙은 각 요청에 적용할 정책을 지정합니다.
규칙 라우팅은 요청별 처리 정책을 선택하는 기능입니다. Home에서 Global Routing을 Config로 설정한 다음 Config에서 현재 사용 중인 구성을 확인하세요. 규칙은 일반적으로 위에서 아래로 매칭되며, 조건이 일치하면 해당 정책을 적용합니다. 구체적인 조건을 포괄적인 조건보다 위에 배치하고, 마지막에는 예외 상황을 처리하도록 FINAL을 두는 것이 일반적입니다. PROXY, DIRECT, REJECT는 정책 키워드이며 서버 주소가 아닙니다. 수정하기 전에 사본을 보관하고 한 번에 한 항목만 변경한 뒤 실제 요청에 어떤 규칙이 적용되는지 확인하세요. 아래 example.com 예시는 문법 설명용이며, 그대로 사용할 수 있는 완성된 구성은 아닙니다.
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECTOn Demand는 지정한 네트워크 조건에서 연결을 시작하는 기능이며 서버 구성을 대신하지 않습니다. Settings에서 On Demand를 찾아 어떤 Wi-Fi, 셀룰러 네트워크 또는 도메인 조건에서 연결할지 정한 다음, 조건이 서로 겹치는지 하나씩 확인하세요. 처음에는 명확한 조건 하나만 활성화하고 네트워크를 전환해 연결 상태를 살펴보세요. 예상대로 동작하는 것을 확인한 후 다른 조건을 추가하면 됩니다. 연결을 수동으로 끈 뒤 다시 자동 연결된다면 구성을 바로 삭제하기보다 On Demand 설정부터 확인하세요. 자동 연결과 Rule 라우팅은 서로 다른 단계입니다. 전자는 연결 시점을, 후자는 연결 후 요청 처리 방식을 결정합니다.
Settings → On Demand
Wi-Fi / Cellular / Domain
연결 트리거 조건 ≠ Rule 매칭 조건Shadowrocket은 Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard 등 다양한 프로토콜을 지원합니다. 본인이 보유한 서버 정보를 사용할 때는 Add Server에서 Type을 먼저 확인한 다음 해당 유형에 맞는 Host, Port와 인증 정보를 입력하세요. 프로토콜마다 입력 항목이 다르므로 TLS, 전송 방식, 인증서 옵션도 서버 설정에 맞춰야 합니다. 프로토콜을 추측해 Type을 반복해서 바꾸지 말고 보유한 구성 정보와 항목별로 대조하세요. 항목이 저장되었다는 것은 입력값이 받아들여졌다는 뜻일 뿐, 원격 서버 연결에 성공했다는 의미는 아닙니다. 테스트와 실제 접속으로 확인해야 합니다.
Add Server
Type → Host → Port
Trojan / Hysteria2 / WireGuardSubscribe는 본인이 이미 보유한 구독 항목을 관리할 때 사용합니다. 가져오기 전에 주소가 온전한지 확인하고, 링크에 필요한 매개변수가 있다면 그대로 유지하세요. 복사할 때 공백이나 줄바꿈, 설명 문구가 섞이지 않도록 주의합니다. 가져온 뒤에는 예상한 서버 항목이 생성되었는지 확인하고, 그중 하나를 선택해 연결을 테스트하세요. 구독 업데이트는 원격 목록을 새로 고치는 기능이며, 원격 서버의 만료나 인증 오류, 모든 로컬 규칙 문제를 자동으로 해결하지는 않습니다. 삭제하거나 덮어쓰기 전에 구독에서 가져온 항목과 직접 추가한 항목을 구분하세요. 구독 주소에 접속 정보가 포함될 수 있으므로 문제를 확인할 때 전체 주소를 스크린샷이나 공개 기록에 남기지 마세요.
Add Server → Type → Subscribe
기존 주소 가져오기 → 항목 업데이트 → 서버 선택
구독 목록 ≠ 규칙 구성 파일구성 파일에는 General, Rule, Hosts 등의 설정이 들어 있습니다. 서버 목록과 구성 파일은 별개의 항목입니다. Config에서 파일을 가져오거나 편집한 뒤에는 현재 어떤 구성이 선택되어 있는지, Global Routing이 Config로 설정되어 있는지 확인하세요. 파일이 목록에 저장되어 있다는 사실만으로 해당 규칙이 실제 요청 처리에 적용되는 것은 아닙니다. DNS나 규칙을 수정하기 전에 복원할 수 있는 사본을 보관하고 변경 내용과 예상 결과를 기록하세요. iCloud 동기화를 사용한다면 시스템의 iCloud 설정, 앱 내 관련 옵션, 다른 기기에 실제로 표시되는 내용을 각각 확인하세요. 동기화를 완전한 백업이나 연결 성공의 증거로 간주하지 마세요.
[General]
bypass-system = true
dns-server = system
[Rule]
FINAL,DIRECT연결에 실패하면 먼저 기기 자체의 인터넷 연결이 정상인지 확인한 다음 선택한 서버, Connectivity Test, 현재 테스트 방식을 살펴보세요. 테스트 결과는 해당 방식에서의 연결 가능성만 보여 주며, 모든 요청의 접속 결과를 뜻하지는 않습니다. 이어서 프로토콜 매개변수, TLS 설정, 시스템 시간과 Global Routing을 확인하고 필요하면 Settings의 Diagnostics를 살펴보세요. Data의 트래픽 통계는 사용량을 파악하는 데 유용하지만 서버 측 과금 기록은 아니며, 트래픽 변화만으로 규칙이 올바르다고 판단할 수 없습니다. 한 번에 변수 하나만 바꾸고 변경 전후를 비교할 수 있도록 실패 상황과 테스트 조건을 기록하세요.
Connectivity Test
Settings → Diagnostics
네트워크 → 매개변수 → Global Routing → 실제 요청Config는 현재 구성에 설정된 규칙에 따라 요청을 처리합니다. Proxy는 요청을 프록시로 처리하고, Direct는 직접 연결합니다. 평소 규칙 라우팅을 사용한다면 Config와 현재 선택된 구성 파일부터 확인하세요. 문제 범위를 좁히기 위해 라우팅 모드를 잠시 바꿀 수 있지만, 변경 후 결과를 원래 테스트 조건과 비교해야 합니다. 한 번 접속에 성공했다고 모든 규칙이 올바르게 설정된 것은 아닙니다.
점검을 시작하기 전에 현재 서버, 라우팅 모드와 구성 이름을 기록하세요. Proxy에서는 접속되지만 Config에서 결과가 달라진다면 규칙 매칭, 정책 대상, DNS 관련 설정을 먼저 확인하세요. 연결 자체가 실패한다면 서버 매개변수와 기본 네트워크부터 살펴보세요. 점검이 끝나면 임시 설정이 이후 사용에 영향을 주지 않도록 원래 라우팅 모드로 복구하세요.
Config, Proxy, Direct의 용도 비교 →Shadowrocket은 소스 코드가 공개되지 않은 유료 앱입니다. 앱 정보, 가격, 호환성 및 구매 조건은 App Store 제품 페이지에서 확인하고, 실제 조작 메뉴는 현재 앱 화면을 기준으로 살펴보세요.
공식 아이콘, 개발자 이름, 앱 ID가 모두 일치하는지 확인하세요. 검색 결과의 앱 이름만 보거나 아이콘 색상만으로 판단하지 마세요. 상세 페이지를 열어 개발자를 확인한 다음 제품 링크의 숫자 ID를 확인하세요.
App Store 검색 결과와 앱의 표시 여부는 계정의 국가 또는 지역에 따라 달라질 수 있습니다. 기기 언어가 한국어라고 해서 구매 계정의 스토어 지역이 정해지는 것은 아닙니다. 브라우저에서 열린 제품 페이지도 기기에서 구매에 사용하는 계정의 스토어와 다를 수 있습니다. 검색 결과에 앱이 없거나 페이지에서 이용할 수 없다고 안내하면 먼저 스토어 안내를 읽고 현재 구매 계정과 국가 또는 지역을 확인한 뒤 정품 안내의 관련 항목을 살펴보세요.
검색되지 않는다는 이유만으로 앱을 더 이상 사용할 수 없다고 판단하지 마세요. 브라우저에서 페이지가 열린다고 기기에서 구매할 수 있는 것도 아닙니다. 제품 상세 페이지가 보이는지, 구매 버튼을 사용할 수 있는지, 기기가 호환되는지 각각 확인하세요. 페이지의 앱 정보가 이 안내의 세 가지 항목과 다르면 구매 절차를 중단하고 올바른 제품 페이지에서 다시 확인하세요.
미국 App Store 기준 가격은 2.99달러이며 한 번만 결제합니다. 다른 스토어에서는 현지 통화로 표시되며 실제 가격과 구매 조건은 App Store 페이지를 기준으로 확인하세요. 구매 기록은 결제에 사용한 Apple ID에 연결되므로 기기를 바꿀 때 먼저 해당 계정을 확인해야 합니다. 참고 가격을 모든 지역에 동일하게 적용되는 가격으로 보거나 다른 기기의 표시만으로 현재 계정의 구매 상태를 판단하지 마세요.
기존 구독의 유효 기간, 서버 인증 정보와 서버 상태는 앱 구매와 별도로 확인해야 합니다. 앱이 정상적으로 열려도 원격 서비스가 유효하다는 뜻은 아닙니다. 원격 서버 항목의 연결 실패가 클라이언트 앱을 다시 구매해야 한다는 뜻도 아닙니다. 먼저 문제가 스토어 구매, 앱 구성, 원격 연결 중 어느 부분인지 구분한 뒤 해당 점검 절차를 진행하면 관련 없는 설정을 반복해서 바꾸지 않아도 됩니다.
기기를 바꾸거나 앱을 다시 설치한 뒤에는 기존 구매 계정으로 로그인하고 App Store의 구입 항목에서 Shadowrocket을 찾으세요. 예상한 다시 받기 버튼 대신 가격이 표시된다면 다시 결제하기 전에 미디어 및 구입 항목에 사용하는 계정이 맞는지 확인하세요. 구매 기록, 지역별 이용 가능 여부, 기기 호환성에 따라 페이지 표시가 달라질 수 있으므로 시스템 안내와 스토어 기록을 기준으로 확인하세요.
앱을 다시 받는 것과 구성을 복원하는 것은 별개의 작업입니다. 앱 복원 후 서버 목록, 선택한 구성, Global Routing, On Demand를 하나씩 확인하세요. iCloud 관련 기능을 사용한다면 동기화된 내용이 실제로 표시되는지도 확인해야 합니다. 앱 아이콘이 보인다고 이전 설정이 모두 복원되었다고 단정하지 마세요. 가족 공유를 이용한다면 제품 페이지와 가족 설정에서 실제 적용 조건을 확인하고, 같은 계정으로 복원하는 경우와 가족 구성원의 사용을 혼동하지 마세요.
Shadowrocket은 App Store에서 다운로드하고 업데이트합니다. 시스템의 App Store 설정에서 자동 업데이트 옵션을 확인하고 앱 상세 페이지에서 업데이트 기록을 살펴볼 수 있습니다. 이 가이드에는 특정 버전 번호나 업데이트 날짜를 고정해 표시하지 않습니다. 화면의 메뉴 이름이나 위치가 조금 다르면 현재 앱에 표시된 항목을 기준으로 기능이 있는 페이지를 확인한 뒤 같은 목적으로 해당 메뉴를 찾아보세요.
중요한 구성을 변경하기 전에 현재 정상적으로 작동하는 구성의 사본을 보관하고 선택된 서버와 라우팅 모드를 기록하세요. 업데이트하거나 기기를 바꾼 뒤 처음 사용할 때는 확인된 조건으로 연결을 먼저 테스트한 후 자동 연결과 다른 설정을 단계적으로 복원하는 것이 좋습니다. 이렇게 하면 차이가 생겨도 가져온 정보, 규칙 선택, 네트워크 환경 중 어느 부분에서 문제가 발생했는지 구분하기 쉽습니다.
현재 어느 단계에서 막혔는지 먼저 확인한 뒤 해당 안내를 살펴보세요. 아래 답변을 펼쳐서 바로 읽을 수 있습니다.
구매하면 클라이언트 앱을 받을 수 있을 뿐입니다. 연결하려면 본인이 보유한 구독 또는 서버 정보가 필요하며, 서버와 Global Routing, 구성을 올바르게 선택해야 합니다. 먼저 Home에 사용할 수 있는 항목이 있는지 확인한 다음 매개변수와 시스템 VPN 구성 승인 여부를 살펴보세요. 결제가 완료되었다고 연결 설정까지 완료된 것은 아닙니다.
구독 항목과 규칙 구성은 서로 다른 역할을 합니다. 구독은 대개 서버 정보를 관리하고, Config의 구성은 규칙에 따른 요청 처리 방식을 정합니다. 규칙 라우팅을 사용하려면 Global Routing이 Config로 설정되어 있는지 확인하고 현재 선택된 구성도 살펴보세요. 구독 업데이트가 성공했다는 사실만으로 규칙이 적용되었다고 판단할 수 없습니다.
테스트와 실제 요청은 대상이나 처리 조건이 다를 수 있습니다. 테스트 결과는 사용한 테스트 방식을 고려해 해석하고, 요청에 적용된 규칙과 DNS, TLS, 선택한 서버도 확인해야 합니다. 동일한 네트워크 조건에서 문제를 재현하고 한 번에 설정 하나만 변경해 결과를 비교하세요. 테스트에서 연결 가능했다고 모든 요청도 성공한다고 볼 수는 없습니다.
먼저 On Demand가 활성화되어 있는지, 현재 Wi-Fi, 셀룰러 네트워크 또는 도메인 조건이 여전히 충족되는지 확인하세요. 자동 연결과 수동 스위치가 현재 상태에 함께 영향을 줄 수 있습니다. 연결이 시작된 상황을 기록한 다음 조건 하나를 조정해 다시 확인하세요. 서버나 구성 파일 전체를 바로 삭제하지 마세요.
기본 설정을 마친 뒤 현재 문제에 맞는 안내를 이어서 읽어보세요. 증상과 현재 설정을 먼저 기록하고 각 주제의 점검 순서를 따르세요. 서로 다른 문제의 해결 방법을 한꺼번에 적용하지 마세요.
DOMAIN-SUFFIX, IP-CIDR 조건 작성법부터 살펴보고 규칙 순서를 확인한 다음 PROXY, DIRECT, REJECT의 용도를 구분하세요. 요청에 예상한 정책이 적용되지 않는 이유와 FINAL을 이해하고 관리하기 좋은 위치에 두는 방법을 점검할 때 유용합니다.
규칙 안내 읽기 →세 가지 라우팅 모드가 트래픽을 처리하는 방식을 비교하고 규칙 라우팅에서 Config를 확인해야 하는 이유를 알아보세요. 문제를 점검할 때 라우팅 모드를 잠시 바꾸는 목적과 점검 후 복구해야 할 설정을 안내해 임시 테스트 상태를 일상 설정으로 착각하지 않도록 돕습니다.
라우팅 안내 읽기 →먼저 기본 네트워크와 테스트 조건을 확인한 다음 프로토콜 매개변수, TLS, 시스템 시간을 살펴보세요. 정해진 순서로 문제 범위를 좁혀 테스트 실패, 연결 실패, 실제 요청 실패를 구분하면 여러 설정을 반복해서 바꾸는 일을 줄일 수 있습니다.
문제 해결 체크리스트 보기 →