Shadowrocket의 연결 스위치는 트래픽을 앱이 처리할지 결정하고, Global Routing은 처리 대상 요청이 어떤 경로를 이용할지 정합니다. 이미 사용할 서버나 구독이 있고 Config, Proxy, Direct의 차이를 알고 싶은 사용자를 위해 세 가지 모드의 처리 범위를 살펴본 뒤, 같은 대상을 이용해 비교 테스트하고 평소 사용하는 Config로 복구하는 방법을 안내합니다. Proxy를 선택해도 사용할 서버가 자동으로 제공되지는 않으며, Direct를 선택해도 연결이 꺼지는 것은 아닙니다.
1. Global Routing과 연결 스위치의 역할
Home에서 Global Routing을 열어 요청의 라우팅 모드를 선택할 수 있습니다. Config는 설정에 따라 처리하고, Proxy는 프록시 경로를, Direct는 직접 연결 경로를 일괄 사용합니다. 여기서 ‘모든 트래픽’은 Shadowrocket이 처리하는 범위에 들어온 트래픽을 뜻합니다. 기기의 모든 시스템 통신을 예외 없이 처리한다는 의미는 아니며, 시스템 라우팅, 제외 항목, 실제 네트워크 환경에 따라 트래픽이 앱에 전달되는지는 달라질 수 있습니다.
연결 스위치와 라우팅 모드는 서로 다른 설정입니다. Global Routing에서 Proxy를 선택해도 연결 스위치가 꺼져 있으면 요청이 자동으로 프록시를 통과하지 않습니다. 반대로 연결이 켜져 있고 모드가 Direct라면 앱은 계속 작동할 수 있지만, 처리 대상 요청은 직접 연결을 이용합니다. 따라서 상태 표시줄의 VPN 표식만으로 특정 웹사이트에 프록시가 적용 중이라고 판단할 수 없습니다.
Global Routing에 Scene이 표시된다면, 이는 상황별 설정을 사용하는 모드로 이해해야 합니다. 별도의 프로토콜도 아니고 Config와 같은 의미도 아닙니다. 기본 모드 세 가지를 점검할 때는 Config, Proxy, Direct 중 하나를 명확히 선택해 Scene 전환이라는 변수를 제외하세요. 이 글에서는 Scene을 설정하지 않습니다.
2. Config·Proxy·Direct 차이와 사용 상황
Config
권장현재 활성화된 설정의 규칙에 따라 처리 방식을 선택합니다. 결과는 DIRECT, 프록시 정책 또는 설정에 정의된 다른 정책일 수 있습니다. 앞선 규칙에 일치하지 않은 요청은 보통 마지막의 FINAL에서 처리되므로, 모두 직접 연결된다고 단정할 수 없습니다.
적합한 경우: 설정 내용을 확인한 뒤 일상적으로 트래픽을 분기하거나, 대상별로 다른 경로를 지정할 때
Proxy
처리 범위에 들어온 요청을 Config의 개별 대상별 분기 결과 대신 프록시 경로로 통일합니다. 유효한 서버 정보와 사용 가능한 프록시 경로, 대상에 맞는 연결 기능은 여전히 필요합니다.
적합한 경우: 일시적으로 모든 요청을 프록시로 보내거나, Config와 비교해 규칙이 접속에 영향을 주는지 확인할 때
Direct
처리 범위에 들어온 요청을 선택한 프록시 서버로 전달하지 않고 직접 연결합니다. 대상에 접속할 수 있는지는 현재 로컬 네트워크에 따라 달라집니다. 앱이 꺼지거나 VPN 설정이 삭제된다는 뜻은 아닙니다.
적합한 경우: 로컬 네트워크와 비교하거나, 프록시 경로에서 문제가 발생하는지 확인할 때
설정이 필요에 맞는다는 전제에서 Config를 일상적인 기본값으로 사용하는 것이 좋습니다. Proxy가 ‘더 강력한 Config’인 것도, Direct가 ‘더 빠른 Config’인 것도 아닙니다. 세 모드는 경로 선택 방식을 바꿀 뿐 네트워크 문제를 자동으로 해결하지 않습니다. 특정 경로에서만 대상에 접속할 수 있다면 모드를 바꾼 뒤 결과가 달라질 수 있습니다. 이는 문제를 진단하는 단서일 뿐, 어느 모드가 항상 더 낫다는 뜻은 아닙니다.
Global Routing과 프로토콜은 서로 다른 개념입니다. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 연결 및 전송 기능을 설명하고, Config, Proxy, Direct는 요청이 어떤 경로를 선택할지 설명합니다. Proxy로 전환해도 서버 항목의 프로토콜이 바뀌거나 주소, 포트, 인증 정보가 교체되지는 않습니다.
3. Config의 규칙 확인하기: 순서와 FINAL
Config에서는 먼저 현재 활성화된 설정 파일을 확인한 다음 규칙을 살펴보세요. 규칙은 순서대로 적용되며, 앞에서 일치한 결과에 따라 요청이 이후 항목까지 확인되는지가 달라집니다. 도메인 규칙과 IP 규칙은 서로 다른 정보를 기준으로 매칭하고, DNS 해석 방식도 IP 규칙의 판단에 영향을 줄 수 있습니다. 목록에 규칙이 있다는 이유만으로 요청이 반드시 그 규칙에 일치한다고 볼 수는 없습니다.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,DIRECT
다음은 문법 설명을 위한 규칙 예시이며, 완전한 설정 파일이나 일상적인 트래픽 분기 구성은 아닙니다. 아직 정의되지 않은 프록시 정책 이름을 사용하지 않도록 모든 경로를 DIRECT로 지정했습니다. 특정 대상을 프록시로 보내려면 현재 설정에 실제로 존재하는 정책을 사용하고 구성원 서버를 사용할 수 있는지 확인하세요. 확인되지 않은 정책 이름을 그대로 붙여 넣지 마세요.
- DOMAIN-SUFFIX:
example.com은 해당 도메인과 하위 도메인(예:www.example.com)에 일치합니다. 이 문자열이 포함된 모든 도메인에 일치하는 것은 아닙니다. - IP-CIDR:
192.168.0.0/16은 IPv4 주소 범위를 나타냅니다. 예시의no-resolve는 이 IP 규칙을 위해 별도로 도메인을 해석하지 않는다는 뜻이며, 전역 DNS를 끈다는 의미는 아닙니다. - GEOIP:
GEOIP,CN,DIRECT는 IP의 지리적 위치 정보를 기준으로 매칭합니다. 페이지 내용, 도메인 접미사 또는 사용자의 현재 위치를 기준으로 판단하는 규칙이 아닙니다. - FINAL: 앞선 규칙에 일치하지 않은 요청을 처리합니다. 예시의 마지막 규칙은
FINAL,DIRECT이므로 나머지 요청은 직접 연결됩니다. 실제 설정에서 프록시 정책을 지정했다면 나머지 요청은 기본적으로 직접 연결되지 않습니다.
4. Home에서 모드 전환 후 재현 가능한 테스트하기
테스트 전에 기존 설정을 보존하고, 평소 접속할 수 있는 대상을 하나 정한 뒤 현재 네트워크가 Wi-Fi인지 모바일 네트워크인지 기록하세요. Global Routing만 바꾸고 나머지 조건은 가능한 한 그대로 유지합니다. 구독 업데이트, 서버 변경, DNS 수정 등을 동시에 하면 접속이 복구되더라도 어떤 변경이 효과를 냈는지 알기 어렵습니다.
- 서버 확인: Home에서 현재 선택된 서버를 확인합니다. 주소, 포트, 인증 정보가 사용자가 이미 보유한 유효한 설정에서 가져온 것인지 확인하고, 포트 번호만으로 프로토콜을 추측하지 마세요.
- 연결 확인: 연결 스위치를 켭니다. iPhone / iPad에서 처음 사용하는 경우 시스템 안내에 따라 VPN 설정 추가를 허용하세요. 그런 다음 Home에서 Connectivity Test를 실행하고 성공 또는 시간 초과 등 실제 결과를 기록합니다.
- Proxy 테스트: Home → Global Routing으로 이동해 Proxy를 선택합니다. 같은 대상을 새로 연결해 접속할 수 있는지 기록하세요. 이미 연결되어 재생 중인 기존 세션만 확인하지 마세요.
- Config 테스트: Global Routing으로 돌아가 Config를 선택한 뒤 같은 대상에 다시 접속합니다. Proxy에서는 정상인데 Config에서 문제가 발생하면 현재 활성화된 설정, 규칙 순서, FINAL, 정책 선택을 먼저 확인하세요.
- Direct 테스트: Direct를 선택한 뒤 새 연결을 다시 만들고 로컬 네트워크에서의 결과를 기록합니다. 테스트가 끝나면 Config로 복구하고 앞서 변경한 설정을 다시 확인하세요.
기존 연결이 계속 유지되면 이전 연결 상태가 적용될 수 있습니다. 모드를 바꾼 뒤 대상 페이지를 닫았다가 다시 열어 보세요. 필요하면 해당 앱의 기존 연결을 종료한 후 다시 시도합니다. Connectivity Test 결과는 지정된 테스트 대상과 방식에서의 연결 상태를 보여줄 뿐, 모든 웹페이지, 프로토콜, UDP 요청이 정상임을 보장하지 않습니다.
두 가지 비교 테스트: 로컬 네트워크와 규칙 요인 구분하기
Direct와 Proxy 비교
- 같은 네트워크와 같은 대상을 유지합니다.
- Direct는 정상이고 Proxy는 실패하는 경우: 프록시 서버 연결, 인증 정보, 출구 기능을 확인합니다.
- 둘 다 실패하는 경우: 규칙을 바로 수정하기보다 대상 자체와 로컬 네트워크부터 확인합니다.
Proxy와 Config 비교
- 서버와 테스트 대상을 그대로 유지합니다.
- Proxy는 정상이고 Config는 실패하는 경우: 일치한 규칙과 해당 규칙이 지정한 정책을 확인합니다.
- Config에서 사용하는 정책의 경로가 Proxy 테스트 때와 같은지 확인합니다.
비교 결과는 점검 범위를 좁히는 데 도움이 되지만 고장 원인을 직접 증명하지는 않습니다. 한 번에 하나만 바꾸고 같은 방법으로 다시 테스트하세요.
5. 자주 묻는 질문: 모드를 바꿔도 문제가 계속되는 이유
Proxy를 선택했는데도 접속되지 않는 이유는 무엇인가요?
먼저 Home으로 돌아가 연결 스위치가 켜져 있는지, 올바른 서버가 선택되어 있는지 확인한 다음 Connectivity Test를 실행하세요. Proxy는 연결 경로만 지정하며 잘못된 비밀번호, 만료된 인증 정보, 접속할 수 없는 서버 주소를 수정하지 않습니다. 테스트는 성공했는데 특정 웹사이트만 접속되지 않는다면 대상, DNS, 해당 연결의 전송 방식을 확인하세요.
Direct에서 인터넷이 되는데 연결이 적용되지 않은 건가요?
Direct는 로컬 네트워크를 통해 직접 연결하므로 인터넷에 접속되는 것은 정상일 수 있습니다. Home → Global Routing에서 현재 선택된 모드를 확인한 다음 Proxy로 바꾸고 같은 대상에 새로 연결해 비교하세요. 웹페이지가 열린다는 사실만으로 프록시가 적용되었다고 판단하지 마세요.
Proxy는 정상이고 Config는 실패합니다. 규칙을 전부 삭제해야 하나요?
규칙을 먼저 삭제할 필요는 없습니다. Config에서 활성화된 파일을 확인하고 대상과 관련된 DOMAIN-SUFFIX, IP-CIDR, GEOIP 및 마지막의 FINAL을 살펴본 다음, 일치한 정책에 포함된 서버를 확인하세요. 기존 설정은 보존하고 문제가 확인된 항목만 수정하면 복구와 재테스트가 쉽습니다.
Direct로 전환했는데 잠시 후 다시 자동 연결되는 이유는 무엇인가요?
Direct는 연결을 끄는 모드가 아닙니다. Settings → On Demand에서 조건에 따른 자동 연결이 설정되어 있는지 확인하세요. 수동 연결 동작을 확인하려면 관련 조건을 잠시 끈 뒤 테스트할 수 있습니다. 기존 설정을 기록하고 테스트 후 복구하세요. On Demand의 연결 실행 조건과 Global Routing의 경로 선택은 서로 다른 기능입니다.
구독을 업데이트하면 Config 규칙도 자동으로 적절하게 바뀌나요?
서버 구독 업데이트와 규칙 설정은 별개의 작업입니다. 기존 구독을 업데이트한 뒤 Home으로 돌아가 서버 목록과 현재 선택을 확인하고, Config에서 활성화된 파일도 확인하세요. 서버 목록에 항목이 추가되었다고 해서 DOMAIN-SUFFIX나 FINAL까지 바뀌었다고 볼 수는 없습니다.
6. 일상 사용을 위한 복구 확인 및 다운로드
일상적으로 Config를 기본값으로 사용한다는 것은 아무 설정 파일이나 무작정 유지하는 것이 아니라, 확인한 규칙에 경로 선택을 맡긴다는 뜻입니다. 점검을 위해 Proxy나 Direct로 잠시 전환했다면 Config로 되돌리고 선택된 서버, 정책 구성원, On Demand 설정이 예상대로인지 확인하세요. 업무용 네트워크나 LAN 서비스에 접속할 때는 실제로 어떤 규칙에 일치하는지도 확인해야 합니다. 웹페이지 한 번을 테스트한 결과만으로 모든 접속이 정상이라고 판단하지 마세요.
- Home: 서버 선택, 연결 스위치, 현재 Global Routing 모드를 확인하고 Connectivity Test를 다시 실행합니다.
- Config: 활성화된 파일, 주요 도메인 규칙, FINAL을 확인하고 복구할 수 있도록 변경 전 사본을 보관합니다.
- Settings → On Demand: 연결 조건을 확인해 테스트 중 자동 설정이 연결 동작에 영향을 주지 않도록 합니다.
- 테스트 기록: 네트워크 종류, 모드, 대상, 결과를 기록합니다. 기록을 공유할 때는 구독 주소, 인증 정보 및 기타 민감한 내용을 숨기세요.
Shadowrocket은 클로즈드 소스 상용 앱이며, 앱을 다운로드하는 것과 사용자가 보유한 네트워크 서비스를 이용하는 것은 별개의 일입니다. 이 사이트는 서버나 구독을 제공하거나 판매 또는 추천하지 않습니다. iPhone / iPad 버전은 App Store에서 $2.99에 한 번 구매할 수 있으며, Mac(Apple 실리콘 및 Intel), Windows, Android, Linux 버전은 무료입니다. iPhone / iPad의 시스템 요구 사항은 App Store 페이지를 확인하세요. 앱을 확인할 때 개발자 Shadow Launch Technology Limited와 앱 ID 932747118도 확인할 수 있습니다.
설치하거나 기기를 변경하려면 이 사이트의 다운로드 안내에서 플랫폼을 선택하세요. Mac은 ‘이 Mac에 관하여’에서 Apple 실리콘 또는 Intel을 먼저 확인합니다. 다른 플랫폼도 기기의 운영체제에 맞는 설치 파일을 선택하세요. 설치한 뒤에는 이 글의 순서에 따라 연결 스위치와 Global Routing을 확인하고 같은 대상을 테스트하세요. 앱을 설치했다고 해서 사용할 수 있는 프록시 경로까지 확보되는 것은 아닙니다.