이 글은 Shadowrocket을 처음 사용하며 클라이언트는 열 수 있지만 각 메뉴의 역할이 헷갈리는 사용자를 위한 안내입니다. 네 개의 하단 탭, Global Routing의 네 가지 방식, 주요 규칙 전략 용어와 Add Server, Subscribe, On Demand의 사용 위치를 확인할 수 있습니다.
먼저 네 개의 하단 탭 이해하기
Shadowrocket의 하단 탐색 메뉴는 보통 Home, Config, Data, Settings로 구성됩니다. 이는 네 가지 연결 모드가 아니라 네 개의 관리 영역입니다. Home은 서버 선택과 연결 제어, Config는 구성 파일과 규칙, Data는 트래픽 기록, Settings는 클라이언트 동작을 관리합니다. 설정 위치를 찾을 때는 연결 대상, 분기 규칙, 통계 데이터, 앱 동작 중 어디에 해당하는지 먼저 확인하세요.
Home은 가장 자주 사용하는 화면입니다. 연결 스위치, 현재 서버, Global Routing, 서버 목록과 지연 시간 테스트 결과를 확인할 수 있습니다. 연결 스위치는 현재 네트워크 연결을 시작하거나 중지할 뿐이며, 어떤 서버를 사용할지와 규칙에 따라 분기할지는 현재 선택 항목과 Global Routing에 따라 결정됩니다.
Home: 연결 메뉴와 현재 상태
서버 목록의 각 행은 이미 가져왔거나 직접 추가한 연결 항목을 나타냅니다. 한 행을 선택하면 해당 항목이 현재 사용 대상으로 지정됩니다. 지연 시간은 테스트 요청의 응답 시간일 뿐 웹페이지 로딩 속도나 전송 대역폭을 의미하지 않습니다. 지연 시간이 비어 있거나 시간 초과가 발생하거나 수치가 높다면 테스트 방식, 서버 가용성, 현재 로컬 네트워크를 각각 확인해야 합니다.
Home 오른쪽 위의 “+”는 Add Server에 사용됩니다. 자체 서비스 제공업체의 연결 정보를 보유한 경우 자료에 따라 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard 등의 Type을 선택한 뒤 Address, Port, Password, UUID, Public Key 등 해당 필드를 입력할 수 있습니다. 프로토콜마다 필요한 필드가 다르므로 한 프로토콜의 매개변수를 다른 Type에 그대로 입력하면 안 됩니다.
Config: 서버 목록이 아닌 규칙 파일
Config 페이지에는 분기에 사용하는 구성 파일이 저장됩니다. 구성 파일에는 규칙, DNS 동작 및 전략 참조가 포함될 수 있으며 서버 항목은 주로 Home에 있습니다. 서버는 연결되지만 일부 도메인이 예상과 다르게 연결된다면 서버를 반복해서 삭제하기보다 Config에서 현재 활성화된 파일과 규칙 순서를 먼저 확인하세요.
- Home: 서버 선택, 지연 시간 테스트, 연결 전환, Global Routing 변경.
- Config: 분기 구성을 선택·관리하고 규칙 적용 순서를 확인합니다.
- Data: 업로드, 다운로드, 연결 요청 및 트래픽 변화를 확인합니다.
- Settings: DNS, On Demand, Subscribe 업데이트 및 진단 옵션을 조정합니다.
Global Routing: Config, Proxy, Direct, Scene의 차이
Global Routing은 트래픽에 우선 적용할 전체 처리 방식을 결정합니다. Home 페이지에 있으며, 이름의 Global은 전체 라우팅 결정을 의미할 뿐 특정 서버를 선택한다는 뜻은 아닙니다. 일반적인 옵션은 Config, Proxy, Direct, Scene이며, 변경하면 새 연결이 선택한 방식에 따라 처리됩니다.
Config는 현재 구성 파일을 읽고 규칙에 따라 하나씩 판단합니다. 도메인이 DOMAIN-SUFFIX에 일치하면 Proxy로 보낼 수 있고, 로컬 네트워크 IP가 IP-CIDR에 일치하면 Direct로 처리할 수 있으며, 광고 도메인은 명시적인 규칙에 따라 Reject할 수도 있습니다. 규칙은 보통 위에서 아래로 일치 여부를 확인하고 먼저 일치한 결과를 우선하므로 더 구체적인 규칙을 포괄적인 규칙보다 앞에 배치해야 합니다.
Config
권장현재 구성 파일을 읽고 DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL 등의 규칙에 따라 전략을 결정합니다.
적합한 경우: 도메인과 네트워크 범위에 따라 일상적으로 분기할 때
Proxy
가로챌 수 있는 트래픽을 현재 프록시 경로로 통일하며, 일반 분기 규칙에 따라 Direct를 결정하지 않는 경우가 많습니다.
적합한 경우: 규칙이 접속 결과에 차이를 만드는지 임시로 확인할 때
Direct
트래픽을 현재 서버를 거치지 않고 대상에 직접 연결합니다. 연결 스위치는 켜져 있을 수 있지만 라우팅 결과는 Direct입니다.
적합한 경우: 로컬 네트워크의 직접 연결 결과와 비교할 때
Scene
미리 설정된 Scene에 따라 네트워크 환경별로 해당 동작을 적용하며, 구체적인 결과는 Scene 내용에 따라 달라집니다.
적합한 경우: 네트워크 환경에 따라 사전 설정된 방식을 전환할 때
Proxy, Direct, Reject: 전략 용어는 최종 동작을 나타냅니다
Proxy, Direct, Reject는 규칙 끝부분이나 Log 또는 연결 기록에 자주 표시됩니다. 이 용어는 조건에 일치한 뒤 어떻게 처리할지를 나타내며, DOMAIN-SUFFIX, GEOIP, IP-CIDR은 어떤 조건으로 일치시킬지를 나타냅니다. 조건과 동작은 서로 다른 개념이므로 규칙을 읽을 때 쉼표로 구분된 위치를 기준으로 구별해야 합니다.
Proxy는 일치한 연결을 프록시 전략에 전달한다는 뜻이고, Direct는 대상에 직접 연결한다는 뜻이며, Reject는 해당 요청을 거부한다는 뜻입니다. Reject는 연결 장애 알림이 아닙니다. 특정 도메인이 명시적인 규칙에 의해 Reject에 일치했다면 접속되지 않는 것이 해당 규칙의 의도된 결과입니다. 접속을 복구하려면 DNS를 바꿔 반복 시도하기보다 해당 규칙을 찾아 조정해야 합니다.
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN,local.example.com,DIRECT
GEOIP,CN,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
DOMAIN,ads.example.com,REJECT
FINAL,PROXY
첫 번째 행은 example.com과 그 하위 도메인을 일치시켜 Proxy로 전달합니다. 두 번째 행은 완전한 도메인인 local.example.com만 일치시킵니다. 세 번째 행은 GEOIP 데이터로 IP 범위를 판단합니다. 네 번째 행은 192.168.0.0/16 사설 네트워크를 일치시키며 no-resolve를 사용해 이 IP 규칙에 대한 추가 도메인 조회를 방지합니다. 다섯 번째 행은 지정한 도메인을 명시적으로 거부하고, FINAL은 앞선 모든 규칙에 일치하지 않은 연결을 처리합니다.
| 인터페이스 용어 또는 키워드 | 기능 | 확인할 핵심 사항 |
|---|---|---|
| DOMAIN | 완전한 도메인 일치 | 명시된 호스트 이름만 처리 |
| DOMAIN-SUFFIX | 도메인 접미사 일치 | 같은 접미사의 하위 도메인에도 적용 가능 |
| GEOIP | 대상 IP의 지리 데이터베이스를 기준으로 일치 | 조회된 대상 IP와 데이터 내용에 따라 달라짐 |
| IP-CIDR | IP 대역을 기준으로 일치 | 예: 192.168.0.0/16, 슬래시 뒤 숫자는 접두사 길이를 의미 |
| FINAL | 앞선 규칙에 일치하지 않은 연결 처리 | 일반적으로 규칙 마지막에 배치 |
Add Server와 Subscribe: 두 가지 가져오기 메뉴
Add Server는 연결 정보를 새로 추가할 때 사용하고, Subscribe는 사용자가 이미 보유한 구독 주소를 저장할 때 사용합니다. 둘 다 Home 오른쪽 위의 “+”에서 시작할 수 있지만 결과는 다릅니다. 직접 추가하면 보통 단일 서버 항목이 생성되고, Subscribe를 업데이트하면 해당 주소가 반환하는 여러 항목이 생성될 수 있습니다. Shadowrocket에는 회선 서비스가 포함되지 않으며, 클라이언트를 일회성으로 구매했다고 해서 서버나 구독이 제공되는 것도 아닙니다.
Subscribe를 추가할 때는 사용자의 자체 서비스 제공업체가 발급한 링크를 사용해야 합니다. 입력 형식 예시는 https://example.com/sub?token=xxxx처럼 작성할 수 있지만, 이는 형식 예시일 뿐 사용할 수 있는 내용이 반환되지는 않습니다. 실제 링크는 연결 자격 정보이므로 스크린샷, 공개 로그 또는 공유 문서에 노출하지 마세요.
추가 화면 열기
Home으로 이동해 오른쪽 위의 “+”를 누르고 Add Server 페이지를 엽니다.
Type 선택
단일 연결은 보유한 정보에 맞는 프로토콜을 선택하고, 구독 주소는 Type을 Subscribe로 선택합니다.
필수 항목 입력
Subscribe에는 URL과 메모를 입력하고, 직접 연결에는 Address, Port 및 프로토콜에서 요구하는 인증 필드를 입력합니다. 예를 들어 서버 Port는 제공된 정보에 따라 443으로 입력할 수 있습니다.
저장 및 업데이트
저장한 뒤 Home으로 돌아갑니다. 구독 항목은 아래로 당겨 새로 고치거나 해당 Update 작업을 통해 최신 내용을 가져올 수 있습니다.
선택 후 테스트
항목을 선택하고 지연 시간 테스트를 실행한 다음 연결을 켭니다. 지연 시간 결과가 있다는 것은 테스트 경로가 응답했다는 뜻일 뿐 모든 도메인 규칙이 올바르게 적용되었다는 의미는 아닙니다.
Data와 Log: 통계와 진단은 다릅니다
Data는 주로 사용 중인 트래픽 변화를 확인하는 데 사용됩니다. 업로드와 다운로드 수치는 연결에서 데이터가 발생했는지 판단하는 데 도움이 되지만, 특정 규칙이 Proxy인지 Direct인지 단독으로 입증하지는 못합니다. 카운터가 증가했다면 네트워크 전송이 있었다는 뜻일 뿐이며, 구체적인 도메인·대상 주소·전략 결과를 확인하려면 Log 또는 Connectivity Test를 함께 확인해야 합니다.
Log는 연결별 문제를 확인하는 도구입니다. 기록에는 도메인, 대상 IP, Port, 일치한 규칙 및 최종 전략이 자주 표시됩니다. HTTPS 사이트에 접속할 때 대상 Port는 보통 443이지만 실제 Port는 대상 서비스에 따라 달라집니다. 기록에 특정 도메인이 DOMAIN-SUFFIX에 일치한 뒤 DIRECT로 처리되었다면 Home의 서버 지연 시간만 확인하지 말고 Config에서 해당 규칙을 다시 확인해야 합니다.
증상으로 확인 위치 추정하기
- Data에 뚜렷한 변화가 없음: 연결 스위치, 현재 네트워크 및 앱이 실제로 요청을 보냈는지 확인합니다.
- Data에 트래픽은 있지만 대상이 열리지 않음: Log에서 도메인, Port, 전략 및 오류가 발생한 단계를 확인합니다.
- 일부 도메인만 이상함: Config에서 DOMAIN, DOMAIN-SUFFIX와 FINAL의 순서를 확인합니다.
- 로컬 네트워크 기기에 접속할 수 없음: 해당 IP-CIDR 규칙이 있는지와 최종 동작이 Direct인지 확인합니다.
- Direct로 전환하면 복구됨: 서버 매개변수, 현재 전략 및 DNS 조회 경로를 중점적으로 확인합니다.
Settings: On Demand, DNS 및 구독 동작
Settings는 클라이언트 수준의 동작을 관리합니다. 주요 메뉴에는 On Demand, DNS, Subscribe 관련 옵션, Connectivity Test 및 로그 설정이 있습니다. 이곳의 스위치는 모든 연결에 영향을 줄 수 있으므로 변경 전에 기존 상태를 기록하고 한 번에 한 항목만 바꾼 뒤 같은 웹사이트와 같은 로컬 네트워크에서 다시 테스트하세요.
On Demand는 조건에 따라 연결을 자동으로 시작할 때 사용합니다. 정확한 경로는 Settings → On Demand입니다. 활성화한 뒤에도 규칙 조건과 현재 네트워크 환경을 확인해야 합니다. 전체 스위치만 켜고 적절한 조건을 설정하지 않았다면 네트워크가 바뀔 때마다 예상대로 연결된다는 뜻은 아닙니다. 자동 연결을 점검할 때는 ‘실행되지 않음’, ‘실행됐지만 연결 실패’, ‘연결됐지만 규칙이 Direct로 처리됨’을 구분해야 합니다.
설정으로 이동
하단의 Settings를 열고 On Demand로 이동합니다.
전체 스위치 확인
On Demand가 활성화되어 있는지 확인하고 실행할 조건이 설정되어 있는지 확인합니다.
네트워크 전환 후 재테스트
정상적으로 사용할 수 있는 Wi-Fi와 셀룰러 네트워크 사이를 전환하며 조건에 따라 연결 상태가 바뀌는지 확인합니다.
라우팅 확인
Home으로 돌아가 Global Routing을 확인합니다. Direct라면 연결이 실행되었더라도 접속 결과는 직접 연결처럼 나타날 수 있습니다.
기록 확인
Log를 통해 조건 미실행, 서버 연결 오류, DNS 조회 실패 또는 규칙 일치 이상을 구분합니다.
DNS는 도메인을 IP 주소로 조회합니다. 서버 지연 시간은 표시되지만 도메인을 입력해도 열리지 않고, 알려진 IP에 직접 접속했을 때 결과가 다르다면 DNS를 점검 항목 중 하나로 확인할 수 있습니다. 서버, Global Routing, DNS와 구성 파일을 동시에 바꾸면 어떤 변경이 효과를 냈는지 판단할 수 없으므로 피하세요.
Home 스위치를 켰는데 왜 직접 연결되나요?
Home → Global Routing을 확인하세요. 현재 Direct라면 연결 스위치가 켜져 있어도 트래픽은 Direct로 처리됩니다. 규칙에 따라 분기하려면 Config로 전환하고 올바른 구성 파일이 선택되어 있는지 확인하세요.
Proxy와 Config 중 어느 것을 선택해야 하나요?
서로 다른 도메인과 네트워크 대역을 일상적으로 구분해야 한다면 Config를 사용합니다. Proxy는 특정 Direct 규칙 때문에 문제가 생겼는지 확인하는 등 짧은 비교 테스트에 적합합니다.
지연 시간은 정상인데 웹페이지가 열리지 않으면 어떻게 하나요?
먼저 Log에 대상 도메인 기록이 생성되었는지 확인한 다음 일치한 전략, 대상 Port 및 DNS 결과를 확인하세요. 지연 시간 테스트가 정상이라는 것은 테스트 요청에 응답이 있었다는 뜻일 뿐입니다.
구독을 저장했는데 왜 서버가 표시되지 않나요?
Home으로 돌아가 아래로 당겨 새로 고치거나 해당 Update 작업을 실행하고 URL이 완전한지 확인하세요. 시간 초과가 표시되면 현재 네트워크, 연결 상태 및 Settings의 Subscribe 업데이트 동작을 다시 확인하세요.
Reject는 서버 오류인가요?
아닙니다. Reject는 규칙에서 명시한 거부 동작입니다. Config에서 일치한 DOMAIN 또는 DOMAIN-SUFFIX 규칙을 찾아 해당 결과가 구성 목적에 맞는지 확인하세요.
인터페이스 용어를 하나의 전체 작업 흐름으로 이해하기
전체 작업은 다음 순서로 이해할 수 있습니다. Home에서 Add Server 또는 Subscribe로 보유한 연결 정보를 추가하고 서버를 선택합니다. Config에서 분기에 사용할 구성 파일을 선택한 뒤 Home으로 돌아가 Global Routing을 Config로 설정합니다. 연결을 켠 후 Data에서 트래픽을 확인하고 Log에서 DOMAIN-SUFFIX, IP-CIDR 또는 FINAL이 Proxy, Direct, Reject 중 무엇에 일치했는지 확인합니다. 자동 실행이 필요하면 Settings → On Demand에서 조건을 설정합니다.
이 흐름은 문제 해결에도 적용됩니다. Home은 ‘연결 여부와 선택한 대상’, Config는 ‘적용할 규칙’, Data는 ‘트래픽 발생 여부’, Log는 ‘구체적인 요청 결과’, Settings는 ‘클라이언트 수준 동작 설정’을 보여줍니다. 계층별로 확인하면 규칙 문제를 서버 문제로 잘못 판단하는 일을 줄일 수 있고, Direct의 의도된 결과를 연결이 적용되지 않은 것으로 오해하는 것도 피할 수 있습니다.
- 연결 대상이 잘못됨: Home에서 현재 선택한 항목과 프로토콜 필드를 확인합니다.
- 분기 방향이 잘못됨: Global Routing과 Config의 규칙 순서를 확인합니다.
- 자동 연결이 잘못됨: Settings → On Demand의 스위치와 조건을 확인합니다.
- 구독 내용이 바뀌지 않음: Update를 실행하고 Subscribe 주소와 업데이트 네트워크를 확인합니다.
- 특정 요청이 실패함: Log의 도메인, IP, Port, 전략 및 오류 정보를 단계별로 확인합니다.
Shadowrocket은 Apple 플랫폼용 클로즈드 소스 상용 앱입니다. 주로 iPhone과 iPad에서 사용하며, Mac, Apple TV 및 Apple Vision의 호환 여부는 같은 App Store 제품 페이지에서 확인할 수 있습니다. 시스템 요구 사항은 App Store 페이지의 표기를 기준으로 합니다. 유일한 공식 획득 경로는 App Store이며, 확인할 때 개발자명 Shadow Launch Technology Limited와 앱 ID 932747118을 확인할 수 있습니다.