Shadowrocket 지원 프로토콜: Shadowsocks·VLESS·Hysteria2 등 7가지 한눈에 보기

Shadowsocks, VMess, VLESS, Trojan, HTTP/SOCKS5, WireGuard, Hysteria2의 특징과 Add Server에서 선택할 유형을 표로 정리했습니다.

이 글의 핵심

Shadowrocket은 이 글에서 다루는 7가지 연결 프로토콜을 지원하지만, Type을 바꾼다고 기존 서버를 다른 프로토콜로 전환할 수는 없습니다. 이미 보유한 서비스 제공업체의 접속 정보나 구독을 사용하는 경우, 먼저 표에서 프로토콜을 확인한 뒤 인증·전송 방식·TLS 항목을 차례로 점검하고 연결 문제와 규칙 문제를 구분하세요. 7가지라는 분류는 이 글에서 설명하는 방식이며, 앱에서 선택할 수 있는 전체 유형의 수를 뜻하지 않습니다.

7가지 프로토콜과 Add Server 유형

기존 설정에 표시된 프로토콜을 확인한 다음 Home → 오른쪽 상단 “+” → Add Server → Type에서 해당 유형을 선택하세요. 포트나 이름만 보고 추측하지 마세요. 같은 443 포트를 사용하더라도 프로토콜이 다를 수 있고, TCP와 UDP 중 서로 다른 방식을 사용할 수도 있습니다. Type은 클라이언트와 서버의 통신 방식을 결정하므로 서버 설정과 일치해야 합니다.

프로토콜 분류 해당 Type 주요 특징 우선 확인할 항목
Shadowsocks Shadowsocks 비밀번호와 지정된 암호화 방식으로 프록시 연결을 설정합니다. 양쪽에서 같은 알고리즘을 사용해야 합니다. Address, Port, Password, Method와 기존 설정에서 요구하는 플러그인 매개변수
VMess VMess UUID로 사용자를 식별하며 다양한 전송 방식을 사용할 수 있습니다. 프로토콜 인증과 TLS는 서로 다른 계층입니다. UUID, 암호화 옵션, 전송 방식, TLS·Host·Path 등 관련 항목
VLESS VLESS UUID로 인증하며 프로토콜 자체는 페이로드를 암호화하지 않습니다. 연결 보호 여부는 실제 전송 설정에 따라 달라집니다. UUID, 전송 방식, TLS 및 설정에서 요구하는 추가 핸드셰이크 매개변수
Trojan Trojan 일반적으로 TLS 연결을 사용하고 Password로 인증합니다. Password, Port, TLS 서버 이름, 인증서 확인 관련 설정
HTTP / SOCKS5 HTTP / SOCKS5 서로 다른 두 가지 프록시 프로토콜입니다. 일부 서버는 사용자 이름과 비밀번호를 요구하며, Type을 서로 바꿔 쓸 수 없습니다. 서버에서 사용하는 실제 프로토콜, Address, Port, 인증 방식, TLS 제공 여부
WireGuard WireGuard 키와 피어 설정으로 UDP 기반 터널을 구성하며, 일반 프록시의 비밀번호 인증 방식을 사용하지 않습니다. 로컬 개인 키, 피어 공개 키, Endpoint, 터널 주소, 라우팅 범위
Hysteria2 Hysteria2 QUIC 기반이며 UDP를 사용합니다. 인증, TLS, 선택적 난독화 매개변수가 설정과 일치해야 합니다. Address, Port, 인증 정보, TLS 서버 이름, UDP 경로 사용 가능 여부

표에서는 보기 쉽게 HTTP와 SOCKS5를 한 분류로 묶었지만, Type에서는 각각 선택해야 합니다. Hysteria2도 이름이 비슷한 다른 프로토콜로 대신할 수 없습니다. 표시되는 항목과 선택 가능한 조합은 앱에서 해당 Type의 편집 화면을 기준으로 확인하세요.

7가지
이 글의 분류 기준이며 HTTP/SOCKS5는 함께 표시
2가지
HTTP와 SOCKS5는 Type을 각각 선택해야 함
443
포트 예시: 숫자가 같아도 프로토콜은 다를 수 있음

결론: 접속 정보에 맞는 Type 선택

기존 설정에 VLESS라고 명시되어 있다면 VLESS를 선택하고 관련 전송 매개변수를 확인하세요. 다른 프로토콜 이름이 더 익숙하다는 이유로 바꾸지 말고, 예시 포트 443을 모든 서버의 고정값으로 간주하지 마세요.

인증·전송 방식·TLS를 따로 확인

프로토콜 이름은 연결의 일부만 설명합니다. 인증은 “어떤 자격 증명을 사용하는가”, 전송 방식은 “데이터를 어떻게 전달하는가”를 뜻하고, TLS 설정은 핸드셰이크와 인증서 확인에 관련됩니다. 이 세 계층을 나눠 점검하면 “UUID가 맞는데도 연결되지 않음”이나 “주소는 확인되지만 핸드셰이크가 실패함” 같은 상황에서 관련 없는 항목을 반복해서 바꾸는 일을 줄일 수 있습니다.

VLESS 자체가 페이로드를 암호화하지 않는다고 해서 모든 VLESS 연결이 평문으로 전송되는 것은 아닙니다. 실제 연결 보호 여부는 TLS 등의 설정에 따라 달라집니다. 반대로 HTTP나 SOCKS5를 사용한다고 해서 전체 연결이 암호화된다고 단정할 수도 없습니다. 프로토콜 이름만 보지 말고 실제로 활성화된 전송 및 보안 설정을 확인하세요.

기존 접속 정보로 추가하고 연결 확인

수동 추가는 항목별로 접속 정보를 확인할 때 적합하고, 구독 가져오기는 이미 보유한 설정을 한꺼번에 등록할 때 편리합니다. 어느 방식이든 등록한 항목은 서버의 실제 설정과 일치해야 합니다. 이 글은 기존 설정의 사용법만 안내하며, 서버나 구독, 서비스 제공업체를 제공·판매·추천하지 않습니다.

  1. 접속 정보 확인

    먼저 프로토콜, 서버 주소, 포트, 인증 정보를 확인한 다음 TLS, 전송 방식 및 추가 매개변수를 정리하세요. 포트는 기존 설정에 적힌 값을 사용해야 합니다. 443을 기본값으로 간주하지 마세요.

  2. 유형 선택

    Home → 오른쪽 상단 “+” → Add Server → Type을 열고 기존 접속 정보와 정확히 일치하는 프로토콜을 선택한 다음 편집 화면으로 돌아가 해당 항목을 입력하세요.

  3. 입력 후 저장

    Address, Port, 인증 항목을 하나씩 입력하세요. TLS나 추가 전송 설정이 필요하다면 해당 옵션도 확인해야 합니다. 저장한 뒤 Home으로 돌아가 방금 추가한 항목을 선택하세요.

  4. 연결 확인

    Home에서 Global Routing을 확인하고 Connectivity Test를 실행한 다음, 용도가 분명한 테스트 대상을 열어 보세요. 테스트 대상, 네트워크 환경, 오류 메시지를 기록하고 여러 항목을 한꺼번에 변경하지 마세요.

구독 링크를 이미 보유한 경우 Home → 오른쪽 상단 “+” → Type → Subscribe로 이동해 본인의 구독 주소를 입력하고 저장한 다음, Home에서 해당 구독을 업데이트하세요. 업데이트가 끝나면 현재 선택된 항목을 다시 확인해야 합니다. 원격 설정에 따라 주소, 포트, 인증 정보가 바뀔 수 있습니다. 개별 항목 편집과 구독 업데이트는 서로 다른 작업이며, 이후 업데이트로 로컬 변경 내용이 덮어써질 수도 있습니다.

프로토콜과 Global Routing은 서로 다른 역할

프로토콜은 연결을 설정하는 방식을 결정하고, Global Routing은 요청을 직접 연결 또는 프록시 정책 중 어떤 방식으로 처리할지 결정합니다. Hysteria2를 선택했다고 해서 모든 요청이 해당 프로토콜을 사용하는 것은 아닙니다. Home의 Global Routing에는 Proxy, Direct, Config, Scene이 있습니다. Scene은 시나리오별 설정에 사용하며, 여덟 번째 연결 프로토콜이나 자동 속도 측정 결과가 아닙니다.

Config

권장

현재 활성화된 Config 규칙에 따라 요청을 처리합니다. 규칙에 일치한 뒤의 동작은 지정된 정책에 따라 달라집니다. 앞선 규칙에 일치하지 않은 요청은 FINAL 등의 기본 처리 설정을 따르므로 모두 직접 연결된다고 볼 수 없습니다.

적합한 경우: Config 규칙을 확인한 뒤 일상적으로 사용할 때

Proxy

가로챈 요청을 프록시로 처리합니다. Config에서의 결과와 비교해 규칙 처리 문제의 범위를 좁힐 수 있지만, 서버 인증이나 네트워크 제약을 우회하지는 못합니다.

적합한 경우: 프록시 연결과 규칙 처리 결과를 임시로 비교할 때

Direct

요청을 직접 연결로 처리합니다. 이 상태에서 웹페이지가 열린다고 해서 선택한 프록시 항목이 작동한다는 증거는 아닙니다. 프로토콜 연결을 확인하려면 먼저 어떤 경로를 테스트하는지 명확히 하세요.

적합한 경우: 현재 네트워크의 직접 연결 상태를 비교할 때

Config에서 DOMAIN-SUFFIX는 도메인 접미사로, IP-CIDR은 IP 대역으로, GEOIP은 IP 지리 데이터베이스 분류로 요청을 매칭합니다. FINAL은 앞선 규칙에 일치하지 않은 요청을 처리합니다. 이들은 규칙 키워드이지 Add Server의 프로토콜 유형이 아닙니다. 확인할 때는 먼저 요청이 어떤 규칙에 일치했는지 살펴보고, 해당 정책이 어떤 연결 항목을 사용하는지 확인하세요.

Settings → On Demand에서는 조건에 따라 연결을 시작하는 동작을 제어하지만, 한 프로토콜을 다른 프로토콜로 바꾸지는 않습니다. 문제를 확인하는 동안 On Demand가 활성화되어 있는지 기록해 두세요. 자동 연결이나 재연결을 프로토콜 전환으로 잘못 판단하지 않도록 주의해야 합니다. 관련 설정 경로는 On Demand 설정 안내에서 확인할 수 있습니다.

자주 묻는 질문과 점검 순서

아래 문제는 기존 접속 정보를 바탕으로 확인해야 합니다. 다른 설정은 그대로 둔 채 Type, 인증, 전송 방식을 먼저 점검하고 Global Routing과 대상 요청을 살펴보세요. 원인을 찾는 대신 프로토콜을 반복해서 바꾸지 마세요.

주소와 포트가 같으면 다른 프로토콜로 바꿔도 되나요?

클라이언트에서 Type만 바꿔 프로토콜을 전환할 수는 없습니다. Home에서 해당 항목의 편집 화면을 열고 Type이 기존 접속 정보와 일치하는지 확인하세요. 서버가 실제로 다른 프로토콜도 제공하는 경우에만 그 프로토콜에 맞는 별도 접속 정보를 사용할 수 있습니다. 주소와 포트가 같다는 사실만으로 서버가 두 프로토콜을 모두 지원한다고 볼 수는 없습니다.

VMess와 VLESS는 모두 UUID를 사용하는데 왜 서로 바꿔 쓸 수 없나요?

UUID는 자격 증명의 형식일 뿐, 핸드셰이크 프로토콜이 같다는 뜻은 아닙니다. 먼저 Type을 확인한 뒤 전송 방식, TLS, Path를 점검하세요. 원래 설정에 VLESS라고 적혀 있다면 UUID를 VMess에 복사해 계속 시도하지 말고, 원래 유형으로 돌아가 누락된 항목을 확인하세요.

Hysteria2가 Wi-Fi에서는 실패하지만 다른 네트워크에서는 연결되는 이유는 무엇인가요?

같은 항목과 같은 테스트 대상을 사용해 두 네트워크의 결과를 비교하고 오류 메시지를 보관하세요. Hysteria2는 UDP를 사용하므로 네트워크 경로의 차이가 연결에 영향을 줄 수 있습니다. 이어서 포트, 인증 정보, SNI, 선택적 난독화 매개변수를 확인하세요. 이 현상만으로 서버 장애를 확정하거나 특정 프로토콜이 항상 더 빠르다고 단정할 수는 없습니다.

구독을 업데이트한 뒤 이전에 작동하던 항목이 연결되지 않나요?

Home에서 예상한 항목이 선택되어 있는지 확인한 다음 편집 화면에서 업데이트 후의 Type, Address, Port, 인증 정보를 점검하세요. 이전 비밀번호를 새 항목에 그대로 덮어쓰지 마세요. 현재 보유한 접속 정보와 비교하고 Global Routing도 바뀌었는지 확인하세요.

연결됨으로 표시되면 프로토콜 설정이 모두 올바른 건가요?

그렇지 않습니다. 시스템의 연결 상태, 서버 인증, 대상에 대한 접속은 서로 다른 단계입니다. Home으로 돌아가 Global Routing을 확인하고 Connectivity Test를 실행한 다음 구체적인 대상에 접속해 보세요. 실제 요청이 예상한 항목을 거쳐 결과를 얻어야 해당 경로가 작동한다고 볼 수 있습니다. 그렇더라도 모든 네트워크와 대상에서 작동한다는 뜻은 아닙니다.

프로토콜은 이름의 순서가 아니라 기존 서버 설정과의 호환성을 기준으로 선택하세요. 항목의 의미를 더 알아보려면 프로토콜 용어를, 현재 설정 파일과 진단 경로를 확인하려면 Config 설정 안내를 참고하세요. 프로토콜, 전송 방식, 규칙을 따로 기록해 두면 이후 업데이트와 문제 해결의 근거를 명확히 할 수 있습니다.

App Store 정품 확인