자신이 이용하는 서비스 제공자로부터 서버 설정값이나 구독 링크를 받았지만 Add Server에서 어떤 Type을 선택해야 할지 모르겠는 사용자에게 적합합니다. 읽고 나면 Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard의 핵심 필드를 구분하고 Address, Port, 인증 정보, Transport, TLS를 순서대로 확인할 수 있습니다.
구독 가져오기와 수동 추가부터 구분하기
Shadowrocket의 프로토콜 유형은 네트워크 회선 이름이 아닙니다. 서비스 제공자가 제공한 설정에 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard가 적혀 있다면 Home 오른쪽 위의 「+」를 눌러 Add Server로 이동한 뒤 Type을 해당 프로토콜과 일치시키세요. 포트 번호만 보고 프로토콜을 추측하면 안 됩니다. 443 포트는 여러 설정에서 사용할 수 있으며, 포트 자체만으로 유형을 알 수 없습니다.
구독 링크가 있다면 일반적으로 먼저 Subscribe로 가져오는 것이 좋습니다. 구독 내용이 프로토콜 유형, 서버 주소와 전송 설정을 해당 항목에 입력하므로 대소문자, 경로 또는 인증서 이름을 필사하는 과정에서 빠뜨릴 가능성이 줄어듭니다. 완전한 단일 설정값만 있거나 특정 필드를 확인해야 할 때, 또는 서비스 제공자가 직접 입력하도록 안내했을 때는 수동 추가가 적합합니다.
Subscribe 가져오기
권장기존 구독에서 서버 항목을 생성하고 이후 같은 출처에서 설정을 새로 고칠 수 있습니다. 프로토콜과 전송 필드는 보통 항목과 함께 입력됩니다.
적합한 경우: 완전한 구독 링크가 있고 여러 서버를 관리해야 할 때
Add Server 직접 입력
Address, Port, Password 또는 UUID를 항목별로 입력한 뒤 Transport, TLS, SNI 등의 추가 설정을 계속 확인합니다.
적합한 경우: 완전한 단일 설정값이 있고 필드 대응 관계를 확인해야 할 때
Config 파일
Config는 주로 규칙, DNS 및 분할 라우팅 설정을 담습니다. 서버 프로토콜에 필요한 연결 매개변수를 하나의 규칙 설정으로 대신할 수는 없습니다.
적합한 경우: 규칙 기반 라우팅을 관리할 때, 누락된 서버 인증 정보를 보완할 때가 아님
출처의 필드 확인
먼저 서비스 제공자가 안내한 문서에서 명확한 프로토콜 이름, Address, Port와 인증 정보를 찾으세요. 프로토콜 이름이 없다면 원래 설정 출처에 확인해야 하며 포트만 보고 추정하면 안 됩니다.
추가 화면 열기
Home을 열고 오른쪽 위의 「+」를 눌러 Add Server로 이동하세요. 구독을 가져온다면 Type을 Subscribe로 설정합니다.
기존 구독 붙여넣기
URL에 자신의 링크를 입력합니다. 형식은
https://example.com/sub?token=xxxx처럼 쓸 수 있지만, 이 주소는 예시용 가짜 값이므로 연결에 사용할 수 없습니다.해당 프로토콜 선택
수동으로 추가할 때는 설정 문서에 명확히 표시된 프로토콜을 Type에서 선택한 다음 해당 유형에 표시되는 필드를 입력합니다.
저장 후 테스트
저장한 뒤 Home으로 돌아가 생성된 서버 항목을 선택하고 Connectivity Test로 연결 가능 여부를 확인합니다.
여섯 가지 프로토콜에서 먼저 확인할 공통 필드
프로토콜마다 인증 방식은 다르지만 확인 순서는 동일하게 유지할 수 있습니다. 먼저 서버 주소와 포트를 확인하고, 다음으로 비밀번호나 키를 확인한 뒤 Transport와 TLS를 점검하세요. Address에는 호스트 이름이나 IP 주소만 입력하고 https://, 경로와 포트를 함께 넣지 마세요. Port는 설정 출처에 적힌 정수여야 합니다. 443, 8443 등은 흔한 예일 뿐 모든 서버에 공통으로 적용되는 고정 포트는 아닙니다.
| 필드 계층 | 일반적인 화면 값 | 확인 방법 |
|---|---|---|
| 연결 대상 | Address、Port | 호스트 이름과 포트를 한 글자씩 대조하고 공백, 프로토콜 접두사 또는 웹 경로가 붙어 있지 않은지 확인하세요. |
| 인증 정보 | Password、UUID、Private Key | 프로토콜에 맞게 입력하세요. 세 항목은 용도가 다르므로 서로 대체할 수 없으며 대소문자를 임의로 바꾸면 안 됩니다. |
| 전송 설정 | TCP、WebSocket、gRPC、QUIC | 설정 문서에 명확히 제시된 Transport만 선택하고 Host, Path 또는 Service Name도 계속 입력하세요. |
| 보안 설정 | TLS、SNI、Public Key | 도메인, 인증서 이름과 키는 같은 설정에서 가져와야 하며 다른 서버 항목에서 복사하면 안 됩니다. |
결론: 프로토콜 이름이 포트 번호보다 우선합니다
443을 확인해도 대상 포트만 알 수 있을 뿐 Trojan, VLESS 또는 다른 Type을 선택할 수는 없습니다. Add Server의 Type은 서비스 제공자가 표시한 프로토콜을 기준으로 선택한 뒤 해당 프로토콜 전용 인증 필드를 확인해야 합니다.
Shadowsocks·VMess·VLESS 필드 대응 방법
Shadowsocks: Password와 Method는 함께 확인
Shadowsocks의 기본 정보에는 보통 Address, Port, Password와 Method가 포함됩니다. Method는 암호화 방식이며, 설정 출처에 특정 AEAD 이름이 제시될 수 있습니다. Shadowrocket의 선택 항목은 원본 설정과 한 글자씩 일치해야 합니다. 서버 주소와 비밀번호가 맞아도 Method가 다르면 포트가 응답할 수는 있지만 실제 인증은 완료되지 않습니다.
- Address: 서버 호스트 이름 또는 IP 주소입니다.
- Port: 서버가 실제로 수신 대기하는 포트이며 웹 페이지용 포트로 대체할 수 없습니다.
- Password: 대소문자를 구분하므로 붙여넣은 뒤 앞뒤 공백을 확인하세요.
- Method: 서버 설정과 일치시켜야 하며 이름이 비슷하다고 임의로 바꾸면 안 됩니다.
- Plugin: 설정 문서에 플러그인과 옵션이 명확히 제시된 경우에만 입력하세요.
VMess: UUID 외에 Transport도 확인
VMess는 일반적으로 UUID 형식의 사용자 식별자를 사용합니다. 설정에 따라 추가 식별자, 보안 옵션, TLS와 Transport가 포함될 수 있습니다. 전송 방식이 WebSocket이면 보통 Path와 Host도 확인해야 하며, 다른 Transport가 명시되어 있다면 해당 항목에서 요구하는 추가 값을 입력해야 합니다. UUID만 복사하고 Path를 빠뜨리면 Address와 Port에는 도달해도 연결 테스트가 실패하는 경우가 많습니다.
- UUID: 하이픈을 포함한 전체 값을 그대로 유지하고 일반 비밀번호로 변환하지 마세요.
- Transport: 출처에 따라 TCP, WebSocket 또는 명시된 방식을 선택하세요.
- Host와 Path: WebSocket에서 자주 쓰이는 필드입니다. 빈 값과 루트 경로
/가 항상 같은 의미는 아닙니다. - TLS와 SNI: 설정에서 TLS를 요구한다면 함께 확인하고 TLS만 켠 채 서버 이름을 빠뜨리지 마세요.
VLESS: UUID·Flow·보안 계층을 각각 입력
VLESS도 UUID를 자주 사용하지만 VMess 항목의 이름만 바꿔 그대로 사용할 수는 없습니다. VLESS의 Flow, Transport와 보안 계층은 원본 설정에 맞춰 다시 대응해야 합니다. 일부 설정은 Flow를 사용하지 않으므로 출처가 지정한 빈 값으로 두세요. 출처에 Flow가 명확히 제시되어 있다면 동일한 항목을 선택해야 합니다. Reality를 사용하는 경우 Public Key, Short ID, Server Name 등이 추가될 수 있으며 이 필드들은 모두 같은 서버 설정에 속해야 합니다.
- UUID: 사용자 식별자로 입력하며 VMess 항목의 유형과 혼용하면 안 됩니다.
- Flow: 출처에 명확히 제시된 경우에만 선택하고 기본값을 임의로 추가하지 마세요.
- Transport: TCP, WebSocket, gRPC 등은 서버 설정과 일치해야 합니다.
- Reality 설정: Public Key, Short ID와 Server Name을 한 묶음으로 확인하세요.
Trojan·Hysteria2·WireGuard 식별 방법
Trojan: Password·TLS·SNI를 중점적으로 확인
Trojan 항목의 핵심 인증 값은 보통 Password이며 TLS와 함께 사용하는 경우가 많습니다. SNI 또는 Server Name은 인증서에 대응하는 호스트 이름을 지정합니다. 연결에 사용하는 Address와 같을 수도 있고 설정 출처에서 별도로 지정할 수도 있습니다. 인증서 이름이 틀리면 포트에 접근할 수 있어도 연결이 핸드셰이크 단계에서 멈출 수 있습니다.
- Password: 인증 문자열 전체를 복사하세요.
- TLS: 원본 설정에 따라 켜고 포트가
443이라고 임의로 판단하지 마세요. - SNI: 설정에 제공된 도메인을 사용하고 임의의 웹 사이트 주소를 입력하지 마세요.
- Transport: 설정에 WebSocket 또는 gRPC가 포함되어 있다면 해당 Path, Host 또는 Service Name을 계속 입력하세요.
Hysteria2: QUIC 기반이므로 UDP 연결 가능 여부 확인
Hysteria2는 일반적으로 QUIC를 기반으로 작동합니다. 연결 대상은 여전히 Address와 Port로 구성되며 인증 정보는 보통 Password로 제공됩니다. 설정에는 SNI, Obfuscation 유형과 Obfuscation Password가 포함될 수도 있습니다. UDP 통신에 의존하므로 테스트 결과는 현재 네트워크가 해당 UDP 포트의 통신을 허용하는지에 영향을 받습니다. Wi-Fi와 셀룰러 네트워크를 바꾼 뒤 결과가 달라도 설정값이 변했다는 뜻은 아닙니다.
- Address와 Port: 서버가 개방한 UDP 포트와 일치해야 합니다.
- Password: 서버의 인증 값과 일치해야 합니다.
- SNI: 인증서 설정에 맞는 서버 이름을 입력하세요.
- Obfuscation: 출처에 유형과 비밀번호가 모두 제시된 경우에만 활성화하며 두 값은 함께 사용해야 합니다.
WireGuard: 인터페이스와 Peer 두 그룹으로 이해
WireGuard는 앞서 설명한 계정·비밀번호형 프로토콜과 필드 구조가 다릅니다. 설정값을 두 그룹으로 나눌 수 있습니다. 로컬 인터페이스에는 Private Key와 Address가, 원격 Peer에는 Public Key, Endpoint와 Allowed IPs가 포함됩니다. Endpoint는 보통 호스트 이름 또는 IP와 포트로 구성됩니다. Allowed IPs는 해당 Peer로 전달할 대상 범위를 정하며 Shadowrocket의 DOMAIN-SUFFIX 규칙과는 다릅니다.
- Private Key: 로컬 인터페이스의 개인 키이며 서버의 Public Key를 입력하면 안 됩니다.
- Address: 터널 인터페이스에 할당된 주소이며 보통 CIDR 접두사 길이를 포함합니다.
- Public Key: 상대 Peer의 공개 키입니다.
- Endpoint: 상대 주소와 포트입니다.
vpn.example.com:51820은 형식을 보여 주기 위한 예시일 뿐입니다. - Allowed IPs: 기존 설정에 적힌 범위를 그대로 입력하세요.
- Reserved: 설정 출처에서 세 개의 숫자를 제공했다면 순서도 그대로 유지해야 합니다.
결론: 먼저 인증 필드로 설정 구조를 식별하세요
Password는 Shadowsocks, Trojan과 Hysteria2에서, UUID는 VMess와 VLESS에서 흔히 사용됩니다. Private Key와 Peer Public Key는 WireGuard를 가리킵니다. 인증 필드는 재확인에만 활용하고 최종 Type은 원본 설정의 표기를 기준으로 선택해야 합니다.
Transport·TLS·포트를 서로 섞어 입력하면 안 되는 이유
프로토콜은 인증과 데이터 캡슐화 방식을 정하고, Transport는 데이터가 전달되는 방식을 결정하며, TLS는 해당 상황에서 암호화 핸드셰이크와 서버 신원 정보를 처리합니다. 세 계층은 조합될 수 있으므로 같은 VLESS 유형도 서로 다른 Transport를 사용할 수 있고, 같은 WebSocket 전송이 여러 프로토콜 항목에 나타날 수도 있습니다. Add Server 화면에 추가 필드가 표시되면 서비스 제공자가 제공한 전체 설정값과 계속 대조해야 하며 프로토콜 이름만 확인하고 멈추면 안 됩니다.
WebSocket의 Path는 보통 /로 시작하고 Host는 핸드셰이크 요청의 호스트 필드입니다. gRPC에서는 Service Name이, TLS 환경에서는 SNI가 자주 사용됩니다. 모두 텍스트 값처럼 보이지만 전송되는 위치가 다릅니다. Service Name을 Path에 입력하거나 Address를 SNI에 그대로 복사하는 것은 원본 설정이 정확히 같은 경우에만 맞을 수 있습니다.
| 설정 항목 | 해결하는 문제 | 잘못 입력했을 때 흔한 현상 |
|---|---|---|
| Port | 서버 수신 진입점 확인 | 시간 초과, 연결 거부 또는 관련 없는 서비스에 연결됩니다. |
| Transport | TCP, WebSocket, gRPC 또는 QUIC 등 전달 방식 확인 | 포트에는 도달하지만 프로토콜 핸드셰이크가 완료되지 않습니다. |
| Path / Service Name | 해당 WebSocket 경로 또는 gRPC 서비스 확인 | 연결이 빠르게 끊기고 서버가 진입점을 찾지 못합니다. |
| TLS / SNI | TLS 연결을 설정하고 서버 이름 일치 확인 | 인증서 이름이 일치하지 않거나 핸드셰이크가 실패합니다. |
| UDP | Hysteria2, WireGuard 등의 관련 통신 전달 | 같은 설정값도 접속 네트워크에 따라 결과가 달라집니다. |
프로토콜 연결과 Global Routing은 별개의 기능입니다
서버 프로토콜은 연결을 만들고, Global Routing은 연결이 만들어진 뒤 트래픽을 처리하는 방식을 결정합니다. Config는 현재 규칙 설정을 읽고, Proxy는 선택한 서버를 통해 트래픽을 처리하며, Direct는 대상에 직접 연결합니다. Scene은 상황별 설정에 따라 동작합니다. 서버 항목 테스트가 성공했다고 해서 현재 Global Routing이 모든 요청을 해당 항목으로 보낸다는 뜻은 아닙니다.
Config 상태에서는 Shadowrocket이 규칙을 위에서부터 순서대로 대조합니다. 자주 쓰이는 키워드에는 DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL이 있습니다. 앞쪽의 구체적인 규칙이 먼저 적용되고 FINAL은 앞에서 일치하지 않은 요청을 처리합니다. 아래 내용은 규칙 문법만 보여 주는 것이며 도메인과 주소는 문서용 예시입니다:
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
- DOMAIN-SUFFIX: 도메인 접미사로 일치시키며 지정한 도메인과 하위 도메인에 적용할 수 있습니다.
- IP-CIDR: IPv4 주소 범위로 일치시킵니다.
192.0.2.0/24는 문서용 예시 네트워크입니다. - GEOIP: IP 지리 데이터베이스 결과로 일치시키며 도메인 문자열을 기준으로 판단하지 않습니다.
- FINAL: 앞의 규칙과 일치하지 않은 나머지 요청을 처리하며 보통 규칙의 마지막에 둡니다.
Config
권장Config의 규칙을 순서대로 대조해 대상마다 Proxy 또는 Direct 등의 정책을 적용할 수 있습니다.
적합한 경우: 검증이 끝난 규칙 설정이 있고 일상적으로 대상별 라우팅을 사용할 때
Proxy
현재 선택한 서버를 모든 요청에 사용하여 문제가 규칙에 일치하지 않아 발생하는지 확인할 수 있습니다.
적합한 경우: 일시적으로 규칙 라우팅의 영향을 제외할 때
Direct
요청을 대상에 직접 연결하며 선택한 서버를 통해 전달하지 않습니다.
적합한 경우: 로컬 네트워크에서 대상에 직접 접근할 수 있는지 확인할 때
Scene
설정한 네트워크 상황에 따라 처리 방식을 전환하며 결과는 저장된 Scene 조건에 따라 달라집니다.
적합한 경우: 네트워크 환경별 설정을 명확히 구분해 둔 경우
결론: 프로토콜 테스트 전 라우팅 상태를 고정하세요
새 서버를 점검할 때 현재 Global Routing을 먼저 기록한 뒤 Proxy로 항목 자체를 확인하세요. 항목이 정상임을 확인하면 Config로 되돌아가 DOMAIN-SUFFIX, IP-CIDR과 FINAL의 적용 순서를 계속 점검합니다.
연결 실패 시 필드 계층별로 점검
오류 유형에 따라 점검을 시작할 지점도 다릅니다. Connectivity Test에서 즉시 시간 초과가 표시되면 Address, Port와 현재 네트워크의 연결 가능성을 먼저 확인하세요. 빠르게 실패하지만 포트가 응답하는 것처럼 보이면 프로토콜 Type, Password, UUID, Method와 Transport를 확인합니다. TLS 핸드셰이크 문제라면 SNI, 기기 시간과 인증서 대응 관계를 중점적으로 점검하세요. 한 번에 여러 필드를 바꾸지 마세요. 어떤 수정이 결과를 바꿨는지 알 수 없게 됩니다.
Type 확인
Add Server 편집 화면으로 돌아가 Type이 원본 설정에 명시된 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard와 일치하는지 확인하세요.
주소와 포트 확인
Address에서 불필요한 프로토콜 접두사, 경로와 공백을 제거하고 Port가 브라우저나 입력기에 의해 바뀌지 않았는지 확인하세요.
인증 정보 확인
Password, UUID, Method, Private Key 또는 Public Key를 한 글자씩 대조하고 특히 대소문자와 하이픈을 확인하세요.
전송 및 보안 확인
Transport, Host, Path, Service Name, TLS, SNI, Flow와 Reality 관련 값을 계속 대조하세요.
라우팅 고정 테스트
기존 설정을 기록한 뒤 Global Routing을 일시적으로 Proxy로 설정하고 Connectivity Test를 실행해 규칙 라우팅 때문에 차이가 생겼는지 확인한 다음 원래 상태로 되돌립니다.
On Demand 확인
Settings → On Demand로 이동해 현재 Wi-Fi 또는 셀룰러 네트워크에서 자동 연결, 해제 또는 전환을 실행하는 조건이 있는지 확인하세요.
포트가 443이면 Trojan과 VLESS 중 무엇을 선택해야 하나요?
포트만으로 선택할 수 없습니다. 서비스 제공자가 전달한 설정 문서에서 프로토콜 이름과 Password 또는 UUID 같은 인증 필드를 확인하세요. 출처에 Type이 표시되어 있지 않다면 먼저 원본 설정 출처에 확인해야 합니다.
구독을 가져온 뒤 왜 여러 프로토콜이 표시되나요?
하나의 구독에서 서로 다른 Type의 서버 항목이 생성될 수 있습니다. 각 항목을 열어 유형을 확인하고 모든 항목을 하나의 프로토콜로 수동 변경하지 마세요. 업데이트할 때도 원래 Subscribe 출처에서 새로 고쳐야 합니다.
Connectivity Test는 성공했는데 요청이 서버를 거치지 않아요
Home에서 해당 항목이 선택되어 있는지 확인한 다음 Global Routing이 Direct인지 확인하세요. Config를 사용한다면 대상이 DOMAIN-SUFFIX, GEOIP 또는 IP-CIDR 규칙에 의해 Direct로 할당되어 있는지도 확인합니다.
다른 네트워크로 바꾸면 Hysteria2에 연결되지 않아요
먼저 해당 네트워크가 설정된 포트의 UDP 통신을 허용하는지 확인한 다음 Address, Port, Password와 SNI를 점검하세요. Wi-Fi와 셀룰러 네트워크의 결과가 다르면 테스트 상황을 각각 기록해 원래 서비스 설정 제공자에게 확인을 요청하세요.
On Demand는 언제 켜야 하나요?
네트워크 조건에 따라 연결을 자동으로 실행해야 할 때만 설정하세요. 경로는 Settings → On Demand입니다. 프로토콜 설정을 처음 점검할 때는 수동 테스트에 자동 동작이 영향을 주지 않도록 현재 상태를 먼저 확인하는 것이 좋습니다.
설치 출처와 사용 범위
Shadowrocket은 Apple 플랫폼의 폐쇄형 상용 앱이며 iPhone과 iPad에서 주로 사용합니다. Mac, Apple TV와 Apple Vision의 지원 여부는 App Store 호환성 항목을 기준으로 확인하고, 시스템 요구 사항은 App Store 페이지에 표시된 내용을 기준으로 하세요. 유일한 공식 획득 경로는 App Store입니다. 정품 제품 페이지의 개발자는 Shadow Launch Technology Limited이며 앱 ID는 932747118이고 구매 방식은 1회 구매입니다.
클라이언트 구매에는 회선 서비스가 포함되지 않습니다. 이 글은 사용자가 이미 보유한 서비스 제공자 설정값을 Shadowrocket에 대응하는 방법만 설명하며 회선 서비스, 서버 또는 구독을 제공하거나 추천하지 않습니다. 구독을 업데이트한 뒤 필드가 바뀌었다면 사용자의 원래 설정 출처를 기준으로 해야 하며 기존 항목의 Password, UUID, SNI 또는 키를 새 항목에 복사하지 마세요.
- Shadow Launch Technology Limited
- 앱 ID 932747118
- 1회 구매
- iPhone 및 iPad 공통 안내