Shadowrocket 지원 프로토콜: Shadowsocks·VMess·VLESS·Trojan·Hysteria2 한눈에 보기

Shadowsocks, VMess, VLESS, Trojan, HTTP/SOCKS5, WireGuard, Hysteria2의 특징과 용도를 알아보고 Add Server에서 선택할 Type을 확인하세요.

이 글의 핵심

Shadowrocket은 여러 서버 프로토콜을 지원하지만, Type은 서버와 일치해야 합니다. 이름만 바꾼다고 프로토콜이 전환되지는 않습니다. 이미 서비스와 구독을 이용 중인 경우를 기준으로 7가지 프로토콜의 용도, 서버를 추가할 때 확인할 항목, 프로토콜·전송 방식·규칙 오류를 구분하는 방법을 설명합니다. 구독 링크와 연결 매개변수는 이용 중인 서비스 제공업체에서 확인하세요.

1. 지원 프로토콜과 Add Server의 Type 선택

먼저 서버에서 사용하는 프로토콜을 확인한 다음 Home → 오른쪽 상단 ‘+’ → Add Server → Type에서 해당 항목을 선택하세요. 이 글에서는 Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard, HTTP, SOCKS5를 다룹니다. 실제 선택 항목과 입력 필드는 기기의 현재 앱 화면을 기준으로 확인하세요.

프로토콜은 클라이언트와 서버가 핸드셰이크, 인증, 데이터 전송을 수행하는 방식을 결정합니다. 서버 주소와 포트는 연결 지점일 뿐이며, 이것만으로 프로토콜을 판단할 수 없습니다. 예를 들어 포트 443은 여러 서비스에서 사용할 수 있으므로, 443이라고 해서 Trojan을 선택해야 하는 것도 아니고 TLS가 활성화되었다는 뜻도 아닙니다.

서버 프로토콜해당 Type주요 확인 항목
ShadowsocksShadowsocks주소, 포트, 암호화 방식, 비밀번호
VMessVMessUUID, 암호화 설정, 전송 방식, TLS
VLESSVLESSUUID, 전송 방식, TLS 또는 해당 보안 매개변수
TrojanTrojan비밀번호, 포트, TLS, 서버 이름
HTTP / HTTPSHTTP / HTTPS 항목프록시 연결 지점, 인증 방식, TLS 사용 여부
SOCKS5Socks5 항목주소, 포트, 사용자 이름과 비밀번호, UDP 지원 조건
WireGuardWireGuard로컬 개인 키, 피어 공개 키, 엔드포인트, 터널 주소
Hysteria2Hysteria2인증 정보, UDP 포트, TLS, 선택적 난독화 매개변수

결론: 서버 매개변수에 맞춰 Type 선택

먼저 기존 구독을 가져와 생성된 서버 유형을 확인하세요. 직접 추가할 때만 각 항목을 입력하면 됩니다. 특정 프로토콜을 지원한다고 해서 모든 전송 조합이나 추가 매개변수를 서로 바꿔 쓸 수 있는 것은 아닙니다.

2. Shadowsocks, VMess, VLESS의 차이

Shadowsocks: 비밀번호와 암호화 방식 확인

Shadowsocks는 미리 정한 비밀번호와 암호화 방식으로 프록시 연결을 설정합니다. Add Server에서 Shadowsocks를 선택한 뒤 주소와 포트뿐 아니라 암호화 방식도 서버 설정과 일치하는지 확인하세요. 비밀번호가 맞아도 암호화 방식이 다르면 연결에 실패할 수 있습니다. 이름이 비슷하다는 이유로 암호화 방식을 바꾸지 마세요.

서버 설정에 추가 플러그인이나 난독화 매개변수가 포함되어 있다면 앱에서 지원하는지 확인하고 해당 값을 빠짐없이 유지해야 합니다. 주소, 포트, 비밀번호만 복사하는 것으로 전체 설정을 가져온 것과 같아지지는 않습니다. 구독을 가져온 뒤에는 서버 편집 화면에 표시되는 실제 필드를 기준으로 확인하세요.

VMess: UUID뿐 아니라 전송 계층도 확인

VMess는 UUID 등의 식별 정보로 인증하며 자체 데이터 보안 설정도 사용합니다. 서버에서 WebSocket이나 다른 전송 방식을 지정했다면 클라이언트에서도 동일하게 설정해야 합니다. TLS를 사용한다면 서버 이름 등의 매개변수도 확인하세요. UUID가 맞는 것은 필수 조건 중 하나일 뿐, 전송 설정을 대신하지 않습니다.

VLESS: 인증과 연결 보안을 구분해서 이해하기

VLESS 자체는 데이터를 암호화하지 않습니다. 연결 보안은 사용하는 보안 계층과 전체 설정에 따라 달라집니다. VMess의 Type만 VLESS로 바꾸고 나머지 필드를 그대로 사용할 수는 없습니다. TLS, REALITY 또는 특정 전송 매개변수가 포함된 경우 서버에서 제공한 설정을 기준으로 확인하고, 현재 앱에 해당 옵션이 있는지도 살펴보세요.

3. Trojan과 Hysteria2: 비슷한 TLS, 다른 전송 기반

Trojan은 일반적으로 TLS로 연결을 보호하고 비밀번호로 인증합니다. Trojan을 선택한 뒤 서버 포트, 비밀번호, TLS 서버 이름을 확인하세요. 서버 주소가 IP일 수 있지만 인증서는 보통 도메인에 발급되므로 주소와 인증서 이름은 별도로 이해해야 합니다. 인증서 오류를 해결하려고 인증서 검증을 계속 꺼 두어서는 안 됩니다.

Hysteria2는 QUIC 기반이며 UDP를 하위 전송 방식으로 사용하고 TLS 및 인증을 결합합니다. Hysteria2를 선택한 뒤에는 주소와 인증 정보뿐 아니라 UDP 포트, 서버 이름, 서버의 난독화 사용 여부도 확인하세요. Hysteria와 Hysteria2는 서로 다른 프로토콜 버전이므로, 이름 앞부분이 같다는 이유만으로 호환된다고 판단할 수 없습니다.

확인 항목Trojan의 일반적인 설정Hysteria2
기본 전송 방식일반적으로 TCP를 통해 TLS 연결 설정UDP를 통해 QUIC 연결 설정
인증비밀번호 확인인증 정보와 서버 요구 사항 확인
포트 예시서버에서 TCP 443을 지정했다면 443 입력서버에서 UDP 443을 지정했다면 443 입력
네트워크 제한의 영향TCP 포트와 TLS 핸드셰이크 확인현재 네트워크에서 대상 UDP 포트에 접속할 수 있는지 확인

표의 443은 같은 포트 번호라도 전송 방식이 다를 수 있음을 보여주는 예시일 뿐, 공통 설정값이 아닙니다. Hysteria2의 실제 성능은 UDP 연결 가능 여부, 패킷 손실, 대역폭, 서버 설정에 따라 달라집니다. 프로토콜 이름만으로 더 빠르다고 단정할 수 없습니다. 같은 설정이 Wi-Fi에서는 작동하지만 셀룰러 네트워크에서 시간 초과된다면 설정은 그대로 두고 네트워크 조건을 비교하세요.

4. HTTP, SOCKS5, WireGuard의 용도

HTTP와 SOCKS5는 범용 프록시 프로토콜입니다. HTTP 프록시는 CONNECT를 사용해 대상 서버와 연결할 수 있습니다. HTTPS 프록시는 클라이언트와 프록시 서버 사이에 TLS를 추가하는 방식이며, ‘HTTP 프록시를 통해 HTTPS 웹사이트에 접속하는 것’과는 다른 개념입니다. Type은 접속하려는 웹사이트가 아니라 프록시 연결 지점 자체가 TLS를 사용하는지에 따라 선택하세요.

SOCKS5는 사용자 이름과 비밀번호 인증을 협상할 수 있지만, 프로토콜 자체는 트래픽을 암호화하지 않습니다. UDP 지원 여부는 서버 지원, 앱 설정, 중간 네트워크에 따라 달라집니다. Socks5를 선택했다고 해서 모든 UDP 요청이 성공하는 것은 아닙니다. 흔히 언급되는 포트 1080은 관례적인 예시일 뿐이며, 실제로는 서버에서 안내한 포트를 사용해야 합니다.

WireGuard는 키 기반 터널 프로토콜로, 프록시 비밀번호만 입력하는 방식과 다릅니다. 일반적으로 로컬 개인 키, 피어 공개 키, 터널 주소, 원격 엔드포인트 등이 설정에 필요합니다. 사전 공유 키를 사용하는 경우 양쪽의 키도 일치해야 합니다. 엔드포인트는 UDP를 사용하며, 51820은 흔한 예시 포트이지 고정된 요구 사항은 아닙니다.

5. 구독 가져오기부터 첫 연결 확인까지

구독은 서버 설정을 전달하는 방식이지 트래픽 전송 프로토콜이 아닙니다. 하나의 구독에 Type이 서로 다른 서버가 포함될 수 있으며, 구독을 업데이트한다고 프로토콜이 업그레이드되는 것도 아닙니다. 서비스 제공업체에서 받은 전체 구독을 우선 사용해 TLS, 전송 경로, 인증 매개변수가 수동 복사 중 빠지는 일을 방지하세요.

  1. 출처 확인

    기존 구독 또는 전체 연결 매개변수를 준비하세요. 앱을 아직 받지 않았다면 정품 확인 페이지에서 App Store 링크를 확인하세요. 서비스 연결 매개변수는 별도로 이용 중인 서비스 제공업체에서 받아야 합니다.

  2. 구독 가져오기

    Home → 오른쪽 상단 ‘+’ → Add Server → Type → Subscribe로 이동해 구독 링크를 입력하고 저장하세요. Home으로 돌아와 구독 업데이트 기능으로 서버 목록을 가져옵니다.

  3. Type 확인

    가져온 서버의 편집 화면을 열어 Type, 주소, 포트, TLS 등의 필드를 확인하세요. 직접 추가한다면 Add Server → Type에서 해당 프로토콜을 선택하고 원본 매개변수에 맞춰 입력하세요.

  4. 서버 선택 및 연결

    Home으로 돌아와 사용할 서버를 선택하고 선택 표시를 확인한 다음 화면 상단의 연결 스위치를 켜세요. 처음 연결할 때는 시스템 안내에 따라 VPN 구성을 추가하도록 허용해야 합니다.

  5. 접속 확인

    Home에서 Connectivity Test를 실행한 뒤 실제 대상에 접속해 보세요. 테스트는 통과했지만 대상 접속에 실패한다면 곧바로 Type을 바꾸지 말고 Global Routing, 현재 설정, DNS를 확인하세요.

구독을 업데이트하면 직접 수정한 서버 필드가 새 내용으로 덮어써질 수 있습니다. 업데이트 전후에 동작이 달라졌다면 먼저 Type, 포트, 전송 방식, TLS 필드를 비교하세요. 서버 측 확인이 필요하면 인증 정보를 제거한 오류 현상과 네트워크 조건만 전달하세요.

6. Type과 Global Routing은 서로 다른 설정

Type은 서버 연결 방식을 정하고, Global Routing은 요청을 어떤 경로로 처리할지 정합니다. 프로토콜 설정이 올바르더라도 라우팅 모드나 규칙 매칭 때문에 예상한 서버를 사용하지 않을 수 있습니다. 아래 안내는 신뢰할 수 있는 규칙 설정을 이미 갖춘 경우의 일반적인 사용을 기준으로 하며, 특정 프로토콜이나 연결 경로를 추천하는 내용은 아닙니다.

Config

추천

현재 선택된 구성 파일에 따라 요청을 처리합니다. 규칙은 순서대로 매칭되며 최종 결과는 일치한 정책에 따라 달라집니다. Config를 특정 웹사이트 유형의 고정된 직접 연결 설정으로 단순화할 수는 없습니다.

적합한 경우: 올바른 규칙 구성이 있고 대상별로 트래픽을 라우팅하려는 경우

Proxy

프록시를 전역 라우팅 모드로 사용해 Config의 규칙이 미치는 영향을 비교합니다. 서버 Type을 바꾸거나 비밀번호, 인증서, 전송 오류를 해결하는 기능은 아닙니다.

적합한 경우: 규칙 라우팅이 연결 실패의 원인인지 일시적으로 확인하려는 경우

Direct

직접 연결 모드를 사용해 선택한 프록시 서버를 거치지 않고 프로토콜 사용 가능 여부를 확인합니다. 이 상태에서 웹페이지가 열려도 방금 가져온 서버가 정상이라는 뜻은 아닙니다.

적합한 경우: 현재 네트워크에서 직접 접속할 수 있는지 비교하려는 경우

Scene

설정된 장면 조건에 따라 해당 라우팅 동작을 적용합니다. 문제를 확인할 때는 현재 장면과 장면별 설정도 함께 살펴보세요. 화면에 Scene이라고 표시된 것만 기록해서는 충분하지 않습니다.

적합한 경우: 네트워크 환경별 라우팅 동작을 명확하게 설정해 둔 경우

Config의 DOMAIN-SUFFIX는 도메인 접미사를, GEOIP는 대상 IP의 지리 데이터베이스 정보를, IP-CIDR는 IP 주소 대역을 기준으로 매칭합니다. FINAL은 마지막 기본 규칙으로 사용됩니다. 이는 규칙 키워드이며 Add Server의 프로토콜 옵션이 아닙니다. Settings → On Demand에서는 주문형 연결 조건을 확인하며, 이 역시 프로토콜을 선택하는 메뉴가 아닙니다.

7. 프로토콜 선택 및 연결 실패 FAQ

VMess를 VLESS로 바꾸면 연결이 더 빨라지나요?

Type만 바꿔서는 안 됩니다. Home의 서버 편집 화면에서 서버가 제공한 프로토콜로 되돌리세요. 서버에서 별도의 VLESS 설정을 제공한다면 독립된 서버로 전체 설정을 가져와야 합니다. 인증 방식, 전송 방식, 보안 매개변수가 모두 서로 일치해야 합니다.

Hysteria2가 계속 시간 초과되지만 다른 연결은 작동하나요?

먼저 Type이 Hysteria2로 설정되어 있는지 확인한 다음 인증 정보, UDP 포트, TLS 서버 이름을 점검하세요. 서버 매개변수는 그대로 두고 Wi-Fi와 셀룰러 네트워크에서 각각 테스트하세요. 특정 네트워크에서만 실패한다면 네트워크 조건을 기록하고 대상 UDP 포트에 접속할 수 있는지 확인하세요.

지연 시간은 표시되는데 웹페이지가 열리지 않는 이유는 무엇인가요?

Home에서 선택한 서버를 확인한 다음 Connectivity Test를 실행하세요. 이어서 Global Routing이 예상한 모드인지 살펴보세요. Config를 사용하는 경우 현재 구성과 규칙 매칭도 확인해야 합니다. 지연 시간 결과는 해당 테스트 방식만 보여주며 실제 대상에 정상 접속되는지까지 확인해 주지는 않습니다.

인증서 오류가 발생하면 검증을 바로 끄면 되나요?

먼저 시스템 날짜와 시간을 확인한 다음 서버 편집 화면의 TLS 서버 이름 및 서버 인증서 요구 사항과 대조하세요. 인증서 만료, 이름 불일치, 신뢰 체인 오류는 각각 다르게 처리해야 합니다. 오류 정보를 보관해 서비스 제공업체에 문의하고, 검증을 끄는 것을 일반적인 해결 방법으로 삼지 마세요.

구독 업데이트 후 프로토콜이 바뀌었는데 직접 되돌려야 하나요?

먼저 업데이트된 서버의 Type과 연결 필드를 확인하고 서비스 제공업체의 변경 안내와 비교하세요. 이전 이름을 근거로 새 매개변수를 덮어쓰지 마세요. 설정이 불완전해 보이면 인증 정보를 제거한 오류 설명을 보관하고 서비스 제공업체에 확인한 뒤 구독을 다시 업데이트해 검증하세요.

최종 점검 순서는 프로토콜 일치 여부, 연결 매개변수의 완전성, 현재 네트워크에서 필요한 전송 방식의 사용 가능 여부, 라우팅 설정의 적절성입니다. 한 번에 한 가지 조건만 바꾸고 전후 현상을 기록하면 여러 Type을 반복해서 바꾸는 것보다 문제를 쉽게 찾을 수 있습니다.

App Store에서 정품 다운로드개발자와 앱 ID 확인