이 글 빠르게 보기

이미 이용 중인 서비스의 서버 정보나 구독 URL이 있고, Shadowrocket에서 프로토콜 설정을 확인하려는 분을 위한 안내입니다. 먼저 프로토콜 표에서 Type을 확인한 다음 Address, Port, 인증 정보와 전송 설정을 차례로 점검하세요. 마지막으로 연결 문제와 규칙에 따른 트래픽 분배 문제를 구분합니다. 프로토콜은 서버 설정과 일치해야 하며, Type만 바꾼다고 기존 서버가 다른 프로토콜로 전환되지는 않습니다.

지원 프로토콜 및 Add Server 입력 항목

Shadowrocket은 아래 표에 나열된 프로토콜을 지원합니다. Home에서는 서버와 연결을 관리하고, Config에서는 구성 파일과 규칙을, Settings에서는 앱 설정을 관리합니다. 프로토콜 매개변수는 주로 Home의 Add Server에서 확인합니다. Type을 선택하면 해당 프로토콜에 맞는 입력 항목이 표시되며, 추가 전송 옵션도 Type에 따라 달라질 수 있습니다. 아래 표는 확인할 정보를 정리한 것으로, 모든 프로토콜의 입력 양식이 동일하다는 뜻은 아닙니다.

프로토콜별 특징과 직접 입력 시 확인 사항
프로토콜 전송 및 인증 특징 Add Server에서 확인할 항목 자주 놓치는 부분
Shadowsocks 암호화 방식과 비밀번호로 프록시 데이터를 보호하며 TCP와 UDP를 전송할 수 있습니다. UDP 사용 가능 여부는 서버와 설정에 따라 달라집니다. Type, Address, Port, Method, Password를 확인하세요. 플러그인을 사용한다면 플러그인 매개변수도 점검해야 합니다. 서버와 Method가 일치하지 않거나, 플러그인 설정을 일반 메모처럼 입력하는 경우
VMess UUID를 인증 정보로 사용하며 여러 전송 방식과 함께 구성할 수 있습니다. TLS는 별도로 확인해야 하는 전송 보안 설정입니다. Address, Port, UUID, 암호화 옵션을 확인하세요. 기존 설정에 따라 Transport, TLS 및 추가 항목을 점검합니다. UUID는 맞지만 WebSocket의 Host 또는 Path가 일치하지 않는 경우
VLESS UUID를 인증 정보로 사용하지만 프로토콜 자체는 데이터를 암호화하지 않습니다. 보안은 실제 구성된 보안 계층에 따라 달라집니다. Address, Port, UUID를 확인하세요. 서버 설정에 따라 Transport, TLS, Flow 또는 관련 보안 매개변수를 점검합니다. UUID만 복사하고 서버에서 요구하는 보안 매개변수를 빠뜨리는 경우
Trojan Password로 인증하며 일반적으로 TLS를 통해 연결합니다. 인증서 이름과 연결 주소가 다를 수 있습니다. Address, Port, Password, TLS, Server Name을 확인하세요. 추가 전송 설정이 있다면 해당 값도 맞춰야 합니다. IP 주소를 입력하면서 기존 Server Name을 유지하지 않은 경우
HTTP / SOCKS5 프록시 프로토콜이며 기본 형태만으로는 연결 구간을 자동 암호화하지 않습니다. HTTP 프록시는 CONNECT를 사용할 수 있고, SOCKS5는 UDP 전달을 지원할 수 있습니다. Type, Address, Port를 확인하세요. 인증이 필요하면 Username과 Password를 입력하고, 보안 연결 옵션은 실제 서비스 설정에 맞춥니다. HTTP 프록시 주소를 웹페이지 URL처럼 입력하거나 모든 SOCKS5 서비스가 UDP를 지원한다고 가정하는 경우
WireGuard UDP를 통해 암호화된 터널을 만들고 키로 인증합니다. UUID나 일반 로그인 비밀번호는 사용하지 않습니다. Endpoint, Private Key, Peer Public Key, 로컬 터널 주소를 확인하세요. 구성에 따라 Allowed IPs, MTU 등도 점검합니다. 로컬 Private Key와 Peer Public Key를 서로 바꿔 입력하거나 터널 주소를 빠뜨리는 경우
Hysteria2 QUIC 기반으로 UDP를 사용합니다. 인증과 TLS 매개변수가 필요하며, 서버 설정에 따라 Obfs를 사용할 수 있습니다. Address, Port, 인증 정보, Server Name을 확인하세요. Obfs를 사용한다면 유형과 비밀번호도 맞춰야 합니다. 현재 네트워크에서 UDP가 제한되거나 Obfs 매개변수가 누락된 경우

요약: 기존 서버 정보에 맞는 Type 선택

서비스에서 제공한 프로토콜 이름을 먼저 확인한 뒤 인증과 전송 계층을 점검하세요. 기존 VMess 서버는 VLESS로 바꾸기만 해서 사용할 수 없습니다. 연결에 실패하면 여러 Type을 번갈아 시도하기보다 기존 매개변수를 먼저 복원하고 확인하세요.

Address, Port, 인증 정보 입력 방법

Address에는 서버 도메인이나 IP 주소를 입력하며, 구독 URL을 입력하지 않습니다. 직접 입력할 때는 일반적으로 server.example.com처럼 호스트 이름만 입력하세요. https://, 구독 경로 또는 쿼리 매개변수를 Address에 넣지 마세요. Port에는 기존 서비스에서 사용하는 실제 포트를 입력해야 합니다. 443은 흔히 쓰이는 예시일 뿐, 모든 Trojan, VLESS 또는 Hysteria2 서비스가 이 포트를 사용하는 것은 아닙니다.

인증 항목도 서로 바꿔 쓸 수 없습니다. Shadowsocks의 Password는 Method와 짝이 맞아야 합니다. VMess와 VLESS의 UUID는 전체를 빠짐없이 입력하세요. Trojan은 서버에서 지정한 Password를 사용합니다. WireGuard에는 로컬과 상대편 역할이 명확히 구분된 키 쌍이 필요합니다. 복사할 때 앞뒤 공백을 확인하고, 화면을 공유할 때는 비밀번호, UUID, 키, 구독 token을 가리세요.

  1. 입력 화면 열기

    Home으로 이동해 오른쪽 위의 “+”를 누르고 Add Server를 여세요. 기존 항목은 Home에서 편집 화면을 열 수 있습니다. 수정하기 전에 원래 매개변수를 보관해 두면 필요할 때 복원할 수 있습니다.

  2. 프로토콜 확인

    Type으로 이동해 원래 설정 정보에 지정된 프로토콜을 선택하세요. WireGuard는 일반 프록시 항목과 키 및 주소 입력 방식이 다르므로 VMess 입력 방법을 그대로 적용하지 마세요.

  3. 주소 입력

    Address와 Port를 입력하세요. 원래 설정 정보가 도메인이라면 도메인을 그대로 사용합니다. IP 주소가 명시된 경우에만 해당 주소를 입력하고, Port를 임의로 443으로 바꾸지 마세요.

  4. 인증 정보 확인

    Type에 맞춰 Password, UUID 또는 키를 입력한 뒤 해당하는 TLS, Transport 등의 옵션을 펼쳐 확인하세요. Host, Path, Server Name은 각각 점검하고, 이름이 비슷하다는 이유로 같은 값을 입력하지 마세요.

  5. 저장 후 테스트

    저장한 다음 Home으로 돌아가 해당 서버를 선택하고 연결 스위치를 켜세요. 처음 연결할 때 시스템 안내에 따라 VPN 구성을 추가하도록 허용한 뒤 Connectivity Test를 실행하고, 대상 웹페이지가 실제로 열리는지 확인하세요.

TLS, Transport, UDP 확인 방법

프로토콜 이름은 설정의 일부만 설명합니다. VMess 또는 VLESS 항목에는 WebSocket 같은 Transport가 지정될 수 있고, TLS는 해당 연결을 보호하는 데 사용됩니다. Host와 Path는 서버 측 라우팅에 사용될 수 있습니다. Address, Port, UUID가 모두 맞더라도 추가 항목이 일치하지 않으면 핸드셰이크에 실패할 수 있습니다. 기존 설정을 하나씩 대조하세요. 특정 프로토콜을 지원한다는 것이 모든 전송 조합을 자동으로 인식한다는 뜻은 아닙니다.

Server Name
TLS 연결에서 서버 이름을 설정하는 항목입니다. Address에 IP를 입력하더라도 Server Name은 인증서에 지정된 도메인일 수 있습니다. 두 항목의 역할이 다르므로 기계적으로 같은 값으로 입력하지 마세요.
Host / Path
WebSocket을 사용할 때 Host는 요청 헤더의 호스트 정보이고, Path는 요청 경로입니다. 경로 예시 /ws는 형식만 보여 줍니다. 실제 값은 기존 설정에서 확인하고, 앞의 슬래시와 대소문자를 그대로 유지하세요.
UDP
Hysteria2의 QUIC과 WireGuard 터널은 UDP를 사용합니다. 다른 프록시 프로토콜은 클라이언트 옵션, 서버 지원 여부, 현재 네트워크에서 필요한 UDP 트래픽을 허용하는지 각각 확인해야 합니다.
MTU
WireGuard 터널 매개변수 중 하나로, 패킷 크기에 영향을 줍니다. 설정 정보나 문제 진단 결과에서 패킷 크기가 원인으로 확인된 경우에만 조정하세요. 특정 값을 무조건 적용하는 일반적인 최적화 방법은 없습니다.

네트워크 제한 여부를 확인하려면 기존 설정 하나를 그대로 두고 Wi-Fi와 셀룰러 네트워크에서 각각 테스트해 연결이 완료되는 네트워크와 시간 초과가 발생하는 네트워크를 기록하세요. Hysteria2가 한쪽 네트워크에서만 실패한다면 UDP 연결 가능성을 점검할 실마리는 되지만, 이 현상만으로 프로토콜 문제라고 단정할 수는 없습니다. 이 글에서는 일반적인 속도 순위를 제시하지 않습니다. 처리량은 서버 부하, 경로, 패킷 손실 및 실제 설정에 따라 달라집니다.

구독을 가져온 뒤에도 매개변수를 확인해야 하는 이유

구독은 서버 항목을 한꺼번에 가져오는 방법이지 별도의 연결 프로토콜이 아닙니다. 구독 하나에 여러 Type이 포함될 수 있으며, 가져온 뒤에도 각 항목은 자체 프로토콜로 연결됩니다. 구독을 사용 중이라면 Home → “+” → Type → Subscribe에서 본인의 구독 URL을 입력하고 저장한 다음 구독을 업데이트하세요. Config의 구성 파일은 주로 규칙과 정책을 관리하므로 두 기능을 혼동하지 마세요.

업데이트 후 특정 항목의 연결이 갑자기 실패하면 업데이트 전후의 Type, Port, 전송 매개변수를 비교한 다음 서비스에서 인증 정보를 변경했는지 확인하세요. 모든 항목을 한꺼번에 수정하지 마세요. 하나를 선택해 테스트하고 나머지 설정을 유지하면 문제를 진단할 변수를 줄일 수 있습니다. 구독 URL은 접근 자격 정보와 같은 성격이 있으므로 공개 문의 글에 전체 URL을 올리지 마세요.

프로토콜 확인 후 Global Routing 점검

프로토콜은 서버 연결 방식을 정하고, Global Routing은 요청에 적용할 라우팅 방식을 정합니다. 두 설정은 서로 다른 계층입니다. Home에서 서버를 선택했더라도 Global Routing이 Direct라면 일반 프록시 요청이 선택한 서버로 전달되지 않습니다. Config를 사용하는 경우에는 현재 규칙이 어떤 정책과 일치하는지도 확인해야 합니다.

Config

권장

현재 구성의 규칙에 따라 정책을 선택합니다. DIRECT에 일치하는 요청은 직접 연결하고, PROXY에 일치하는 요청은 프록시 정책을 따릅니다. 명시되지 않은 모든 요청이 자동으로 직접 연결되는 것은 아닙니다.

적합한 경우: 규칙을 확인했으며 도메인이나 네트워크 대역별로 트래픽을 분기하려는 일상적인 사용

Proxy

일반적으로 프록시로 처리되는 요청을 프록시로 전달해 규칙 선택이 테스트에 미치는 영향을 줄입니다. 시스템 트래픽과 우회 설정 등이 실제 경로에 영향을 줄 수 있으므로 모든 패킷이 반드시 같은 방식으로 처리된다고 보장하는 설정은 아닙니다.

적합한 경우: 서버 연결을 임시로 테스트해 프로토콜 문제와 규칙 문제를 구분할 때

Direct

직접 연결 방식으로 동작하며 일반 프록시 요청에 선택한 서버를 사용하지 않습니다. Direct로 전환한 뒤 웹페이지가 열린다고 해서 해당 서버의 인증 및 전송 매개변수가 올바르다는 뜻은 아닙니다.

적합한 경우: 직접 연결을 기준으로 삼아 문제가 로컬 네트워크에서 비롯됐는지 확인할 때

Global Routing의 Scene은 상황별 라우팅 처리를 설정하는 기능이며, 네 번째 서버 프로토콜이 아닙니다. 새 항목을 테스트할 때는 먼저 명확한 라우팅 방식으로 변수를 줄이고, 테스트가 끝나면 평소 사용하는 설정으로 되돌리세요. 아래 규칙은 매칭 순서를 보여 주는 예시입니다. Config에서 확인하고 Add Server에 입력하지 마세요.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

규칙은 위에서 아래로 평가되며, 먼저 일치한 규칙이 정책을 결정합니다. DOMAIN-SUFFIX는 도메인과 하위 도메인에 일치하고, IP-CIDR은 네트워크 대역에 일치합니다. GEOIP는 IP가 속한 지역을 기준으로 판단하며, FINAL은 앞선 규칙에 일치하지 않은 요청을 처리합니다. 여기서 FINAL,PROXY는 나머지 요청을 프록시로 전달하도록 명시합니다. 실제 사용 전에는 해당 정책을 사용할 수 있는지 확인하고 자신의 네트워크 환경에 맞게 조정하세요.

프로토콜 연결 관련 자주 묻는 질문

UUID가 같은데 VMess를 VLESS로 바꾸면 왜 연결되지 않나요?

UUID는 인증 정보의 일부일 뿐이며 두 프로토콜의 통신 방식은 다릅니다. Home으로 돌아가 해당 항목의 편집 화면을 열고 Type을 서비스에서 지정한 값으로 되돌린 다음 Transport와 보안 매개변수를 다시 확인하세요. 서버에서 VLESS 설정을 명시적으로 제공한 경우에만 해당 정보를 사용해 새 항목을 만드세요.

Trojan에 IP 주소를 입력했더니 TLS 오류가 표시됩니다. 어떻게 해야 하나요?

해당 항목을 열고 Address와 Server Name을 각각 확인하세요. 서버에 IP로 연결해야 하지만 도메인 인증서를 사용하는 경우, 제공된 인증서 도메인을 Server Name으로 유지하세요. 기기 시간도 정상인지 확인합니다. 계속 실패하면 오류 유형 전체를 기록하고 서버 인증서 상태를 확인하세요. 인증서 검증을 먼저 건너뛰지는 마세요.

비밀번호도 확인했는데 Hysteria2가 계속 시간 초과됩니다.

Port, Server Name, Obfs 설정을 추가로 확인한 다음 현재 사용할 수 있는 다른 네트워크에서 같은 항목을 테스트하세요. Hysteria2는 UDP를 사용하므로 비밀번호만 확인해서는 네트워크 제한 여부를 배제할 수 없습니다. 한 번에 하나의 매개변수만 변경하고 연결 결과를 기록하세요. Port와 Obfs 설정을 동시에 바꾸면 원인을 파악하기 어렵습니다.

Connectivity Test는 성공했는데 웹페이지가 열리지 않습니다.

먼저 Home → Global Routing을 확인하고, 일시적으로 Proxy를 선택해 같은 웹페이지를 다시 여세요. 페이지가 열리면 Config로 돌아가 해당 도메인의 규칙과 정책을 점검합니다. 그래도 실패하면 DNS, TLS, 대상 서비스를 확인하세요. Connectivity Test의 성공은 해당 테스트가 통과했다는 뜻일 뿐, 모든 대상과 트래픽 유형이 정상이라는 보장은 아닙니다.