첫 연결을 완료하려면 ‘서버 선택’, ‘VPN 시작’, ‘접속 대상 확인’의 세 단계를 거쳐야 합니다. 이 글은 iPhone / iPad에서 Shadowrocket을 사용하는 방법을 설명합니다. 자체 서비스 제공업체의 구성이나 구독을 보유했지만 아직 첫 연결을 완료하지 않은 경우에 적합합니다. 순서대로 진행하면 서버 선택, 시스템 권한, Global Routing, 실제 웹페이지 접속이 각각 어떤 역할을 하는지 구분할 수 있습니다. 스위치가 켜졌다는 이유만으로 연결 검증까지 끝났다고 판단하지 마세요.
연결 전: 구성 출처와 기기 네트워크 확인
먼저 Shadowrocket을 실행하지 않은 상태에서 기기가 일반 웹페이지에 접속할 수 있는지 확인하세요. Wi-Fi에 웹 인증이 필요하다면 먼저 인증을 완료해야 합니다. 현재 네트워크 자체가 인터넷에 연결되지 않은 경우 구성을 가져오거나 서버를 테스트하는 과정이 실패할 수 있습니다. 처음 설정할 때는 한 네트워크만 사용하고, Wi-Fi와 셀룰러 네트워크를 오가며 연결 설정을 바꾸지 않는 것이 좋습니다.
이 안내는 사용자가 자체 서비스 제공업체와 구독을 보유한 경우를 전제로 합니다. 이 사이트는 노드, 구독, VPN 서비스 또는 초대 코드를 제공·판매·추천하지 않습니다. 클라이언트 구입 비용과 회선 서비스는 별개입니다. 클라이언트를 구입해도 서버 주소, 비밀번호 또는 구독 링크가 자동으로 생성되지는 않습니다.
- 이미 가져온 경우: Home에서 구독 이름만 접혀 있거나 업데이트되지 않은 상태가 아니라, 실제 서버 항목이 표시되는지 확인하세요.
- 아직 가져오지 않은 경우: Home → 오른쪽 위 ‘+’ → Type → Subscribe로 이동해 URL에 본인의 구독 주소를 입력하고 저장하세요. 서버 목록이 로드되었는지 확인한 뒤 필요한 경우 구독을 업데이트합니다.
- 단일 구성을 사용하는 경우: 기존 구성에 맞는 Type을 선택하세요. 예를 들어 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard가 있습니다. 이름만 보고 프로토콜을 추측하거나 포트와 인증 항목을 임의로 변경하지 마세요.
- 민감한 정보 보호: 구독 URL, 비밀번호, Private Key 등은 모두 인증 정보로 취급해야 합니다. 문제를 문의하기 위해 스크린샷을 제출하기 전에 전체 링크와 키를 가리세요.
구독 링크 예시는 https://example.com/sub?token=xxxx이며, 연결에 사용할 수 없는 가짜 값입니다. 실제 사용 시에는 쿼리 매개변수를 포함한 본인의 전체 주소를 입력해야 합니다. 끝부분의 token이 누락되면 업데이트가 실패하거나 내용이 일부만 반환될 수 있습니다. 구독을 가져오는 작업은 구성을 목록에 추가할 뿐, 연결을 시작하지는 않습니다.
Home에서 서버 선택 후 연결 스위치 켜기
Home의 선택 원은 현재 기본 서버를 지정합니다. 서버 상세 화면에서 매개변수를 확인하는 것과 해당 서버를 기본값으로 지정하는 것은 다른 작업입니다. 목록으로 돌아온 뒤 선택 상태를 확인해 현재 서버가 맞는지 확인하세요. 서버 이름만 확인하고 이전에 선택한 항목을 그대로 사용하는 일이 없도록 주의합니다.
-
목록 펼치기
Home으로 이동해 가져온 구독 그룹이나 서버 목록을 찾으세요. 그룹이 접혀 있다면 먼저 펼쳐 선택할 수 있는 서버가 있는지 확인합니다.
-
선택 원 누르기
사용할 서버 옆의 선택 원을 눌러 선택된 상태인지 확인하세요. 첫 검증에서는 이 서버 하나만 사용하고 여러 항목의 매개변수를 동시에 변경하지 마세요.
-
라우팅 확인
Home → Global Routing으로 이동해 현재 모드가 Proxy, Direct, Config, Scene 중 무엇인지 확인하세요. 선택한 서버부터 검증하려면 일시적으로 Proxy를 사용할 수 있습니다. 일상적인 규칙 분할은 별도로 Config에서 확인하세요.
-
연결 시작
Home으로 돌아가 상단의 연결 스위치를 켜세요. 처음으로 시스템의 VPN 구성 추가 안내가 표시되면 Shadowrocket에서 나온 안내인지 확인한 뒤 추가를 허용하고 시스템 안내에 따라 인증을 완료합니다.
-
테스트 실행
Shadowrocket으로 돌아와 스위치가 계속 켜져 있는지 확인한 다음 Home에서 Connectivity Test를 실행하세요. 화면에 실제로 표시된 결과를 기록하고 브라우저에서 접속하려는 대상도 확인합니다.
선택한 기본 서버가 모든 연결의 최종 경로가 되는 것은 아닙니다. Config에서는 규칙이 DIRECT, 특정 정책 그룹 또는 다른 정책을 지정할 수 있습니다. 정책 그룹이 자체적으로 구성원을 선택할 수도 있습니다. 따라서 선택 원은 ‘기본 서버가 무엇인지’를 정할 뿐, ‘각 대상의 최종 경로’를 결정하지는 않습니다.
시스템 권한: VPN이 시작되어도 웹 접속 확인이 끝난 것은 아닙니다
처음 시작할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용해야 합니다. 이 권한은 앱이 기기에서 VPN 터널을 만들도록 허용하는 것이며 원격 서버 계정을 개통하거나 만료된 비밀번호를 복구하지는 않습니다. 권한 안내에서 취소하면 연결 스위치가 꺼질 수 있습니다. 앱으로 돌아가 다시 스위치를 켜고 시스템 권한을 완료하세요.
시스템의 VPN 상태는 기기의 터널이 시작되었음을 나타낼 뿐, 서버 인증 성공이나 DNS 조회 정상 여부, 특정 웹사이트 접속 가능 여부를 단독으로 증명하지는 않습니다. 상태 표시줄에 VPN 아이콘이 계속 보이는지도 기기의 표시 위치에 따라 달라질 수 있으므로 아이콘 하나만으로 판단하지 마세요. Home 스위치, Connectivity Test, 실제 접속 결과를 함께 확인해야 합니다.
Global Routing: 먼저 서버 문제를 분리한 뒤 규칙 복원
첫 연결에서 가장 혼동하기 쉬운 모드는 Proxy와 Config입니다. Proxy는 규칙의 영향을 잠시 배제해 확인할 때 적합하고, Config는 현재 구성에 따라 트래픽을 분할합니다. 아래 권장 사항은 ‘선택한 서버를 처음 검증하는’ 상황에만 해당하며, Proxy를 계속 사용하라는 뜻은 아닙니다.
Proxy: 서버 먼저 확인
권장이 모드에서 터널로 들어오는 트래픽은 프록시 경로로 전달되어 선택한 서버로 접속할 수 있는지 먼저 확인하기 쉽습니다. 시스템이 보존하는 트래픽이나 터널 외부 연결까지 같은 방식으로 처리된다고 단정해서는 안 됩니다.
적합한 경우: 첫 연결, 규칙 매칭의 영향 임시 배제
Config: 구성에 따라 트래픽 분할
현재 활성화된 구성과 규칙에 따라 정책을 결정합니다. 결과는 규칙 순서, 대상 매칭, 정책 그룹 선택에 따라 달라지며 모든 요청이 기본 서버를 거치는 것은 아닙니다.
적합한 경우: 서버가 작동하는지 확인한 뒤 일상적인 트래픽 분할 검증
Direct: 직접 연결 기준 확인
선택한 프록시 서버를 거치지 않고 직접 연결합니다. 연결 스위치가 켜져 있더라도 웹페이지가 열린다는 사실만으로 서버가 정상 작동한다고 볼 수 없습니다.
적합한 경우: 기기의 기본 네트워크와 비교하거나 대상 자체의 접속 불가 여부를 확인할 때
Scene: 시나리오 설정 확인
이미 설정한 시나리오 조건에 따라 라우팅 동작을 결정합니다. 사용 전에 시나리오 조건과 해당 정책을 확인하세요. Scene을 고정된 프록시 또는 직접 연결 모드로 간주해서는 안 됩니다.
적합한 경우: 시나리오 구성이 명확하고 환경에 따라 다른 정책을 적용해야 할 때
Proxy에서는 접속되지만 Config로 전환한 뒤 실패한다면 Config에서 현재 활성화된 구성을 확인하세요. 규칙은 일반적으로 위에서 아래 순서로 매칭되므로 특정 대상 규칙은 기본 처리 규칙보다 앞에 두어야 합니다. 아래는 문법 예시일 뿐 완전한 구성이 아니며, 기존 파일을 그대로 덮어쓰는 데 사용하지 마세요.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX는 도메인 접미사를 매칭하고, IP-CIDR는 IP 주소 대역을 매칭합니다. GEOIP는 IP 지리 위치 데이터베이스를 기준으로 매칭하며, FINAL은 앞선 규칙과 일치하지 않은 연결을 처리합니다. 예시의 192.168.0.0/16은 사설 IP 주소 대역이지 서버 주소가 아닙니다. 실제 정책은 본인의 네트워크 요구 사항에 맞게 구성하세요.
Connectivity Test: 테스트 결과와 대상 접속을 따로 기록
Connectivity Test는 현재 환경에서 테스트 대상에 연결할 수 있는지 확인하는 기능입니다. 테스트 성공은 해당 테스트가 그 시점의 조건을 충족했다는 뜻일 뿐, 모든 도메인과 앱, 정책 그룹이 정상이라는 보장은 아닙니다. 목록에 표시된 지연 시간도 웹페이지 로딩 시간이나 사용 가능한 대역폭과 같지 않습니다.
확인 방법: 앱 내 테스트와 브라우저 접속을 각각 점검
앱 내 테스트
- Home에서 서버 선택 원과 연결 스위치 상태를 확인합니다.
- Connectivity Test를 실행하고 성공 여부를 미리 가정하지 말고 실제 결과를 기록합니다.
- 당시 Global Routing 모드와 사용 중인 네트워크를 기록합니다.
브라우저 접속
- 평소 접속하려는 구체적인 URL을 엽니다.
- 도메인 조회 오류, 연결 시간 초과, 웹페이지의 오류 응답을 구분합니다.
- Data에서 관련 연결 기록을 확인하고 대상과 실제 적용된 정책을 대조합니다.
결론: 앱 내 테스트와 대상 웹페이지 접속을 모두 확인한 뒤 해당 환경의 첫 검증을 완료한 것으로 기록하세요. 네트워크나 라우팅 모드를 바꾸면 다시 확인해야 합니다.
테스트는 성공했지만 대상 웹페이지가 열리지 않는다면 서버와 네트워크를 그대로 둔 채 Proxy와 Config의 결과를 비교하세요. Config에서만 실패한다면 규칙과 정책 그룹을 먼저 확인합니다. 두 모드 모두 실패한다면 대상 도메인, 서버 매개변수, DNS를 차례로 확인하세요. DNS, 포트, 프로토콜, 규칙을 한꺼번에 변경하면 어떤 변경이 결과에 영향을 줬는지 알 수 없습니다.
- 도메인 조회 오류가 발생하는 경우: 현재 구성의 DNS 설정을 확인하고 도메인 철자가 맞는지 살펴보세요. IP 주소로 직접 접속되는 것을 도메인 조회가 복구된 것으로 판단하지 마세요.
- 연결 시간 초과가 발생하는 경우: 서버 주소와 포트가 원래 구성과 일치하는지 확인한 뒤 현재 네트워크에서 해당 서버에 연결할 수 있는지 점검하세요. 시간 초과만으로 비밀번호가 틀렸다고 단정할 수는 없습니다.
- 웹페이지에서 HTTP 오류가 반환되는 경우: 예를 들어 HTTP 403은 접속 거부 응답을 받았다는 뜻으로, 연결 자체를 맺지 못한 경우와 다릅니다. 대상 웹사이트의 접속 조건을 확인하세요.
첫 연결 후: 구성을 고정하고 업데이트와 재검증 진행
연결이 작동하는지 확인한 뒤 장기적으로 사용할 Global Routing 모드로 돌아가세요. Config를 사용한다면 Config 페이지에서 예상한 파일이 활성화되어 있는지 다시 확인하고 Data에서 자주 사용하는 대상에 적용된 정책을 살펴보세요. 검증을 재현할 수 있도록 동일한 네트워크, 서버, 라우팅 모드, 대상 URL을 기준으로 유지합니다.
- 구독 업데이트 후 선택 항목 재확인: 서버 항목이 추가·삭제되거나 이름이 바뀔 수 있습니다. 업데이트가 끝나면 Home으로 돌아가 선택 원과 사용할 서버를 다시 확인하세요. 구독 업데이트 성공 메시지만 확인해서는 안 됩니다.
- 네트워크 전환 후 재검증: Wi-Fi에서 셀룰러 네트워크로 전환한 뒤 Connectivity Test를 실행하고 대상에 접속해 보세요. 네트워크별 결과를 따로 기록해야 합니다.
- 구성을 변경하기 전에 되돌릴 기준을 보관: 규칙이나 DNS를 수정하기 전에 기존 설정을 보관하세요. 수정 후에는 이번 변경 사항만 검증하고, 실패하면 원래 설정으로 되돌려 비교합니다.
- 자동 연결이 필요할 때 설정: 수동 연결이 안정적으로 작동하는 것을 확인한 뒤 Settings → On Demand에서 필요한 조건을 설정하세요. 조건에 부합하는 경우와 부합하지 않는 경우의 동작을 각각 확인합니다.
선택 원이 켜져 있는데도 웹페이지가 열리지 않는 이유는 무엇인가요?
선택 원은 기본 서버만 확인합니다. 연결 스위치가 켜져 있는지, 시스템 VPN 권한 설정이 완료되었는지, Global Routing이 예상한 모드인지, Connectivity Test 결과가 어떤지 차례로 확인하세요. Config에서는 적용된 규칙도 확인해야 합니다. 문제를 서버 선택 실패로 바로 단정하지 마세요.
스위치를 켜자마자 꺼지면 무엇부터 확인해야 하나요?
먼저 시스템에서 VPN 구성을 추가하도록 허용했는지 확인한 다음 앱에 표시된 오류와 현재 VPN 상태를 살펴보세요. 오류 내용을 기록하고 한 번에 한 가지 요인만 처리하세요. 진단 대신 앱을 반복해서 삭제할 필요는 없습니다.
구독 업데이트가 성공하면 인터넷에 연결되는 건가요?
아닙니다. 업데이트 성공은 구독 내용을 가져와 처리했다는 뜻이지, 구독에 포함된 모든 서버에 연결할 수 있다는 뜻은 아닙니다. Home에서 사용할 서버를 선택하고 연결을 시작한 뒤 테스트와 실제 접속으로 확인해야 합니다.