공식 매뉴얼용어 정리

Shadowrocket
인터페이스 및 규칙 용어

인터페이스 메뉴, 연결 프로토콜, 매칭 조건 및 실행 정책을 먼저 구분한 다음 설정을 조정하세요. 앱에서 사용하는 영어 명칭은 원문 그대로 표기합니다. 제목 옆 앵커를 누르면 각 용어로 바로 이동할 수 있습니다.

01 / 인터페이스 및 스위치

메뉴, 모드 및 연결

같은 이름이 보이면 먼저 화면 제목인지, 모드 옵션인지, 조작 메뉴인지 확인하세요. 연결 스위치, 전체 모드 및 규칙 파일은 서로 다른 문제를 다루므로 서로 대체할 수 없습니다.

Home
연결 상태, Global Routing 및 SERVER 목록을 확인할 수 있는 주요 조작 화면입니다. Not Connected는 현재 연결 상태를 나타내며, 스위치로 연결을 시작하거나 종료할 수 있습니다. 상태가 바뀌었더라도 실제 대상에 요청을 보내 사용 가능 여부를 확인해야 합니다. 스위치만 보고 모든 접속이 정상이라고 판단하지 마세요.
Global Routing
전체 트래픽 처리 방식을 정하는 메뉴입니다. 설정, 프록시, 직접 연결은 각각 Config, Proxy, Direct에 해당합니다. 현재 규칙 파일의 트래픽 분배 결과를 확인하려면 먼저 Config가 선택되어 있는지 확인하세요. 점검할 때는 모드를 바꾸기 전 기존 값을 기록해야 모드 변경을 규칙의 효과로 오해하지 않습니다.
Config
화면 이름으로는 설정 파일 관리 메뉴를 뜻하고, Global Routing 옵션으로는 현재 설정에 따라 요청을 처리한다는 뜻입니다. Config에 파일을 가져왔다고 해서 해당 파일이 선택되었거나 Config 모드로 전환된 것은 아닙니다. 규칙 적용 여부를 확인할 때는 두 항목을 모두 점검하세요.
Proxy / Direct
Global Routing에서 선택하는 전체 모드입니다. Proxy는 프록시 방식으로, Direct는 직접 연결 방식으로 처리합니다. 인터페이스에 표시되는 첫 글자가 대문자인 명칭을 규칙 키워드와 혼동하지 마세요. Rule 섹션의 정책 키워드는 PROXY와 DIRECT입니다. 문제를 찾을 때 전체 모드를 보조 지표로 활용하고 테스트가 끝나면 필요한 모드로 되돌리세요.
On Demand
설정된 조건에 따라 VPN 연결을 시작하는 On Demand 기능입니다. 세부 조건과 옵션은 앱에 표시되는 내용을 확인하세요. On Demand는 '언제 연결할지', Rule은 '요청을 어떻게 처리할지'를 정하므로 서로 다른 기능입니다. 연결 동작이 예상과 다르면 도메인 규칙만 수정하지 말고 시스템 VPN 상태와 On Demand 조건을 함께 확인하세요.
Connectivity Test
선택한 서버가 현재 테스트 조건에서 응답하는지 확인하는 메뉴입니다. 표시된 시간은 해당 테스트 과정의 결과이며 지속적인 전송 속도나 모든 앱의 접속 경험을 나타내지 않습니다. 결과가 비정상이라면 테스트 방식, 대상 및 네트워크 조건을 먼저 구분하세요. 정상으로 표시되어도 실제 요청과 규칙 매칭 여부를 확인해야 합니다.
Settings
앱 설정을 관리하는 메뉴이며 구체적인 항목은 현재 앱 화면에서 확인할 수 있습니다. 앱 설정과 .conf 매개변수는 서로 다른 곳에서 설정되므로 문제를 점검할 때 어느 쪽을 변경했는지 기록하세요. 관련 옵션은 한 번에 하나씩만 바꾸고 기존 값을 남겨 두면 원인을 찾기 쉽습니다.

02 / 프로토콜

프로토콜 유형 및 매개변수

프로토콜은 클라이언트와 서버가 통신하는 방식을 정하므로 이름만 보고 매개변수를 추측해서는 안 됩니다. 아래 내용은 기술적 의미를 설명합니다. 추가할 때는 사용자가 이미 보유한 서버 정보를 참고하고 Add Server에 실제 표시되는 항목을 확인하세요.

Shadowsocks
프록시 프로토콜의 하나로, 일반적인 연결 정보에는 서버 주소, 포트, 암호화 방식 및 비밀번호가 포함됩니다. 암호화 방식은 서버 설정과 일치해야 하며 주소와 비밀번호가 같다는 이유로 임의로 변경해서는 안 됩니다. 인증 또는 연결에 실패하면 기존 정보를 항목별로 확인하고, 복사한 값에 공백이 포함되지 않았는지도 살펴보세요.
VMess
UUID 등 식별자 매개변수를 사용하는 프록시 프로토콜입니다. UUID는 반드시 확인해야 하는 중요한 정보입니다. 전송 방식, TLS, Host 및 경로 설정도 연결에 영향을 줄 수 있으므로 주소와 포트만 확인해서는 안 됩니다. 서버의 실제 설정에 맞춰 입력하고 예시 매개변수를 자신의 연결에 그대로 사용하지 마세요.
VLESS
식별자, 전송 방식 및 전송 보안 설정을 각각 확인해야 하는 프록시 프로토콜입니다. VLESS와 VMess는 이름이 비슷하지만 서로 다른 프로토콜이므로 유형만 바꾸고 모든 항목을 재사용할 수 없습니다. 사용할 수 있는 조합은 클라이언트 옵션과 서버 설정에 따라 달라지므로 가져온 뒤 관련 매개변수가 빠짐없이 입력되었는지 확인하세요.
Trojan
일반적으로 TLS와 함께 사용하는 프록시 프로토콜입니다. 연결 정보에는 주소, 포트, 비밀번호 및 관련 TLS 정보가 포함됩니다. 서버 주소와 인증서에 지정된 이름은 각각 다른 역할을 할 수 있으므로 기존 정보를 기준으로 따로 확인하세요. 인증서 오류가 발생하면 이름, 시스템 시간 및 서버 인증서를 먼저 확인하고, 검증 무시를 일반적인 해결 방법으로 삼지 마세요.
HTTP / SOCKS5
서로 다른 두 가지 프록시 프로토콜 유형입니다. 일반적인 연결 정보에는 주소, 포트, 필요한 경우 사용자 이름과 비밀번호가 포함됩니다. 서버가 제공하는 유형을 선택해야 하며 두 이름을 임의로 서로 바꿔 쓸 수는 없습니다. UDP 처리 가능 여부는 프로토콜 기능, 서버 지원 및 실제 설정을 함께 확인해야 합니다.
WireGuard
키 기반 인증을 사용하는 터널 프로토콜입니다. 개인 키, 공개 키, 피어 주소, 터널 주소 및 라우팅 범위의 차이를 이해해야 합니다. 키는 일반적인 표시 이름이 아니며, 특히 개인 키는 민감 정보로 취급해야 합니다. 설정을 가져온 뒤에는 연결 상태만 확인하지 말고 주소와 라우팅 범위가 기존 설정 안내와 일치하는지 점검하세요.
Hysteria2
QUIC 기반으로 UDP를 통해 전송하는 프록시 프로토콜입니다. 실제 동작은 네트워크 경로, 서버 및 매개변수 설정의 영향을 함께 받습니다. TCP 테스트에 성공해도 이 프로토콜에 필요한 UDP 경로를 사용할 수 있다고 단정할 수 없습니다. 문제를 확인할 때는 인증 정보, TLS 정보 및 UDP 연결 조건을 점검하고 프로토콜 이름만으로 속도를 예측하지 마세요.

03 / 규칙 키워드

매칭 조건 및 범위

키워드는 어떤 종류의 정보를 확인할지 정하고, 뒤에 오는 값은 구체적인 범위를 정합니다. 도메인 규칙에는 웹페이지 전체 주소를 입력하지 마세요. 주소 대역 규칙은 주소 계열과 접두사 길이를 확인해야 합니다.

DOMAIN
전체 도메인을 기준으로 매칭합니다. 예를 들어 DOMAIN,example.com,PROXY는 example.com 자체를 대상으로 합니다. www.example.com 등의 하위 도메인은 자동으로 포함하지 않습니다. 특정 도메인 하나만 조정하려면 먼저 정확히 매칭한 뒤 실제 요청에 따라 다른 도메인을 추가하세요.
DOMAIN-SUFFIX
도메인 접미사를 기준으로 매칭합니다. example.com을 입력하면 해당 도메인과 하위 도메인이 포함되지만, 문자열에 같은 글자가 들어간 모든 도메인을 뜻하는 것은 아닙니다. 값에 https://, 웹페이지 경로 또는 포트를 붙이지 마세요. 하위 도메인 하나에만 적용하려면 DOMAIN을 사용해 규칙 범위를 넓히지 않도록 하세요.
DOMAIN-KEYWORD
도메인에 지정한 키워드가 포함되어 있는지 확인합니다. 예를 들어 example은 서로 관련 없는 여러 도메인에 들어갈 수 있습니다. 전체 도메인 매칭보다 범위가 넓고 키워드가 도메인 계층과 정확히 일치할 필요도 없습니다. 오매칭 가능성을 고려하고 키워드 규칙을 특정 서비스의 전체 도메인 목록처럼 취급하지 마세요.
GEOIP
IP 지리 정보에 따라 매칭합니다. 예를 들어 GEOIP,CN,DIRECT와 같이 작성합니다. 사용하는 데이터베이스와 실제 대상 IP에 따라 달라지며 도메인 접미사 또는 사용자의 위치를 기준으로 판단하지 않습니다. 같은 도메인이 여러 주소를 반환할 수 있으므로 웹페이지 내용만 보고 GEOIP 매칭 결과를 추측할 수 없습니다.
IP-CIDR / IP-CIDR6
IPv4 및 IPv6 주소 대역을 각각 매칭하며 슬래시 뒤의 접두사 길이로 대상 범위를 정합니다. 예시 IP-CIDR,192.168.0.0/16,DIRECT,no-resolve는 IPv4 네트워크를 나타냅니다. no-resolve는 이 규칙을 위해 별도의 도메인 조회를 하지 않도록 합니다. 이 옵션은 앱 전체의 DNS를 끈다는 뜻이 아닙니다.
USER-AGENT
읽을 수 있는 HTTP User-Agent 필드를 기준으로 매칭합니다. 예를 들어 USER-AGENT,ExampleApp*,PROXY와 같이 작성합니다. 기기에 설치된 앱 이름으로 트래픽을 식별하는 방식이 아니며 모든 연결에서 읽을 수 있는 필드가 노출되는 것도 아닙니다. 특히 모든 HTTPS 요청을 이런 규칙으로 바로 판단할 수 있다고 가정해서는 안 됩니다.
FINAL
앞선 규칙에 매칭되지 않은 요청을 처리하며 일반적으로 Rule 섹션의 마지막에 둡니다. FINAL,PROXY와 FINAL,DIRECT는 서로 다른 기본 처리 결과를 냅니다. 설정 목적에 맞게 선택하세요. 앞선 결정을 마지막에 덮어쓰는 규칙이 아니라, 앞선 규칙에 매칭되지 않은 요청만 처리합니다.

04 / 정책 및 매칭 순서

매칭 후 처리 방식

규칙 유형은 '매칭되는지'를 결정하고 정책은 '어떻게 처리할지'를 결정합니다. 아래 대문자 키워드는 규칙에 쓰는 표현으로, Global Routing의 전체 모드와 혼동하지 마세요.

PROXY
매칭된 요청을 프록시 경로로 처리하는 정책 키워드입니다. 실제 사용할 서버나 정책 선택은 현재 설정을 확인해야 합니다. PROXY에 매칭됐다는 것은 해당 처리 경로를 선택했다는 뜻일 뿐, 서버 인증이나 대상 연결의 성공을 보장하지 않습니다. 문제를 점검할 때는 규칙 매칭 여부와 프록시 경로 사용 가능 여부를 나눠 확인하세요.
DIRECT
매칭된 요청을 프록시 서버로 전달하지 않고 현재 네트워크를 통해 대상에 직접 접속합니다. 전달 정책을 나타내는 것이며 요청이 앱의 처리를 전혀 거치지 않는다거나 대상에 반드시 접속할 수 있다는 뜻은 아닙니다. 직접 연결도 실패한다면 프록시 서버만 바꾸지 말고 현재 네트워크, 도메인 조회 및 대상 서비스 자체를 확인하세요.
REJECT
매칭된 요청을 거부하는 정책 키워드로, 명확히 차단해야 하는 범위에 사용합니다. 거부 규칙의 범위가 지나치게 넓거나 앞쪽에 있으면 뒤에 있는 정확한 허용 규칙이 적용되지 않을 수 있습니다. 특정 대상에 계속 접속할 수 없다면 프록시 경로를 확인하기 전에 앞선 규칙에서 REJECT가 매칭됐는지 살펴보세요.
매칭 순서
Rule 섹션은 일반적으로 위에서 아래 순서로 검사하며, 먼저 매칭된 규칙이 정책을 결정합니다. 시스템이 '가장 정확해 보이는' 규칙을 자동으로 고르는 것은 아닙니다. 정확한 예외 규칙을 범위가 넓은 규칙보다 앞에 두고 FINAL은 마지막에 배치하세요. 규칙을 추가한 뒤에는 위치도 확인해야 합니다. 문법이 맞아도 순서가 적절하지 않으면 원하는 결과를 얻지 못할 수 있습니다.

순서 비교

예외를 먼저, 넓은 범위는 나중에

이 예시에서는 api.example.com이 먼저 DOMAIN에 매칭되어 DIRECT를 적용하고, 나머지 example.com 하위 도메인은 DOMAIN-SUFFIX로 처리합니다. 두 줄의 순서를 바꾸면 범위가 넓은 접미사 규칙이 먼저 매칭되어 정확한 예외 규칙이 적용되지 않습니다.

이 예시는 매칭 관계만 보여 줍니다. PROXY에 사용할 실제 연결 정보는 사용자가 직접 준비하고 확인해야 합니다.

[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

05 / 구독 및 설정 파일

연결 정보 및 설정 구조

서버 항목에는 연결 매개변수가 저장되고, 구독은 여러 항목을 가져오고 업데이트하는 데 사용되며, 설정 파일은 규칙 등의 동작을 지정합니다. 먼저 가져올 자료의 종류를 확인한 뒤 알맞은 메뉴를 선택해 서로 다른 형식의 자료를 잘못 처리하지 않도록 하세요.

Subscribe
사용자가 이미 보유한 구독 주소를 통해 서버 항목을 가져오고 업데이트하는 방식입니다. 실제로 가져오는 내용은 해당 주소가 제공하는 자료에 따라 달라집니다. 구독 링크에는 접근 정보가 포함되는 경우가 있으므로 스크린샷, 로그 또는 문의 내용을 공유하기 전에 전체 링크를 가리세요. 구독 업데이트에 성공해도 모든 항목의 연결이 보장되는 것은 아니며 현재 규칙 설정이 바뀌는 것도 아닙니다.
SERVER / Add Server
SERVER는 서버 항목 목록이며 Add Server에서는 구체적인 연결 정보를 입력하거나 가져옵니다. 개별 항목을 노드라고도 합니다. 하나의 항목에는 일반적으로 프로토콜 유형, 주소, 포트 및 인증 매개변수가 포함되며 여러 항목을 관리하는 구독과는 다른 객체입니다. 목록에 표시되는 이름은 식별을 돕기 위한 것이며 실제 주소, 프로토콜 또는 사용 가능성을 보장하지 않습니다.
.conf
설정 파일에 흔히 사용하는 확장자이며 파일 안에서 섹션별로 매개변수와 규칙을 정리합니다. General, Rule, Host, URL Rewrite는 각각 전역 매개변수, 트래픽 규칙, 도메인 매핑 및 주소 재작성을 다룹니다. 모든 파일에 모든 섹션이 있어야 하는 것은 아닙니다. 확장자가 같아도 내용이 올바르다는 보장은 없으므로 가져온 뒤 텍스트, 현재 선택 상태 및 Global Routing을 확인하세요.
DNS / Host
DNS는 도메인을 조회하고 Host 섹션에서는 도메인과 주소의 매핑을 지정합니다. 둘 다 앱이 최종적으로 사용하는 대상 주소에 영향을 줍니다. Host를 수정해도 요청이 자동으로 PROXY로 바뀌지 않으며 서버 비밀번호나 식별자 오류도 해결되지 않습니다. 불필요한 매개변수를 반복해서 바꾸지 않도록 조회 문제, 규칙 정책 및 대상 주소의 연결 가능성을 각각 확인하세요.
URL Rewrite
설정 조건에 따라 요청 주소를 처리하는 섹션이며 구체적인 동작은 매칭 표현식과 해당 작업에 따라 달라집니다. 트래픽 정책을 선택하는 Rule이나 도메인 매핑을 지정하는 Host와 역할이 다르므로 서로 대체할 수 없습니다. 사용 전에 매칭 범위, 요청 정보를 확인할 수 있는지, 필요한 조건은 무엇인지 확인하세요. 출처와 용도가 불분명한 구문을 그대로 적용하지 마세요.
App Store에서 다운로드