Shadowrocket 공식 매뉴얼

Shadowrocket 용어 가이드

화면 위치와 설정 용도에 따라 용어를 찾아보세요. 먼저 ‘연결 여부’, ‘연결 대상’, ‘요청의 트래픽 분할 방식’을 구분한 다음 각 항목을 확인하세요. 인터페이스 용어, 프로토콜 이름 및 규칙 키워드는 영어 원문으로 표기합니다.

이 페이지는 사용자가 기존 구독 또는 서버 정보를 보유하고 있다는 전제로 작성했습니다. 용어 설명은 설정을 이해하는 데 도움을 주며 실제 매개변수를 대신하지 않습니다. 처음 설정한다면 빠른 시작을, 전체 규칙 문법은 설정 항목을 확인하세요.

개념 5개 용어 30개 규칙 및 설정 참고

인터페이스와 스위치

각 인터페이스 항목은 서로 다른 기능을 담당합니다. Global Routing은 전체 처리 방식을 제어하고, On Demand는 연결을 시작하는 조건을 제어합니다. 두 기능은 같은 스위치가 아닙니다.

Home

서버, 구독 그룹 및 연결 상태를 확인하는 주요 화면이며, 현재 선택된 서버를 확인하는 출발점이기도 합니다. 목록에 서버가 보인다는 것은 정보가 가져와졌다는 뜻일 뿐, 연결이 활성화되었다는 뜻은 아닙니다. 문제를 해결할 때는 먼저 선택 항목을 확인하고 연결 스위치와 Global Routing을 점검해 세 가지 상태를 혼동하지 않도록 하세요.

Global Routing

전체 라우팅 방식을 제어합니다. 일반적인 옵션은 Config, Proxy, Direct 세 가지입니다. Config는 현재 설정의 규칙에 따라 트래픽을 분할하고, Proxy는 프록시 방식, Direct는 직접 연결 방식으로 처리합니다. 이 라우팅 방식은 개별 규칙 끝에 지정하는 PROXY, DIRECT 정책과 서로 다른 단계입니다. 규칙을 확인하기 전에 Config 상태인지 먼저 점검하세요.

On Demand

미리 지정한 네트워크 조건에 따라 연결을 시작해 연결 스위치를 반복해서 조작할 필요를 줄이는 기능입니다. 연결을 언제 시도할지는 결정하지만, 특정 도메인에 PROXY와 DIRECT 중 어느 정책을 적용할지는 결정하지 않습니다. 직접 연결을 끊은 뒤 다시 연결된다면 On Demand 조건과 시스템의 관련 연결 설정을 확인하세요.

Add Server

서버 정보를 직접 입력하는 화면으로, 필요한 서버 정보 전체를 이미 보유한 경우에 사용합니다. 해당 프로토콜을 선택한 뒤 주소, 포트 및 인증 항목을 입력하세요. 전송 방식과 TLS 매개변수도 서비스 제공자가 안내한 정보와 일치해야 합니다. 주소와 포트만 정확히 입력해도 다른 필수 항목이 빠져 있으면 연결되지 않을 수 있습니다.

Connectivity Test

서버에 연결할 수 있는지 점검하는 진단 기능입니다. 결과는 현재 테스트 방식과 네트워크 환경을 기준으로 합니다. 테스트에 성공해도 모든 웹사이트의 DNS, 규칙 매칭 및 앱 요청이 정상이라는 뜻은 아니며, 실패한 경우에도 테스트 방식을 함께 고려해야 합니다. 지연 시간 하나만 비교하지 말고 실제 접속 현상과 테스트 결과를 함께 기록하세요.

Settings

앱 환경설정과 관련 동작을 조정하는 화면입니다. 구독 목록이나 현재 활성화된 설정 파일과는 다릅니다. 문제가 생기면 먼저 기존 값을 기록하고, 증상과 관련된 옵션 하나만 바꾼 뒤 같은 테스트를 다시 실행하세요. 플랫폼에 따라 화면이 다를 수 있으므로 현재 기기에 표시된 영어 이름을 기준으로 메뉴를 찾으세요.

프록시 프로토콜

프로토콜은 클라이언트와 서버가 통신하는 방식을 규정합니다. 프로토콜 이름만으로 연결 매개변수를 알 수 없으며 속도나 안정성이 보장되는 것도 아닙니다. 가져온 뒤에도 전송 및 인증 정보를 확인해야 합니다.

Shadowsocks

프록시 프로토콜의 하나로, 일반적인 매개변수에는 서버 주소, 포트, 암호화 방식 및 비밀번호가 있습니다. 암호화 방식은 프로토콜 설정의 일부이므로 이름이 비슷하다는 이유로 임의로 바꾸면 안 됩니다. 정보 출처에서 추가 전송 매개변수를 제공했다면 함께 확인하세요. 주소와 비밀번호가 같아도 다른 항목이 다르면 연결에 실패할 수 있습니다.

VMess

사용자 식별 정보와 관련 매개변수로 인증하는 프록시 프로토콜이며, 설정에는 UUID 등의 항목이 자주 포함됩니다. VMess는 프로토콜 계층의 이름일 뿐 실제 연결에는 여러 전송 방식과 TLS 설정이 사용될 수 있습니다. 가져온 뒤 UUID만 확인하지 말고 서버 정보를 전체적으로 점검하세요. 기기 시간이 맞지 않아도 인증에 영향을 줄 수 있습니다.

VLESS

프록시 프로토콜의 하나로, 프로토콜 이름 자체가 암호화된 전송을 의미하지는 않습니다. 서버에서 특정 전송 계층, 보안 매개변수 또는 관련 항목을 요구할 수 있으므로 해당 설정을 함께 확인해야 합니다. VMess 설정에서 유형 이름만 VLESS로 바꿔 사용할 수는 없습니다. 기존 서버에서 실제로 제공한 매개변수를 기준으로 설정하세요.

Trojan

일반적으로 TLS를 통해 프록시 통신을 전달하는 프로토콜입니다. 비밀번호는 인증에, TLS 매개변수는 보안 연결을 설정하고 검증하는 데 사용됩니다. 서버 주소와 SNI는 같을 수도, 서비스 제공자가 서로 다른 값으로 지정할 수도 있으므로 추측해서 입력하지 마세요. 인증서 검증에 실패하면 먼저 도메인, 기기 시간 및 제공된 매개변수를 확인하세요. 검증을 끄는 것은 일반적인 해결 방법이 아닙니다.

Hysteria2

QUIC 기반 프록시 프로토콜이며 통신에 UDP를 사용하므로 현재 네트워크에서 해당 UDP 트래픽을 허용하는지가 연결에 영향을 줍니다. 인증 정보, 서버 이름 및 TLS 설정도 정확히 일치해야 합니다. 한 네트워크에서는 연결되지만 다른 네트워크에서는 되지 않는다면 비밀번호만 반복해서 바꾸지 말고 네트워크 조건도 함께 확인하세요.

WireGuard

키를 사용해 암호화 터널을 구성하는 프로토콜입니다. 일반적인 매개변수에는 클라이언트 개인 키, 피어 공개 키, 엔드포인트 및 터널 주소가 있습니다. 각 항목의 역할은 다르므로 개인 키와 공개 키를 서로 바꾸거나 엔드포인트를 터널 내부 주소와 혼동하면 안 됩니다. 개인 키는 민감 정보이므로 문제 해결을 위해 캡처 화면을 공유할 때 먼저 가리고, 가져온 정보가 본인의 설정 출처에서 나온 것인지 확인하세요.

HTTP / SOCKS5

서로 다른 두 프록시 프로토콜입니다. 서버에서 지원하는 유형을 선택해야 하며 주소와 포트가 같다고 서로 바꿔 쓸 수는 없습니다. 일부 서버는 사용자 이름과 비밀번호가 필요하며 인증 여부는 서버 설정에 따라 달라집니다. 프로토콜 이름만으로 클라이언트와 프록시 서버 사이의 전송이 암호화되었는지 알 수 없으므로 실제 연결 방식을 함께 확인해야 합니다.

규칙 키워드

키워드는 매칭 조건을 설명하고, 줄 끝의 정책은 매칭 후 수행할 작업을 지정합니다. 아래 도메인과 네트워크 대역은 문법 설명용이며 실제 서비스 매개변수로 사용할 수 없습니다.

DOMAIN

지정한 도메인과 정확히 일치시키는 규칙입니다. 예를 들어 DOMAIN,example.com,PROXY는 해당 도메인에만 적용됩니다. www.example.com 등의 하위 도메인은 자동으로 포함하지 않으므로 단일 호스트 이름으로 적용 범위를 제한할 때 적합합니다. 규칙의 도메인에는 프로토콜 접두사, 포트 또는 웹페이지 경로를 넣지 마세요. 이들은 도메인 자체에 포함되지 않습니다.

DOMAIN-SUFFIX

도메인 접미사를 기준으로 매칭합니다. 예를 들어 DOMAIN-SUFFIX,example.com,PROXY는 example.com과 그 하위 도메인에 적용됩니다. 같은 도메인 계열을 처리할 때 적합하지만 다른 도메인을 사용하는 관련 리소스까지 자동으로 포함하지는 않습니다. 특정 하위 도메인에 예외를 적용하려면 더 구체적인 DOMAIN 규칙을 앞에 배치하세요.

DOMAIN-KEYWORD

도메인에 지정한 문자열이 포함되어 있는지 확인합니다. 예를 들어 DOMAIN-KEYWORD,ads,REJECT는 도메인에 해당 문자열이 포함된 요청과 매칭됩니다. 웹페이지 내용이나 전체 URL을 검색하는 기능이 아니며, 예상보다 넓은 범위에 적용될 수 있습니다. 차단하기 전에 실제로 매칭되는 도메인을 확인하고, 정확한 도메인으로 표현할 수 있다면 조건을 더 좁게 설정하세요.

GEOIP

IP 지리 데이터베이스의 지역 정보를 기준으로 대상을 매칭합니다. 예를 들어 GEOIP,CN,DIRECT는 해당 지역으로 분류된 주소를 처리합니다. 웹사이트가 사용하는 언어, 회사 소재지 또는 페이지 내용을 판별하는 규칙은 아닙니다. 결과는 대상의 IP 주소와 데이터베이스 정보에 따라 달라지므로 네트워크나 DNS 결과가 다르면 같은 웹사이트도 다른 조건에 매칭될 수 있습니다.

IP-CIDR / IP-CIDR6

IPv4 및 IPv6 네트워크 대역을 각각 기준으로 매칭하며, 대역 뒤의 접두사 길이가 주소 범위를 결정합니다. 예시인 IP-CIDR,192.0.2.0/24,DIRECT는 문서용 네트워크 대역으로 작성법을 설명하므로 실제 규칙으로 그대로 사용하면 안 됩니다. 이런 규칙을 확인할 때는 IPv4와 IPv6를 모두 고려하세요. 한 주소 계열만 처리하면 실제 요청이 누락될 수 있습니다.

USER-AGENT

요청에서 확인할 수 있는 User-Agent 정보를 기준으로 매칭하여 해당 요청 특성이 있는 트래픽을 구분합니다. 앱 이름으로 트래픽을 분할하는 범용 기능이 아니며, 모든 암호화 요청에서 매칭에 필요한 항목을 확인할 수 있는 것도 아닙니다. 규칙이 매칭되지 않으면 문자열만 바꾸지 말고 클라이언트에서 해당 정보를 가져올 수 있는지 먼저 확인하세요.

FINAL

앞선 규칙에 매칭되지 않은 요청을 처리하는 규칙 목록의 기본 항목입니다. FINAL,PROXY는 나머지 요청을 PROXY로 보내고, FINAL,DIRECT는 DIRECT로 보냅니다. 일반적으로 목록 마지막에 배치해야 합니다. 구체적인 규칙보다 앞에 두면 뒤에 있는 규칙이 해당 요청을 처리할 수 없습니다.

정책과 매칭

PROXY, DIRECT, REJECT는 ‘매칭된 뒤 어떻게 처리할지’를 지정합니다. 정책 이름은 프로토콜 이름이나 서버 매개변수가 아닙니다. 대소문자와 사용 위치는 설정 원문을 기준으로 확인하세요.

PROXY

매칭된 요청을 설정에서 지정한 프록시 경로로 처리합니다. 실제로 사용하는 서버는 현재 선택 항목과 설정에 따라 달라집니다. 서버 주소를 뜻하지 않으며 누락된 인증 정보를 자동으로 채우지도 않습니다. PROXY 규칙에 매칭된 뒤에도 접속할 수 없다면 규칙뿐 아니라 서버 연결, 프로토콜 항목 및 대상 서비스도 확인해야 합니다.

DIRECT

프록시 서버를 거치지 않고 대상에 직접 연결한다는 뜻입니다. 트래픽은 여전히 클라이언트의 규칙 처리 과정을 거칠 수 있습니다. 특정 규칙에 DIRECT가 지정되어 있다고 연결 스위치가 꺼지는 것은 아니며, Global Routing이 Direct 방식이라는 뜻도 아닙니다. 직접 연결 요청이 실패하면 현재 네트워크에서 대상에 접속할 수 있는지와 DNS가 정상인지 확인하세요.

REJECT

매칭된 요청을 거부한다는 뜻이며, 명확히 차단해야 하는 대상이나 요청 특성에 사용할 수 있습니다. 조건이 지나치게 넓으면 로그인, 이미지 또는 기타 필요한 리소스까지 차단할 수 있으므로 추가하기 전에 매칭 범위를 확인하세요. 페이지 일부만 로드된다면 모든 트래픽을 PROXY로 바꾸기 전에 REJECT 규칙에 매칭되었는지 확인하세요.

매칭 순서

규칙은 일반적으로 위에서 아래로 확인하며, 먼저 매칭된 규칙이 요청의 처리 방식을 결정합니다. 뒤에 더 구체적인 조건이 있더라도 자동으로 다시 선택하지 않습니다. 개별 도메인 등의 예외 조건은 포괄적인 조건보다 앞에, FINAL은 마지막에 배치하세요. 수정 사항을 테스트할 때는 새 요청을 보내고, 확인 가능한 연결 기록으로 매칭 결과를 점검해 기존 연결이 판단에 영향을 주지 않도록 하세요.

구독 및 설정 파일

구독은 주로 서버 목록을 관리하고, 설정 파일은 규칙과 관련 동작을 관리합니다. 둘 중 하나를 가져왔다고 나머지 설정까지 완료된 것은 아니며, 연결이 이미 수립되었다는 뜻도 아닙니다.

Subscribe

사용자가 보유한 구독 링크를 통해 서버 목록을 가져오고 업데이트하는 방식입니다. 링크는 이용 중인 서비스 제공자에게서 받아야 합니다. 구독에 그룹이나 다른 정보가 포함되는지는 제공 형식에 따라 다르며, 전체 규칙 설정과 동일하지 않습니다. 링크에 접근 정보가 포함될 수 있으므로 문의를 제출하거나 화면을 공유할 때 전체 주소와 민감한 매개변수를 가리세요.

서버 정보

연결에 필요한 주소, 포트, 프로토콜 및 인증 등의 매개변수입니다. 흔히 노드 정보라고 부르기도 합니다. 목록에 표시되는 이름은 식별을 위한 것으로, 프로토콜이나 실제 지리적 위치를 판단하는 신뢰할 만한 기준이 아닙니다. 직접 입력하든 구독에서 가져오든 본인의 서비스 제공자가 안내한 정보를 사용하세요. 설명서의 예시 도메인은 실제로 사용할 수 있는 서버 주소가 아닙니다.

Config

설정 파일을 관리하는 화면의 이름이자, Global Routing에서 설정 규칙에 따라 트래픽을 처리하는 방식의 이름이기도 합니다. 문맥에 따라 구분해야 합니다. Config에 파일을 저장했다고 해서 활성화된 것은 아닙니다. 파일을 선택했더라도 전체 라우팅 방식이 올바르다는 뜻은 아닙니다. 확인할 때는 현재 파일, 파일의 Rule, Global Routing 순서로 점검하세요.

General / Rule / Host / URL Rewrite

각 이름은 설정 파일에서 서로 다른 역할을 하는 섹션을 가리킵니다. General에는 일반 설정, Rule에는 트래픽 분할 규칙, Host에는 호스트 이름 매핑, URL Rewrite에는 URL 재작성 설정이 들어갑니다. URL 재작성은 일반적인 도메인 트래픽 분할과 다르며, 실제 적용 여부는 요청과 관련 조건에 따라 달라집니다. 편집하기 전에 원본 설정을 보관하고 규칙 행을 잘못된 섹션에 넣지 마세요.

DNS

도메인을 IP 주소로 변환하는 기능으로, 대상에 연결하기 전에 거치는 중요한 단계이며 대상 IP에 의존하는 규칙 판정에도 영향을 줄 수 있습니다. 서버 연결 테스트는 정상인데 웹페이지가 열리지 않는다면 DNS도 확인해야 합니다. 관련 설정을 변경할 때는 기존 값을 기록하고 서버 도메인과 대상 웹사이트 도메인의 DNS 문제를 구분하세요.

구독 업데이트

구독 소스에서 서버 목록을 다시 가져오는 작업입니다. 소스에서 제공하는 내용이 바뀌면 서버 이름, 수량 및 매개변수도 달라질 수 있습니다. 업데이트에 성공해도 모든 서버에 연결할 수 있는 것은 아니며, 실패했다고 기존 목록을 바로 삭제해서도 안 됩니다. 링크가 완전한지, 현재 네트워크와 소스 상태는 정상인지 먼저 확인하세요. 사용할 수 있는 정보를 보관한 뒤 다시 가져올지 결정하세요.

문제에 따라 더 알아보기

용어를 파악했다면 현재 작업에 맞는 안내를 선택하세요. 서버, 설정 및 시스템 설정을 한꺼번에 변경하지 마세요.