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

Shadowsocks, VMess, VLESS, Trojan, HTTP·SOCKS5, WireGuard, Hysteria2의 차이를 살펴보고 Add Server에서 설정의 프로토콜을 확인하는 방법을 알아봅니다.

이 글 미리보기

Shadowrocket은 iPhone, iPad, Mac, Windows, Android, Linux에서 사용할 수 있습니다. iPhone / iPad 버전은 App Store에서 $2.99 일회성 결제로 제공되며, 시스템 요구 사항은 App Store 페이지를 확인하세요. Mac(Apple Silicon 및 Intel), Windows, Android, Linux 버전은 무료이며 모두 이 사이트의 다운로드 페이지에서 받을 수 있습니다. 이 글은 이미 서비스 제공업체의 설정을 보유한 사용자가 프로토콜을 확인하고, 필드를 대조하며, 연결 문제를 해결하는 데 도움을 줍니다. 노드나 구독은 제공·판매·추천하지 않습니다.

프로토콜, 전송 방식, 규칙 구분하기

Home에서 서버를 추가할 때 Add Server의 Type은 클라이언트와 원격 서버가 사용하는 프로토콜을 나타냅니다. Shadowsocks, VMess, VLESS, Trojan 등의 이름은 양쪽이 데이터를 인증하고 캡슐화하며 주고받는 방식을 뜻합니다. 웹사이트의 분류나 연결 속도 등급이 아닙니다. 보유한 설정에 따라 입력해야 하며, 같은 주소에서 Type만 임의로 바꾼다고 연결이 유지되는 것은 아닙니다.

전송 방식은 별도의 설정 항목입니다. 예를 들어 VMess 또는 VLESS 설정에는 WebSocket, gRPC, TLS 등의 필드가 함께 있을 수 있습니다. 프로토콜 이름만 알아냈다고 필요한 매개변수를 모두 확인한 것은 아닙니다. 규칙은 각 요청에 어떤 정책을 적용할지 결정하며, 규칙을 수정해도 프로토콜이 다른 종류로 바뀌지는 않습니다.

8가지
이 글에서 설명하는 프로토콜 유형이며, 전체 기능 범위를 뜻하지는 않습니다
2가지 이용 방법
iPhone / iPad $2.99 일회성 결제, 그 외 플랫폼 무료
443
TLS 서버에서 흔히 사용하는 포트입니다. 실제 설정은 구성에 지정된 값을 따라야 합니다

확인 순서: 먼저 Type, 다음으로 전송 매개변수

포트가 443이라고 해서 Trojan이라고 단정하거나 TCP를 사용한다고 판단할 수는 없습니다. 먼저 보유한 설정에서 프로토콜 이름을 확인한 다음 포트, 전송 방식, 인증 정보, TLS 설정을 각각 대조하세요.

Shadowsocks, VMess, VLESS, Trojan의 필드 차이

이 네 가지 설정은 주로 인증 방식과 암호화가 적용되는 계층에서 차이가 납니다. 표는 유형을 식별하고 설정을 대조할 때 확인할 사항을 정리한 것이며, 그대로 입력해 연결할 수 있는 매개변수 모음이 아닙니다. Address와 Port는 보유한 설정과 일치해야 합니다. 서버 포트가 흔히 443이더라도 임의로 바꾸지 마세요.

Type 설계 특징 우선 확인할 항목
Shadowsocks 암호화 프록시 프로토콜로, 클라이언트와 서버에서 호환되는 암호화 방식과 키 정보를 사용해야 합니다. Address, Port, Method, Password 및 설정에서 명시적으로 요구하는 추가 옵션
VMess UUID 등의 정보를 사용해 인증합니다. 프로토콜이 데이터를 보호하며, 외부 전송 방식 및 TLS와 함께 사용할 수도 있습니다. UUID, 기기 시간, 전송 방식, TLS·Host·Path 등 관련 매개변수
VLESS 경량 인증 프로토콜로, 프로토콜 자체는 데이터를 암호화하지 않습니다. 연결 보호 여부는 함께 사용하는 보안 계층에 따라 달라집니다. UUID, 전송 방식, TLS 또는 설정에 지정된 보안 매개변수. UUID만 입력해서는 안 됩니다.
Trojan 일반적으로 TLS 연결에서 비밀번호 인증을 사용하며, 인증서와 서버 이름을 올바르게 확인해야 합니다. Password, Port, TLS Server Name 및 서버 인증서에 설정된 이름

Shadowsocks의 Method는 임의로 선택하는 암호화 강도 설정이 아닙니다. 클라이언트와 서버의 값이 다르면 대개 정상적으로 복호화할 수 없습니다. VMess의 UUID도 서버 주소가 아닙니다. 복사할 때 전체 문자를 빠짐없이 입력하고 기기에서 자동 시간 설정을 켜세요. 시간 오차로 인증에 실패한 것을 규칙 문제로 오해할 수 있습니다.

VLESS 프로토콜 자체에 암호화가 없다는 말이 모든 VLESS 연결에 보호 기능이 없다는 뜻은 아닙니다. 실제로 함께 사용하는 보안 계층을 확인하세요. Trojan에서 인증서 오류가 발생해도 검증을 끄는 방식으로 해결하지 마세요. 먼저 기기 시간, Address, TLS Server Name을 확인하고 설정에 지정된 도메인에 유효한 인증서가 연결되어 있는지 확인하세요. 연결 주소, TLS Server Name, WebSocket Host는 각각 역할이 다릅니다. 항상 같은 값이어야 하는 것도 아니며, 서로를 무작정 덮어써서도 안 됩니다.

HTTP, SOCKS5, WireGuard, Hysteria2 구분하기

각 이름은 서로 다른 프록시 또는 터널링 방식을 가리킵니다. HTTP와 SOCKS5는 ‘기능이 약한 다른 프로토콜’이 아니며, WireGuard는 임의의 프록시 비밀번호를 입력할 수 있는 Type도 아닙니다. 서버 도메인만 볼 것이 아니라 보유한 설정의 전체 필드를 확인해야 합니다.

Hysteria2가 모든 네트워크에서 더 빠른 것은 아니며, WireGuard를 사용한다고 모든 요청이 자동으로 터널을 통과하는 것도 아닙니다. 실제 성능은 네트워크 경로 품질, 서버 제한, UDP 연결 가능 여부, 규칙 선택에 따라 달라집니다. 프로토콜 이름만으로 사용할 회선을 선택하지 마세요. 보유한 설정에 적힌 프로토콜과 매개변수 그대로 연결을 구성해 확인하는 것이 우선입니다.

보유한 설정을 기준으로 Add Server 입력하기

아래 안내는 iPhone / iPad의 Home 및 Add Server 화면 용어를 기준으로 합니다. 다른 플랫폼에서는 실제 화면 구성을 확인하세요. 직접 입력하기 전에 프로토콜 유형, 주소, 포트, 인증 정보, 전송 매개변수를 모두 준비합니다. 구독 설정이 있다면 TLS나 전송 필드를 빠뜨리지 않도록 구독에 포함된 전체 설정을 우선 사용하세요.

  1. 추가 화면 열기

    Home → 오른쪽 위 “+” → Add Server로 이동합니다. 먼저 Type을 확인한 다음 보유한 설정에 따라 Shadowsocks, VMess, VLESS, Trojan 등 해당 유형을 선택하세요. 이름만 보고 추측하지 마세요.

  2. 기본 항목 입력

    Address와 Port를 입력한 다음 해당 프로토콜에 필요한 Password, UUID 또는 키 정보를 입력합니다. 원래 설정에 있는 포트를 사용하고 모든 항목을 443으로 바꾸지 마세요.

  3. 추가 항목 확인

    TLS, Server Name, 전송 방식, Host, Path 등 실제 설정에 있는 항목을 확인합니다. Path의 맨 앞 슬래시와 대소문자는 원래 설정과 일치해야 합니다. 제공되지 않은 추가 항목을 임의로 추측해 입력하지 마세요.

  4. 저장 후 연결 확인

    저장한 다음 Home으로 돌아가 해당 항목을 선택하고 연결을 켭니다. 테스트 대상, 현재 Global Routing 설정, 오류 상황을 기록한 뒤 웹 요청도 확인하세요. 지연 시간 숫자만으로 모든 기능이 정상이라고 판단하지 마세요.

구독을 가져오려면 Home → “+” → Type → Subscribe로 이동해 보유한 구독 주소를 입력하고 저장한 다음 Home에서 해당 구독을 업데이트합니다. 구독은 설정 모음을 가져오는 방법이지 VMess, VLESS와 같은 트래픽 프로토콜이 아닙니다. 업데이트 후에도 각 항목에는 고유한 Type이 있습니다. 구독 업데이트 실패와 기존 항목의 연결 실패는 따로 확인하세요.

프로토콜 확인 후 Global Routing 점검하기

Home의 Global Routing은 요청에 적용할 정책을 결정합니다. Config 페이지에서는 구성 파일을 관리하고 Settings에서는 앱 설정을 관리합니다. 프로토콜은 서버 연결을 구성하고 라우팅 모드는 어떤 요청에 그 연결을 사용할지 결정하므로 각각 따로 확인해야 합니다. 아래 내용은 Shadowrocket의 라우팅 설정만 비교하며 프로토콜 속도를 비교하지 않습니다.

Config: 설정 파일 규칙에 따라 처리

권장

현재 구성 파일의 규칙에 따라 정책을 적용합니다. 먼저 Config에서 선택된 파일을 확인한 다음 규칙 순서와 최종 정책을 점검하세요. 여기서 권장하는 것은 정해진 규칙으로 일상적인 분류를 확인하는 방법이며 특정 회선을 추천하는 것이 아닙니다.

적합한 경우: 적용할 규칙이 정해져 있고 특정 사이트와 그 외 요청의 처리 방식을 확인할 때

Proxy: 프록시 경로 확인

이 모드에서 처리되는 연결을 프록시로 보냅니다. 서버 연결 문제인지 규칙이 일치하지 않는 문제인지 임시로 구분할 때 사용할 수 있습니다. 테스트가 끝나면 원래 모드로 되돌려 임시 진단 설정이 최종 분류 결과로 남지 않게 하세요.

적합한 경우: Config 모드에서 같은 대상에 접속할 수 없어 프록시 경로의 작동 여부를 비교할 때

Direct: 직접 연결 경로 확인

이 모드에서 처리되는 연결은 프록시를 거치지 않고 직접 접속합니다. 이때 웹페이지가 열린다고 해서 프록시 프로토콜 연결이 확인된 것은 아닙니다. 해당 직접 연결 경로의 결과만 보여 줍니다.

적합한 경우: 기본 네트워크와 직접 접속을 확인할 때. 프록시 인증 성공 여부를 확인하는 용도는 아닙니다.

Global Routing에 Scene이 표시될 수도 있습니다. 이는 시나리오별 설정에 따라 처리한다는 의미입니다. 확인할 때는 현재 적용 중인 시나리오와 라우팅 설정도 함께 살펴보세요. Scene은 Proxy의 다른 이름이 아닙니다. Settings → On Demand에서는 필요에 따라 연결할 조건을 관리하며, 이 역시 프로토콜 옵션이 아닙니다. 진단할 때는 이 설정이 연결의 시작과 중단에 영향을 주는지 기록하세요. 네트워크가 바뀌면 테스트 조건도 달라질 수 있습니다.

예를 들어 아래 규칙은 DOMAIN-SUFFIX로 예시 도메인을 일치시키고, 어느 규칙에도 해당하지 않는 요청은 FINAL로 처리합니다. 여기서 PROXY는 현재 구성에서 유효한 프록시 정책을 가리켜야 합니다. 규칙은 서버를 만들거나 프로토콜 인증 매개변수를 채워 주지 않습니다.

DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

자주 묻는 문제: 증상에 따라 확인하고 프로토콜을 무작정 바꾸지 마세요

아래 내용은 문제 해결 절차이며 실제 기기에서 측정한 결과가 아닙니다. 한 번에 변수 하나만 바꾸고, 오류가 이름 확인·연결·TLS·인증·규칙 선택 중 어느 단계에서 발생하는지 기록하세요. 기록 없이 Type, 포트, 규칙을 연달아 바꾸면 변경 전후 결과를 비교하기 어렵습니다.

같은 주소에서 VMess를 VLESS로 바로 바꿔도 되나요?

Add Server → Type만 바꾸고 기존 필드를 그대로 사용해서는 안 됩니다. 서버가 해당 프로토콜에 맞는 연결 지점을 제공해야 합니다. 보유한 설정의 Type, Port, UUID, 전송 방식, 보안 매개변수를 먼저 확인한 뒤 항목을 각각 저장해 테스트하세요.

Trojan에서 인증서 오류가 발생하면 검증을 꺼야 하나요?

먼저 기기의 자동 시간 설정을 확인한 다음 Add Server의 Address, Port, TLS Server Name을 대조하고, 이름에 맞는 유효한 인증서가 있는지 확인하세요. 인증서 검증은 유지하고 매개변수나 인증서 문제를 바로잡은 후 다시 시도하세요.

TCP 테스트는 통과했는데 Hysteria2는 왜 시간 초과가 발생하나요?

Hysteria2는 UDP 경로가 필요합니다. 설정에 지정된 UDP 포트와 인증 매개변수를 확인한 다음 해당 UDP 트래픽을 허용하는 네트워크에서 테스트하세요. TCP 테스트 성공은 QUIC 핸드셰이크 성공을 의미하지 않습니다.

지연 시간은 표시되는데 웹페이지가 열리지 않으면 어디부터 확인하나요?

먼저 Home → Global Routing에서 모드를 확인하고 선택된 항목도 확인하세요. Proxy에서는 접속되지만 Config에서 실패한다면 Config의 일치 규칙, DNS, 정책을 우선 점검하세요. 지연 시간 결과만으로 대상 웹사이트에 대한 전체 요청이 성공했다고 볼 수는 없습니다.

구독 업데이트에 실패하면 모든 항목을 다시 만들어야 하나요?

먼저 구독 주소를 가져오지 못한 문제인지, 저장된 항목의 연결 문제인지 구분하세요. Home에서 기존 구독을 업데이트하고 오류를 기록한 뒤 주소의 유효 기간과 네트워크 연결을 확인합니다. 기존 항목을 테스트할 수 있다면 모든 설정을 바로 삭제할 필요는 없습니다.

점검 후 기록해 둘 정보

한 번 검증한 뒤에는 ‘특정 프로토콜 사용 가능’이라는 메모만 남기지 말고 동일한 상황을 재현할 수 있는 설정 요약을 보관하세요. 같은 프로토콜도 전송 방식에 따라 달라질 수 있으며, 연결 성공이 규칙 적용 결과까지 올바르다는 뜻은 아닙니다. 나중에 다시 확인할 때는 같은 대상과 라우팅 모드로 테스트해야 의미 있는 비교가 가능합니다.

필드의 의미를 더 확인하려면 프로토콜 설명서를 읽어 보세요. DOMAIN-SUFFIX, IP-CIDR 등의 키워드를 확인하려면 개념 빠른 참조를 살펴보세요. 먼저 보유한 설정을 정확히 입력한 다음 규칙에 따라 요청 경로를 확인하는 것이 여러 프로토콜 설정을 점검할 때 반복해서 적용할 수 있는 순서입니다.

Shadowrocket 다운로드