연결 메뉴와 작동 모드
스위치는 연결 여부를 제어하고, Global Routing은 트래픽 처리 방식을 정합니다. 서로 다른 설정 단계이므로 문제를 해결할 때 각각 확인해야 합니다.
Home
메인 화면과 연결 상태
Home은 서버 항목을 확인하고 연결 대상을 선택해 연결 스위치를 조작하는 주요 화면입니다. 서버 항목이 표시된다는 것은 정보가 저장되었다는 뜻일 뿐, 해당 서버를 현재 사용할 수 있다는 의미는 아닙니다. 연결한 뒤 실제 요청으로 접속 결과를 확인해야 합니다.
Global Routing
전체 트래픽 처리 방식
Global Routing에는 Config, Proxy, Direct 세 가지 모드가 있습니다. Config는 현재 설정에 따라 트래픽을 분기하고, Proxy는 트래픽을 프록시로 전달하며, Direct는 직접 연결합니다. 이 모드의 동작은 시스템 네트워크 환경과 앱 관련 설정의 영향도 받습니다.
On Demand
조건에 따른 자동 연결
On Demand는 설정한 조건에 따라 시스템이 VPN 연결을 자동으로 시작하도록 요청하는 기능입니다. 실제 작동 여부는 선택한 조건과 시스템 상태에 따라 달라집니다. 도메인별로 PROXY 또는 DIRECT를 선택하는 기능은 아닙니다. 수동으로 연결을 끊은 뒤 다시 자동 연결된다면 설정을 삭제하기 전에 먼저 이 항목을 확인하세요.
Add Server
서버 정보 추가
Add Server는 서버 항목을 추가하는 메뉴이며, 입력 항목은 프로토콜마다 다릅니다. 보유한 서버 정보를 바탕으로 주소, 포트, 인증, 전송 설정을 하나씩 확인하세요. 공통 항목만 입력하고 프로토콜별 매개변수를 빠뜨리면 저장은 되더라도 연결에 실패할 수 있습니다.
Config
화면 이름과 설정 모드
Config는 설정 파일을 관리하는 화면을 뜻하기도 하고, Global Routing의 설정 모드를 가리키기도 합니다. 안내를 읽을 때는 어느 화면에 있는지 확인하세요. 파일을 화면에서 저장하는 것과 해당 파일이 현재 트래픽 분기에 적용되는 것은 별개입니다. 규칙을 수정한 뒤에는 현재 사용 중인 설정 파일인지 확인해야 합니다.
Connectivity Test
연결 테스트와 결과의 범위
Connectivity Test는 지정된 방식으로 연결 상태를 확인합니다. 테스트 방식에 따라 확인하는 연결 단계가 다를 수 있습니다. 테스트 성공이 모든 웹사이트에 접속할 수 있다는 뜻은 아니며, 표시된 시간도 다운로드 속도가 아닙니다. 결과가 예상과 다르면 DNS, 규칙 매칭, 실제 요청 결과를 함께 확인하세요.
인증, 전송, 암호화 매개변수
프로토콜 이름은 필요한 입력 항목을 결정할 뿐, 속도를 직접 나타내지는 않습니다. 먼저 서버와 클라이언트의 매개변수를 일치시킨 다음 사용 중인 전송 방식이 네트워크에서 지원되는지 확인하세요.
Shadowsocks
주소, 비밀번호, 암호화 방식
Shadowsocks는 서버 주소, 포트, 암호화 방식, 비밀번호 등의 매개변수로 프록시 연결을 설정합니다. 암호화 방식은 서버 측 설정과 일치해야 합니다. 공유 링크를 가져온 뒤에도 필수 항목이 모두 입력되었는지 확인하세요. 비밀번호가 맞더라도 암호화 방식이 다르면 통신에 실패할 수 있습니다.
VMess
식별 정보와 전송 방식 조합
VMess는 UUID 등의 식별 정보를 사용하며, 전송 방식과 TLS 설정을 함께 구성할 수 있습니다. UUID만으로 설정이 완성되는 것은 아닙니다. 주소, 포트, 전송 경로, 서버 이름 등의 항목은 실제 서버 요구사항에 맞게 입력해야 합니다. 기기 시간이 맞지 않아도 인증에 영향을 줄 수 있습니다.
VLESS
인증과 전송 보안 별도 확인
VLESS 자체는 콘텐츠를 암호화하지 않으므로 일반적으로 적절한 전송 보안 방식과 함께 사용해야 합니다. UUID를 입력한 뒤 전송 유형, 보안 설정, 추가 매개변수도 확인하세요. 이름이 비슷하다는 이유로 다른 프로토콜의 항목을 VLESS 설정에 그대로 복사하지 마세요.
Trojan
비밀번호 인증과 TLS
Trojan은 일반적으로 TLS와 비밀번호 인증을 함께 사용해 연결합니다. 서버 이름과 인증서 검증은 문제 해결 시 중요한 확인 항목입니다. 주소에 연결할 수 있지만 핸드셰이크가 실패한다면 비밀번호, SNI, 인증서가 서로 맞는지 먼저 확인하세요. 인증서 검증을 끄는 방식은 일반적인 해결책으로 권장되지 않습니다.
Hysteria2
QUIC 기반 전송
Hysteria2는 QUIC 기반이며, 연결 상태는 네트워크의 UDP 지원 여부에 따라 달라질 수 있습니다. 인증, TLS, 선택적 추가 설정은 서버와 일치해야 합니다. 같은 항목이 네트워크마다 다르게 작동한다면 비밀번호를 반복해서 바꾸기보다 UDP 사용 가능 여부를 먼저 확인하세요.
WireGuard
키와 터널 라우팅
WireGuard는 키 쌍으로 암호화 터널을 구성하며, 설정에는 로컬 주소, 피어의 공개 키, 엔드포인트, 허용 라우팅 범위가 포함됩니다. 핸드셰이크 성공은 연결 경로의 일부가 설정되었다는 뜻일 뿐입니다. 실제 접속에는 라우팅이나 DNS가 영향을 줄 수 있습니다. 개인 키는 민감한 정보이므로 공개 화면 캡처에 포함하지 마세요.
HTTP / SOCKS5
일반 프록시 연결 유형
HTTP와 SOCKS5는 서로 다른 프록시 프로토콜입니다. 주소, 포트, 계정 인증 필요 여부를 각각 확인하세요. 프로토콜 이름만으로 연결이 암호화되는 것은 아니며, UDP 등 트래픽 지원에도 차이가 있습니다. 보유한 서버에서 실제로 제공하는 유형을 선택하세요.
매칭 조건과 처리 정책
규칙은 일반적으로 설정에 나열된 순서대로 매칭됩니다. 앞의 키워드는 매칭 조건을, 끝의 정책은 처리 동작을 나타냅니다. 구체적인 규칙은 이를 덮어쓸 수 있는 포괄적인 규칙보다 앞에 배치하세요.
DOMAIN
전체 도메인 매칭
DOMAIN은 api.example.com과 같이 지정한 전체 도메인과 일치하며, 다른 하위 도메인까지 자동으로 포함하지 않습니다. 규칙에는 도메인을 입력해야 하며 전체 웹 페이지 URL, 경로, 쿼리 매개변수를 입력하면 안 됩니다. 특정 호스트에만 별도 정책을 적용할 때 적합합니다.
DOMAIN-SUFFIX
도메인 및 하위 도메인 매칭
DOMAIN-SUFFIX는 example.com과 api.example.com처럼 지정한 도메인과 그 하위 도메인에 일치합니다. 임의의 문자열을 검색하는 것이 아니라 도메인 계층을 기준으로 매칭합니다. 특정 하위 도메인에 예외를 적용하려면 더 구체적인 DOMAIN 규칙을 먼저 작성하세요.
DOMAIN-KEYWORD
도메인 문자열 매칭
DOMAIN-KEYWORD는 도메인에 지정한 문자열이 포함되어 있는지 확인해 매칭합니다. 적용 범위가 접미사 규칙보다 넓어질 수 있습니다. 너무 짧은 키워드는 관련 없는 도메인까지 매칭할 수 있으므로 필요한 경우에만 사용하고, 추가 후 실제 요청 기록을 확인하세요.
IP-CIDR / IP-CIDR6
주소 대역으로 매칭
IP-CIDR은 IPv4 대역, IP-CIDR6는 IPv6 대역을 매칭합니다. 슬래시 뒤의 접두사 길이가 대역 범위를 나타냅니다. 도메인 문자열이 아니라 대상 IP를 매칭하며, 대상 주소가 이미 확인되었는지와 관련 규칙 매개변수에 따라 매칭 과정이 달라질 수 있습니다.
GEOIP
IP 데이터베이스의 등록 정보로 매칭
GEOIP는 IP 지리 데이터베이스의 기록을 바탕으로 대상 주소의 지역을 판단합니다. 웹페이지 언어나 도메인 접미사를 기준으로 하지는 않습니다. 데이터베이스의 지역 정보와 서버의 실제 위치는 다를 수 있으며, CDN을 사용하는 도메인은 주소가 달라질 수도 있습니다. 따라서 결과를 물리적 위치에 대한 확정적 근거로 볼 수 없습니다.
FINAL
미매칭 요청의 기본 정책
FINAL은 앞선 규칙에 모두 일치하지 않은 요청을 처리하며, 일반적으로 규칙 목록의 마지막에 둡니다. 모든 규칙을 다시 확인하는 것이 아니라 남은 요청의 처리 방향을 지정합니다. 기본 정책을 잘못 선택하면 별도 규칙이 없는 도메인이 예상과 다른 방식으로 연결될 수 있습니다.
PROXY / DIRECT / REJECT
규칙 끝에 지정하는 처리 동작
PROXY는 프록시 정책으로 처리하고, DIRECT는 직접 연결하며, REJECT는 요청을 거부합니다. 이는 규칙 동작이지 프로토콜 이름이 아닙니다. 대문자로 쓰는 PROXY와 DIRECT는 Global Routing 화면의 Proxy, Direct 모드와 구분해야 합니다.
[Rule]
DOMAIN,api.example.com,PROXY
DOMAIN-SUFFIX,example.com,DIRECT
FINAL,PROXY
연결 정보, 규칙, 구매 기록
구독은 연결 정보를 업데이트하고, 설정 파일은 처리 로직을 구성하며, 스토어 구매 기록은 앱 이용 권한을 확인합니다. 각각 별도로 관리되며 서로 대체할 수 없습니다.
업데이트 가능한 서버 정보 출처
구독은 원격 주소에서 서버 정보를 가져와 업데이트합니다. 구독은 사용 중인 서비스 제공업체에서 받아야 합니다. 개별 서버 공유 링크와는 다르며, 반드시 트래픽 분기 규칙을 포함하는 것도 아닙니다. 구독 주소에는 접근 인증 정보가 포함될 수 있으므로 공개적으로 붙여넣거나 공유하지 마세요.
SERVER
서버 항목
서버 항목은 프로토콜, 주소, 포트, 인증 정보 등 연결 매개변수의 모음이며, 흔히 노드라고도 합니다. 항목 이름은 구분을 위한 표시일 뿐 서버의 위치나 사용 가능 여부를 보장하지 않습니다. 문제를 확인할 때는 구체적인 매개변수와 연결 결과를 살펴보세요.
.conf
구간별로 구성된 설정 파일
설정 파일은 텍스트를 구간별로 나누어 설정을 구성합니다. [General]은 전역 동작을 관리하고, [Rule]은 트래픽 분기 순서를 정의하며, [Host]는 로컬 매핑에 사용할 수 있습니다. 파일을 가져와도 사용 가능한 서버가 함께 추가되는 것은 아닙니다. 수정하기 전에 사본을 보관하고 현재 사용 중인 파일인지 확인하세요.
URL Rewrite
요청 URL 처리
URL Rewrite는 매칭 조건에 따라 요청 URL에 지정된 처리를 적용합니다. 프록시 또는 직접 연결을 선택하는 규칙과는 다른 기능입니다. 암호화된 요청은 TLS와 관련 설정에 따라 확인할 수 있는 내용이 제한됩니다. 하나의 재작성 표현식이 모든 요청을 처리한다고 가정하지 마세요.
iCloud
앱 데이터 동기화
iCloud 동기화를 사용하면 지원되는 기기 간에 앱이 지원하는 데이터를 동기화할 수 있습니다. 구체적인 동기화 범위는 앱 내 옵션을 확인하세요. 동기화, 백업, 구매 복원은 서로 다른 절차입니다. 기기를 바꾸기 전에 설정 파일 사본, 동기화 상태, App Store 구매 계정을 각각 확인하세요.
App Store 구매 기록
구입 항목은 구매 당시의 Apple ID에 연결된 App Store 앱 기록으로, 기기를 바꾸거나 다시 설치할 때 Shadowrocket을 찾는 데 사용할 수 있습니다. 서비스 제공업체 구독의 갱신 상태는 포함되지 않습니다. 기기 호환성, 시스템 요구 사항, 통합 구매 적용 여부는 App Store 페이지의 안내를 따르세요.
이름 확인, 핸드셰이크, 테스트 시간
도메인 확인, 연결 설정, 데이터 전송은 서로 다른 단계입니다. 먼저 어느 단계에서 실패했는지 확인한 뒤 해당 설정을 조정하세요. 여러 변수를 한꺼번에 바꾸지 않는 것이 좋습니다.
DNS
도메인을 주소로 변환
DNS는 도메인을 IP 주소로 변환해 이후 연결에 사용합니다. DNS 확인에 실패하면 연결 테스트가 정상이어도 웹페이지가 열리지 않을 수 있습니다. 반대로 IP 주소를 얻었다고 서버에 연결할 수 있는 것은 아니므로 라우팅, 포트, 핸드셰이크를 추가로 확인해야 합니다.
dns-server
설정 파일의 DNS 서버
dns-server는 [General]에서 DNS 서버를 지정하는 설정 항목이며, system은 시스템에서 제공하는 DNS 설정을 사용한다는 뜻입니다. 수정하기 전에 현재 설정 파일이 실제로 적용 중인지 확인하고 DNS 요청이 어떤 네트워크 경로를 이용하는지도 고려하세요. 서버 주소를 바꿔도 모든 접속 문제가 해결되는 것은 아닙니다.
TLS / SNI
전송 보호와 서버 이름
TLS는 전송을 보호하고, SNI는 핸드셰이크 중 서버에 요청할 이름을 알리는 기능입니다. 두 용어는 같은 뜻이 아닙니다. 연결 주소와 인증서 검증에 사용하는 이름이 다를 수 있으므로 서버 요구사항에 맞게 입력하세요. 인증서 오류가 발생하면 이름과 기기 시간을 먼저 확인하세요.
테스트 결과가 적용되는 범위
지연 시간은 특정 테스트 단계에 걸린 시간이고, 시간 초과는 제한 시간 내에 테스트 목표를 완료하지 못했다는 뜻입니다. 서버 장애가 확정된 것은 아닙니다. 테스트 방식, DNS, 네트워크 경로가 결과에 영향을 줍니다. 지연 시간이 짧다고 처리량이 높은 것은 아니므로 속도 문제는 실제 데이터 전송도 함께 확인하세요.