Shadowrocket 지원 프로토콜과 설정 방법: Shadowsocks·VMess·VLESS·Trojan·WireGuard·Hysteria2 한눈에 보기

Shadowrocket에서 추가할 수 있는 프로토콜의 특징과 주요 설정 항목, Add Server에서 유형을 선택하는 방법을 간단히 살펴봅니다.

이 글의 핵심 내용

Shadowrocket에서는 Shadowsocks, VMess, VLESS, Trojan, WireGuard, Hysteria2 등의 프로토콜을 설정할 수 있습니다. 직접 보유한 서버 정보나 구독이 있고 Type과 각 설정 항목의 관계를 확인하려는 사용자를 위한 안내입니다. 먼저 비교표로 프로토콜을 구분하고, Home →「+」→ Add Server에서 설정을 확인한 다음 프로토콜, 전송 방식, Global Routing의 차이를 살펴봅니다. 이 글은 서버 정보를 제공하지 않으며, 여기에 소개한 6가지 프로토콜이 앱에서 지원하는 전체 유형을 의미하지는 않습니다.

1분 요약: 프로토콜별로 무엇을 확인해야 할까요?

이름만 보고 더 빠를 것 같은 유형을 고르기보다 기존 서버 설정과 동일한 프로토콜을 선택하세요. Home →「+」에서 Add Server를 열고 Type에서 현재 앱이 제공하는 유형을 확인합니다. 아래 프로토콜명은 구분을 위한 것이며, 실제 설정 항목과 선택 가능한 옵션은 현재 화면을 기준으로 확인하세요.

프로토콜설계 특징우선 확인할 설정 항목
Shadowsocks공유 키와 지정된 암호화 방식을 사용해 프록시 연결을 구성합니다.Address, Port, Method, Password. 추가 난독화 설정이 있다면 해당 항목도 일치해야 합니다.
VMess사용자 식별자로 인증하며, 전송 설정은 서버 구성과 맞아야 합니다.Address, Port, UUID, 암호화 설정, TLS 및 전송 방식
VLESSUUID로 인증하며, 프로토콜 자체는 콘텐츠를 암호화하지 않습니다.UUID, 전송 방식, 이에 맞는 보안 설정을 확인하세요. UUID만 입력했다고 설정이 완료되는 것은 아닙니다.
TrojanPassword로 인증하며, 일반적으로 TLS로 연결을 보호합니다.Password, Port, TLS, 인증서에 지정된 서버 이름
WireGuard키 쌍을 사용해 UDP 기반 암호화 터널을 구성합니다.클라이언트 Private Key, 피어 Public Key, Endpoint, 터널 주소 및 라우팅 범위
Hysteria2QUIC 기반이며 전송 계층에서 UDP를 사용하고 TLS와 인증 설정을 적용합니다.Address, UDP 포트, 인증 정보, 서버 이름 및 서버에서 요구하는 추가 설정
6가지
이 글에서 설명하는 프로토콜 수이며, 지원되는 전체 유형은 아닙니다.
443
일반적인 TLS 서버 포트 예시이며, 모든 프로토콜에 고정적으로 적용되는 포트는 아닙니다.
2가지
표에 나온 프로토콜 중 기반 통신에 UDP를 사용하는 항목: WireGuard, Hysteria2

요약: 서버 설정에 맞춘 뒤 연결 상태를 비교하세요

먼저 Type, Address, Port, 인증 정보를 하나씩 확인하세요. 설정이 일치해야 지연 시간이나 웹페이지 로딩을 의미 있게 비교할 수 있습니다. 속도를 높이려고 같은 주소의 Type을 임의로 바꾸지 마세요.

Shadowsocks·VMess·VLESS: 인증 항목은 서로 바꿔 쓸 수 없습니다

세 프로토콜의 차이는 이름의 길이가 아니라 인증 방식, 보안 설정, 전송 조합에 있습니다. Add Server에서 Type을 선택한 다음 기존 설정에 맞는 항목을 입력하세요. Type을 바꾼 뒤 주소나 포트가 그대로 남아 있어도 다른 설정까지 유효하다는 뜻은 아닙니다.

WebSocket은 VMess·VLESS와 같은 인증 프로토콜이 아니며, TLS도 새 서버 계정이 아닙니다. 서버 편집 화면에서 프로토콜 Type, 연결을 전달하는 전송 방식, TLS 보안 계층을 각각 구분하세요. 조합의 사용 가능 여부는 앱과 서버가 모두 해당 설정을 지원하는지에 따라 달라집니다.

Trojan·WireGuard·Hysteria2: 보안 설정과 네트워크 조건

이 세 프로토콜은 인증서, 키, 하위 네트워크 조건을 구분해서 확인해야 합니다. Add Server에서 프로토콜을 선택한 뒤 해당 인증 정보를 먼저 설정하고 TLS 또는 터널 항목을 확인하세요. 연결 문제가 항상 비밀번호 오류인 것은 아닙니다.

Trojan: Password와 TLS 서버 이름을 모두 확인하세요

Trojan은 TLS를 사용하는 경우가 많지만, 443 포트를 사용한다는 사실만으로 프로토콜 설정이 올바른 것은 아닙니다. 연결 주소에 IP를 입력했는데 인증서가 도메인에 발급됐다면 기존 설정에 따라 TLS 검증에 사용할 서버 이름을 입력해야 합니다. 인증서 오류를 해결하려고 검증을 끄지 마세요. Address, TLS 서버 이름, WebSocket Host는 용도가 다르므로 도메인 하나를 모든 항목에 입력하면 안 됩니다.

WireGuard: 클라이언트 개인 키와 피어 공개 키를 따로 입력하세요

WireGuard는 UUID나 Password가 아닌 키 쌍을 사용합니다. 클라이언트 Private Key는 안전하게 보관하고, 피어 Public Key는 실제 서버의 키와 일치하는지 확인하세요. Endpoint에는 피어 주소와 UDP 포트를 입력합니다. 터널 주소, Allowed IPs, MTU 등의 설정도 연결 가능한 범위에 영향을 줄 수 있으므로 임의의 고정값을 적용하지 말고 기존 설정과 대조하세요.

Hysteria2: UDP 경로가 연결되는지 먼저 확인하세요

Hysteria2는 QUIC 기반이므로 네트워크에서 해당 UDP 트래픽을 허용해야 합니다. 특정 TCP 포트에 응답이 있다고 해서 같은 포트의 UDP 경로도 정상이라는 뜻은 아닙니다. 서버에 추가 난독화나 특정 인증 설정이 있다면 클라이언트에도 맞게 입력해야 합니다. 이름이 비슷하다는 이유로 Hysteria와 Hysteria2를 같은 유형으로 취급할 수는 없습니다.

Add Server에서 Type을 선택하고 저장하는 방법

수동으로 추가할 때는 이미 확인된 전체 설정을 기준으로 하세요. 포트를 추측하거나 Type을 무작위로 바꾸는 것으로 설정을 대신할 수 없습니다. 아래 단계는 주로 iPhone과 iPad의 Home 화면을 기준으로 합니다. Type에 따라 입력 항목이 달라지므로 현재 프로토콜에 필요하고 출처가 명확한 정보만 입력하세요.

  1. 추가 화면 열기

    Home → 오른쪽 위「+」를 눌러 Add Server를 여세요. 보유한 서버의 주소, 포트, 인증 정보, 전송 방식을 준비하고 여러 출처의 설정을 임의로 조합하지 마세요.

  2. 유형 선택

    Type에서 기존 설정과 같은 프로토콜을 선택하세요. 기존 설정에 Hysteria2라고 명시되어 있다면 이름이 비슷한 다른 유형을 고르지 마세요. 필요한 옵션이 화면에 없다면 App Store에 표시된 앱 상태와 해당 설정의 호환 조건을 먼저 확인하세요.

  3. 기본 항목 입력

    Address와 Port를 입력한 다음 프로토콜에 따라 Password, UUID 또는 키를 입력하세요. 예를 들어 기존 설정에 Port가 8443으로 명시되어 있다면 8443을 입력하세요. TLS를 사용한다는 이유만으로 443으로 임의 변경하지 마세요.

  4. 추가 항목 확인

    기존 설정에 따라 TLS, 서버 이름, 전송 옵션을 확인하세요. WebSocket을 사용한다면 Host와 Path도 확인합니다. WireGuard는 터널 주소와 피어 설정을 점검하고 다른 프로토콜의 항목을 적용하지 마세요.

  5. 저장 후 테스트

    저장한 다음 Home으로 돌아가 해당 항목을 선택하고 연결을 켜세요. 처음으로 시스템 VPN 구성 승인이 표시되면 안내에 따라 확인합니다. Connectivity Test와 실제 웹페이지 접속으로 결과를 확인하고, 오류 내용을 기록한 뒤 한 번에 하나의 설정만 변경해 다시 테스트하세요.

구독 가져오기와 수동 추가는 목적은 같지만 시작 위치와 관리 방식이 다릅니다. 본인 구독이 있다면 Home →「+」→ Type → Subscribe에서 구독 URL을 입력하세요. 구독을 업데이트하면 항목과 설정이 바뀔 수 있으므로 중요한 수동 변경 사항은 먼저 기록해 두세요. 구독 URL에 액세스 정보가 포함된 경우 스크린샷이나 문의 기록에 공개하지 마세요.

프로토콜과 Global Routing·On Demand는 어떻게 다를까요?

프로토콜은 설정된 서버에 연결하는 방식을 정하고, Global Routing은 요청을 어떤 방식으로 처리할지 정하며, On Demand는 연결을 언제 시작할지 정합니다. 문제를 확인할 때는 Home → Global Routing, Config, Settings → On Demand에서 각각 점검하세요. 세 가지 설정을 혼동하지 마세요.

설정기능확인할 점
Add Server → Type서버 연결에 사용할 프로토콜을 정합니다.서버의 인증, 전송 방식, 보안 설정과 일치해야 합니다.
Global Routing → Proxy요청을 프록시 방식으로 처리합니다.문제를 확인할 때는 실제 요청과 연결 기록도 함께 살펴보세요. 스위치 상태만으로 판단할 수 없습니다.
Global Routing → Direct요청을 직접 연결 방식으로 처리합니다.웹페이지가 열렸다고 해서 현재 프로토콜이 해당 요청을 처리했다는 뜻은 아닙니다.
Global Routing → Config활성화된 설정의 규칙에 따라 요청을 처리합니다.Config에서 현재 활성화된 항목과 규칙에 적용된 정책을 확인하세요.
Global Routing → Scene설정된 Scene 조건에 따라 라우팅 설정을 적용합니다.Scene 조건과 실제 적용된 설정을 확인하세요. Scene은 프로토콜이 아닙니다.
Settings → On Demand설정한 조건에 따라 연결을 시작합니다.서버 설정을 대신하지 않으며, 개별 요청의 규칙 매칭도 처리하지 않습니다.

Config의 DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL은 규칙 키워드이지 Type 옵션이 아닙니다. 예를 들어 DOMAIN-SUFFIX,example.com,DIRECT는 도메인 접미사가 일치할 때 DIRECT를 사용한다는 뜻입니다. FINAL,DIRECT는 앞선 규칙에 일치하지 않을 때 적용되는 기본 정책입니다. 규칙은 순서대로 적용되므로 특정 웹페이지가 직접 연결되는 경우 프로토콜을 바로 바꾸기보다 먼저 어떤 규칙이 적용됐는지 확인하세요.

자주 묻는 질문: 가져오기와 속도 테스트는 되는데 왜 사용할 수 없나요?

가져오기에 성공했다는 것은 설정을 인식했다는 뜻일 뿐, 인증이 유효하거나 UDP에 연결되거나 웹 요청이 예상한 정책을 따른다는 뜻은 아닙니다. 원래 설정을 보관한 뒤 설정값, 네트워크, 모드, 규칙 순서로 확인하세요. 여러 항목을 한꺼번에 바꾸면 결과를 비교하기 어렵습니다.

같은 주소에서 VMess를 VLESS로 바로 바꿀 수 있나요?

Type만 바꾸면 변환이 완료되는 것은 아닙니다. Home에서 해당 항목의 편집 화면을 열고 서버가 VLESS용 포트, UUID, 전송 방식, 보안 설정을 별도로 제공하는지 확인하세요. 서버가 해당 조합을 명확히 지원하는 경우에만 새 설정에 따라 항목을 추가하세요.

Hysteria2 테스트에 실패하면 포트를 443으로 바꾸면 되나요?

포트를 바꾸는 것으로 설정 확인을 대신할 수 없습니다. 먼저 항목 편집 화면에서 서버의 실제 UDP 포트를 확인한 뒤 같은 설정으로 네트워크를 바꿔 테스트하세요. 443은 단순한 포트 번호입니다. 수신 대기 중이 아닌 포트를 입력해도 연결되지 않으며, 네트워크의 UDP 처리 방식이 자동으로 바뀌지도 않습니다.

구독을 새로 고친 뒤 서로 다른 프로토콜이 더 많이 보이는 이유는 무엇인가요?

하나의 구독에 Type이 다른 항목이 여러 개 포함될 수 있습니다. Home으로 돌아가 각 항목의 편집 화면을 열고 유형과 설정을 따로 확인하세요. 업데이트는 구독 내용을 다시 가져오는 작업이지, 앱이 한 프로토콜을 다른 프로토콜로 변환하는 작업이 아닙니다. 테스트할 때는 예상한 항목이 선택되어 있는지 확인하세요.

Connectivity Test 결과가 있으면 웹페이지도 반드시 정상적으로 열리나요?

그렇지 않습니다. 테스트 결과는 선택한 테스트 방법과 대상의 상태를 보여줄 뿐, 모든 요청 경로를 확인하지는 않습니다. Home → Global Routing에서 모드를 확인하고, Config를 사용하는 경우 활성화된 규칙도 확인하세요. DNS 조회 결과와 실제 웹페이지 접속 상태도 살펴보세요.

무조건 가장 빠른 프로토콜은 무엇이며, 바로 선택해도 되나요?

서버와 네트워크 조건을 무시하고 항상 빠른 프로토콜은 없습니다. 같은 테스트 네트워크와 대상 웹페이지를 사용하고 비슷한 시간대에 사용 가능한 설정의 로딩 속도와 안정성을 비교하세요. 서로 다른 지역에 있는 서버의 한 번뿐인 속도 테스트 결과를 프로토콜 차이로 단정하지 마세요.

App Store에서 다운로드