Shadowrocket 사용 가이드
가져오기, 연결 및 확인
iPhone / iPad 화면을 예로 들어 처음 사용할 때 필요한 다섯 가지 단계를 안내합니다. 먼저 기존 서버 정보를 정상적으로 작동시키고 규칙을 확인하세요. 처음부터 모든 설정을 하나씩 변경할 필요는 없습니다.
- 01 추가
- 02 모드 선택
- 03 연결
- 04 확인
- 05 문제 해결
스크린샷은 App Store 공식 자료이며 화면과 필드를 식별하는 데 사용됩니다. 앱 업데이트에 따라 실제 배치가 달라질 수 있으므로 현재 앱 화면을 기준으로 확인하세요. 스크린샷의 서버 정보는 그대로 입력하지 마세요.
Add Server: 서버 추가 또는 구독 가져오기
Shadowrocket을 열고 먼저 Home으로 이동합니다. 아직 정보를 추가하지 않았다면 SERVER 그룹에 선택할 서버가 없는 것이 정상입니다. Add Server를 눌러 추가 화면으로 이동한 뒤 보유한 정보에 맞는 가져오기 방식을 선택합니다. 구독 링크, 개별 공유 정보, QR 코드, 수동 입력 필드는 서로 다른 입력 방식입니다. 전체 구독 링크를 Host에 입력하지 마세요.
기존 구독 링크 사용
Add Server에 들어간 뒤 Type을 누르고 Subscribe를 선택한 다음 해당 URL 입력란에 구독 링크 전체를 붙여넣습니다. 붙여넣기 전후에 줄 바꿈, 공백 또는 채팅 메시지의 설명 문구가 포함되지 않았는지 확인하세요. 특히 링크 끝의 매개변수를 빠뜨리지 않도록 주의합니다. 알아보기 쉬운 이름을 입력한 뒤 저장하고 앱이 내용을 가져와 분석할 때까지 기다립니다. 그런 다음 Home으로 돌아가 SERVER에 항목이 나타나는지 확인합니다.
저장에 성공했다는 것은 입력 내용이 저장되었다는 뜻일 뿐, 구독을 정상적으로 다운로드했다는 뜻은 아닙니다. 항목이 나타나지 않으면 현재 네트워크에서 구독 주소에 접속할 수 있는지, 링크가 아직 유효한지 확인하세요. 같은 구독을 여러 개 연속으로 추가해 문제를 해결하려 하지 마세요. 구독 응답은 앱이 분석할 수 있는 연결 정보여야 합니다. 웹페이지 안내, 로그인 페이지 또는 오류 문구는 서버 목록으로 사용할 수 없습니다.
개별 서버 정보 또는 QR 코드 사용
수동으로 추가할 때는 먼저 Type에서 보유한 정보와 일치하는 프로토콜을 선택한 뒤 Host, Port 및 해당 프로토콜에 필요한 필드를 입력합니다. 예를 들어 Shadowsocks에서는 Password와 Method를 확인해야 합니다. 다른 프로토콜에는 다른 인증 또는 전송 설정이 표시될 수 있습니다. 필드가 확실하지 않으면 원본 정보를 다시 확인하세요. 이름만 보고 추측하거나 한 프로토콜의 비밀번호를 다른 프로토콜의 인증 필드에 입력하지 마세요.
QR 코드가 있다면 추가 화면에서 Scan QR Code를 사용하고 시스템 안내에 따라 카메라 권한을 허용합니다. 인식 후에도 Type과 서버 필드를 확인해야 합니다. Import from Cloud JSON은 별도의 가져오기 경로이며 Subscribe와 같지 않습니다. 일반 구독 링크를 임의로 붙여넣는 용도로 적합하지 않습니다. 하나의 추가 방법을 완료하면 충분하며 모든 경로를 사용할 필요는 없습니다.
마지막으로 Home으로 돌아가 SERVER에서 실제로 사용할 권한이 있는 항목을 선택하고 선택 상태를 확인합니다. 목록에 이름이 많이 표시된다고 해서 모두 사용할 수 있는 것은 아닙니다. 먼저 테스트할 항목 하나를 정한 뒤 다음 단계에서 요청 처리 방식을 선택하세요.
Global Routing: 세 가지 모드 선택
서버를 선택했다면 Home으로 돌아가 Global Routing을 누릅니다. 이 메뉴는 요청 처리 방식을 선택하는 곳이며 서버 프로토콜을 바꾸는 기능이 아닙니다. 세 가지 모드는 Config, Proxy, Direct입니다. 테스트 목적을 먼저 정한 뒤 알맞은 항목을 선택하세요. 문제를 해결하는 동안 기록 없이 계속 모드를 바꾸지 않도록 합니다.
Config는 현재 구성 파일의 규칙에 따라 요청을 처리합니다. 규칙 기반 분기가 필요한 경우에 적합합니다. 사용하기 전에 Config를 열어 적용 가능한 구성 파일이 있으며 활성화되어 있는지 확인하세요. 구독을 가져오면 서버 항목을 얻을 수 있지만 전체 규칙 구성도 준비되었다고 볼 수는 없습니다. 서버 목록과 구성 파일은 각각 확인해야 합니다.
Proxy는 이 모드에서 선택한 프록시를 통해 요청을 처리하며, 서버를 잠시 비교 테스트하는 데 사용할 수 있습니다. 같은 대상에 Proxy에서는 접속되고 Config에서는 접속되지 않는다면 규칙과 정책을 우선 확인하세요. 이 모드는 잘못된 인증 정보를 해결하지 않으며 모든 앱의 동작이 같다고 보장하지 않습니다. 비교를 마치면 원래 사용하던 모드로 되돌립니다.
Direct는 직접 연결하는 모드입니다. 스위치가 켜져 있다고 해서 요청이 선택한 서버를 통과한다고 볼 수는 없습니다. 프록시 연결을 테스트하려 했는데 Direct를 선택했다면 브라우저에서 일반 웹페이지가 열린다고 해서 서버가 작동한다고 판단할 수 없습니다. 모드, 선택한 항목, 실제로 적용된 정책을 함께 확인해야 합니다.
처음에는 규칙 한 부분부터 이해하기
Config 페이지에서 General, Rule 등의 구분을 볼 수 있습니다. 여기서는 Rule의 일치 순서만 이해하면 되므로 HTTPS Decryption 등 관련 없는 설정은 변경하지 않아도 됩니다. 아래는 학습용 예시이며 완성된 구성을 대신해 바로 사용할 수 없습니다.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
첫 번째 줄은 example.com 및 하위 도메인과 일치하는 요청에 PROXY를 사용합니다. 이후 GEOIP 규칙과 일치하면 DIRECT를 사용합니다. 앞선 규칙과 일치하지 않은 요청은 FINAL에서 처리합니다. 규칙은 위에서 아래 순서로 확인하며 일치하면 해당 줄의 정책을 적용하므로 FINAL은 마지막에 둡니다. 실제 PROXY를 사용하려면 사용 가능한 프록시 선택 항목도 있어야 합니다. 규칙 문구만으로 서버가 만들어지지는 않습니다.
이 단계의 완료 기준은 현재 선택한 모드와 Config에서 활성화한 구성을 설명할 수 있는 것입니다. 규칙 유형, REJECT 및 구성 섹션에 관한 자세한 내용은 구성 전체 가이드에서 확인하세요. 여기서는 설정을 그대로 유지하고 첫 연결을 진행합니다.
Home: 상단 연결 스위치 켜기
Home으로 돌아가 다음 두 가지를 순서대로 확인합니다. SERVER에서 서버가 선택되어 있고 Global Routing에 앞서 결정한 모드가 표시되어야 합니다. 그런 다음 페이지 상단의 Not Connected 표시 근처에 있는 스위치를 켭니다. 먼저 이 단계를 완료한 뒤 브라우저를 확인하세요. 항목 추가 성공과 연결 성공을 혼동하지 마세요.
처음 연결할 때 iPhone / iPad에 VPN 구성을 추가하라는 시스템 안내가 나타날 수 있습니다. 안내를 읽고 방금 Shadowrocket에서 시작한 작업인지 확인한 뒤 허용을 선택하고 기기 암호 또는 본인 인증을 사용하라는 시스템 안내에 따릅니다. 시스템 권한은 기기에 네트워크 연결 구성을 설정하기 위한 것입니다. 별도의 회선을 구매하는 절차가 아니며, 시스템 인증 화면에 구독 비밀번호를 입력할 필요도 없습니다.
앞서 취소를 선택했다면 스위치가 켜진 상태를 유지하지 못해도 서버가 작동하지 않는다는 뜻은 아닙니다. 스위치를 다시 켜 권한 안내가 다시 나타나는지 확인합니다. 필요한 경우 시스템 설정에서 VPN을 검색해 기존 연결 구성과 현재 상태를 확인하세요. 문제를 확인하는 동안 다른 VPN 연결이 트래픽을 처리하지 않도록 일시 중지합니다. 기록 없이 기기의 구성을 한꺼번에 삭제하지 마세요.
권한 승인이 끝나면 Home으로 돌아가 상단 상태가 바뀌는지 기다립니다. 스위치를 켠 직후 다시 꺼지면 현재 화면에 머물러 안내 문구를 기록한 다음 시스템 권한과 서버 필드를 확인하세요. 이때 여러 항목을 연속으로 바꾸면 구성 문제인지 특정 연결 정보 문제인지 구분하기 어려워집니다.
기기에 VPN 상태 표시가 나타나면 시스템 연결 상태가 바뀌었다는 뜻입니다. 모든 요청이 PROXY를 사용하거나 구독에 포함된 모든 서버에 접속할 수 있다는 의미는 아닙니다. Global Routing이 Direct일 수 있고 Config가 일부 요청에 DIRECT를 사용할 수도 있습니다. 상태 표시 하나만으로 결론 내리지 말고 앱 연결을 유지한 채 다음 단계에서 테스트와 실제 접속을 함께 확인하세요.
이 단계를 마친 뒤에는 일단 On Demand를 켜지 마세요. 먼저 수동 연결, 연결 해제 및 재연결을 확인하세요. 나중에 필요에 따라 자동 연결을 설정하면 수동 조작과 자동 실행을 구분하기 쉽습니다.
확인: 테스트, 접속 및 규칙 기록
단계 04 · “연결됨”과 “요청이 예상대로 처리됨”을 따로 확인합니다.
Connectivity Test를 먼저 실행한 뒤 실제 접속 확인
연결을 유지한 상태에서 Home의 Connectivity Test를 사용합니다. 테스트는 현재 테스트 방법과 대상의 연결 가능 여부를 보여줄 뿐, 모든 웹사이트, 앱 또는 전송 방식이 정상임을 보장하지는 않습니다. 테스트에 응답이 있으면 브라우저에서 접속 가능하다고 알고 있는 페이지를 엽니다. 테스트가 시간 초과되더라도 결과를 먼저 기록하고 구독 전체가 작동하지 않는다고 바로 판단하지 마세요.
실제 접속을 확인할 때는 캐시로 인해 결과가 달라 보이지 않도록 새 페이지를 열거나 다시 로드하세요. 먼저 대상 하나를 테스트한 다음 용도가 다른 대상 하나를 추가로 테스트합니다. 한 번에 많은 페이지를 열지 마세요. 특정 대상만 실패하고 나머지는 정상이라면 앱을 바로 재설치하지 말고 대상 자체, 도메인 확인 또는 규칙이 다른지 살펴봅니다.
요청이 예상한 정책과 일치하는지 확인
분기 결과를 확인하려면 앱의 요청 기록 또는 Data에서 사용할 수 있는 기록 화면을 열어 방금 보낸 요청을 찾고 대상 도메인, 일치한 규칙 및 정책을 확인합니다. PROXY를 확인하려면 해당 요청이 PROXY를 사용했는지 확인해야 합니다. 기록에 DIRECT가 표시되면 Global Routing과 현재 구성을 다시 확인하세요. 화면에 충분한 정보가 표시되지 않으면 다음 단계에서 Diagnostics를 사용해 관련 진단 정보를 수집할 수 있습니다.
같은 대상을 짧게 비교 테스트하면 도움이 됩니다. 서버는 그대로 두고 Config에서 Proxy로만 바꿔 접속해 보세요. 결과가 달라지면 구성을 통한 분기를 먼저 확인해야 합니다. 두 모드에서 모두 실패하면 서버, 네트워크 및 대상의 연결 가능 여부를 계속 점검하세요. 비교를 마친 뒤 원래 모드로 복구하고 결과를 기록해 임시 테스트 모드가 계속 유지되지 않도록 합니다.
마지막으로 연결을 끈 다음 다시 켜고 접속을 한 번 더 확인합니다. 이렇게 하면 이전 캐시나 일시적인 상태로 성공한 것이 아닌지 확인할 수 있습니다. 수동 연결이 안정적인지 확인한 뒤 평소처럼 사용하세요. 자동 연결, 복잡한 규칙 및 추가 설정은 나중에 하나씩 적용할 수 있습니다.
Settings: 실패 단계별 문제 해결
문제가 발생하면 먼저 어느 단계에서 멈췄는지 확인한 뒤 Settings에서 관련 설정을 살펴봅니다. Test Method는 테스트 방식에 영향을 주고 Diagnostics는 진단에 사용됩니다. 두 기능 모두 올바른 서버 필드를 대신하지는 않습니다. 현상, 현재 네트워크, Global Routing 및 선택한 항목을 기록하세요. 조건 하나만 변경하고 다시 테스트해야 어떤 변경이 영향을 주었는지 알 수 있습니다.
가져온 뒤 서버가 나타나지 않음
Subscribe로 돌아가 링크 전체가 복사되었는지, 웹페이지 주소를 복사한 것은 아닌지, 공백이 포함되었는지, 구독이 아직 유효한지 확인합니다. 앱에 가져오기 실패가 표시되면 현재 네트워크에서 해당 주소에 접속할 수 있는지 먼저 확인합니다. 분석 실패가 표시되면 응답 내용 형식을 확인하세요. 필요한 경우 원본 정보를 제공한 곳에 링크 상태를 문의하고 링크를 공개 토론 공간에 게시하지 마세요. 구독 링크에는 접근 정보가 포함될 수 있으므로 비밀번호처럼 보호해야 합니다.
스위치가 켜진 상태를 유지하지 못함
먼저 시스템 VPN 구성 권한이 승인되었는지 확인한 다음 Type, Host, Port와 프로토콜에 필요한 필드를 점검합니다. 오류가 권한 승인 전, 연결 직후 또는 일정 시간 후에 발생하는지 살펴보세요. 다른 VPN이 실행 중이면 일시 중지한 뒤 다시 시도합니다. 기기가 회사나 학교에서 관리되는 경우 시스템 정책이 변경을 제한할 수 있으므로 기기 관리 지침을 따르고 관리 설정을 반복해서 삭제하지 마세요.
연결됨으로 표시되지만 페이지가 열리지 않음
Global Routing에서 실수로 Direct를 선택하지 않았는지 확인한 뒤 Connectivity Test와 실제 페이지 접속 결과를 비교합니다. 구성을 그대로 유지하고 Wi-Fi와 셀룰러 네트워크처럼 사용할 수 있는 다른 네트워크로 전환해 테스트하세요. 결과가 다르면 네트워크 조건을 함께 기록합니다. 일부 도메인만 실패하면 DNS와 일치한 규칙을 확인합니다. 두 모드에서 모두 실패하면 서버 상태, 인증 정보 및 대상의 연결 가능 여부를 우선 점검합니다.
접속은 되지만 분기가 예상과 다름
Config로 돌아가 방금 확인한 파일이 활성화되어 있는지 확인합니다. 범위가 넓은 규칙이 구체적인 규칙보다 앞에 있는지, FINAL이 마지막에 있는지, 규칙의 정책이 목적에 맞는지 살펴봅니다. 한 가지 일치 문제를 해결하려고 DNS, 프로토콜, 서버 및 모든 규칙을 동시에 변경하지 마세요. 먼저 도메인 하나로 재현한 뒤 요청 기록을 참고해 해당 규칙만 조정합니다.
도움을 요청할 때는 오류 문구, 재현 단계 및 시도한 비교 결과를 정리합니다. 스크린샷이나 진단 기록을 공유하기 전에 구독 링크, 비밀번호, 인증 필드 및 서버 접근 정보를 가리세요. 기록에는 접속한 도메인이 포함될 수도 있으므로 제출 전에 확인합니다. 구독, 네트워크 및 계정 문제는 유형별로 자주 묻는 질문을 참고하고 규칙 문법은 구성 전체 가이드를 확인하세요.
처음 연결을 마친 뒤 정상 작동하는 구성을 기록해 두세요. 이후 구독을 업데이트하거나 규칙을 조정하거나 On Demand를 켤 때도 “하나 변경하고, 한 번 테스트하고, 결과 기록하기” 순서로 진행합니다. 문제가 생기면 설치부터 다시 시작하지 않고 검증해 둔 설정으로 돌아갈 수 있습니다.