Shadowrocket Hysteria2 사용법: QUIC 기반 전송의 속도와 적합한 네트워크

Hysteria2는 QUIC과 UDP를 사용하는 프로토콜입니다. 혼잡 제어 방식과 패킷 손실이 많은 네트워크에서의 특징, Shadowrocket에 입력할 설정값을 알아봅니다.

핵심 내용

Hysteria2는 Shadowrocket에서 지원하는 프록시 프로토콜입니다. 무작위 패킷 손실이 있거나 지연 시간이 변동하는 회선에서 성능을 개선할 수 있지만, 네트워크에서 UDP를 허용하고 서버 설정과 값이 일치해야 합니다. 이미 보유한 서비스 제공업체의 설정이나 구독이 있는 사용자를 대상으로 전송 원리, 설정값 확인, 가져오기 절차와 오류 증상을 설명합니다. 이 사이트는 서버나 구독을 제공·판매·추천하지 않습니다.

Hysteria2, QUIC, UDP의 역할

요점: Hysteria2는 QUIC으로 클라이언트와 서버 사이의 전송 채널을 만들고, QUIC 패킷은 UDP를 통해 전송됩니다. UDP는 하위 계층의 전송 수단일 뿐, 모든 애플리케이션 데이터가 신뢰할 수 없는 방식으로 전송된다는 뜻은 아닙니다. QUIC은 UDP 위에서 암호화, 확인 응답, 패킷 손실 복구, 신뢰성 있는 스트림 전송을 제공할 수 있습니다.

앱에서 웹사이트에 접속할 때 원래 연결과 프록시 전송 채널은 서로 다른 계층입니다. 예를 들어 웹사이트 요청 자체는 TCP를 사용할 수 있지만, Shadowrocket과 Hysteria2 서버 사이의 외부 연결은 여전히 QUIC을 사용합니다. 방화벽이나 서버 포트를 점검할 때는 외부 연결에 사용되는 UDP를 확인해야 합니다. 같은 숫자의 TCP 포트가 열려 있는지만 확인해서는 충분하지 않습니다.

UDP
Hysteria2의 외부 QUIC 연결을 전달하는 프로토콜
TLS 1.3
QUIC 핸드셰이크와 전송 암호화에 사용하는 보안 방식
443/UDP
사용 가능한 포트 예시이며, 모든 서버에서 고정으로 사용하는 포트는 아닙니다

QUIC의 여러 스트림은 서로 독립적으로 진행될 수 있습니다. 한 스트림에서 패킷이 손실되더라도 다른 스트림에서 이미 받은 데이터까지 반드시 대기해야 하는 것은 아닙니다. 따라서 스트림 간 헤드 오브 라인 블로킹을 줄일 수 있지만, 같은 신뢰성 있는 스트림에서 누락된 데이터는 여전히 복구해야 하며 여러 스트림은 같은 네트워크 회선을 공유합니다. 동영상, 웹페이지, 파일 전송이 서로 전혀 영향을 주지 않는다고 볼 수는 없습니다.

포트 번호가 같아도 전송 프로토콜은 다를 수 있습니다

설정에 443/UDP라고 적혀 있다면 443/TCP 연결만 확인해서는 Hysteria2가 작동한다고 판단할 수 없습니다. 서버의 수신 대기 설정, 서버 측 방화벽, 현재 연결된 네트워크에서 해당 UDP 트래픽을 허용하는지 모두 확인하세요.

속도가 빨라질 수 있는 이유: UDP 자체보다 혼잡 제어가 중요합니다

요점: 일부 패킷 손실이 많은 회선에서 Hysteria2가 유리할 수 있는 이유는 혼잡 제어와 전송 방식에 있으며, “UDP가 원래 TCP보다 빠르기 때문”은 아닙니다. 회선의 패킷 손실은 혼잡, 무선 간섭 또는 그 밖의 무작위 손실 때문에 발생할 수 있습니다. 모든 손실을 혼잡으로 간주해 전송량을 크게 줄이면 사용 가능한 대역폭을 충분히 활용하지 못할 수 있습니다.

Hysteria2의 Brutal 혼잡 제어는 설정된 대역폭 목표와 손실 상황을 바탕으로 전송 방식을 조정합니다. 실제 전송량을 늘려 유효 처리량을 높일 수 있습니다. 대역폭 협상을 지원하는 설정에서는 클라이언트가 알리는 수신 성능, 서버 제한, 실제 경로 용량이 모두 결과에 영향을 줍니다. BBR 등의 혼잡 제어 방식이 사용되는 경우도 있으므로, 이름만 보고 현재 연결이 반드시 특정 모드라고 단정해서는 안 됩니다.

대역폭 필드에서는 단위도 확인해야 합니다. Mbps는 초당 메가비트, MB/s는 초당 메가바이트를 뜻합니다. 십진 단위로 계산하면 80 Mbps의 이론상 최대 속도는 약 10 MB/s이며, 실제 애플리케이션 데이터 속도에서는 프로토콜 오버헤드와 재전송을 제외해야 합니다. 설정값은 앱의 필드 설명을 기준으로 입력하고, 파일 전송 도구에 표시된 숫자를 그대로 옮기지 마세요.

요점: 지속 가능한 속도를 기준으로 대역폭 목표 설정

설정에서 대역폭 옵션을 제공한다면 먼저 서비스 제공업체가 안내한 값을 사용하세요. 조정이 필요하면 현재 네트워크에서 지속적으로 낼 수 있는 업로드 및 다운로드 속도를 기준으로 삼으세요. 더 큰 숫자를 입력하려고 일시적인 최고 속도나 요금제에 표시된 속도를 장기 전송 목표로 사용하지 마세요.

Shadowrocket에서 확인할 Hysteria2 설정값

요점: 성능 옵션을 조정하기 전에 서버에서 제공한 정보를 앱에 빠짐없이 입력하세요. Hysteria2는 이전 Hysteria 프로토콜과 이름만 바꿔 서로 전환할 수 없습니다. 가져온 뒤 Type이 실제로 Hysteria2인지 확인하세요. 아래는 설정값의 의미를 설명한 내용이며, Config에 그대로 붙여 넣을 수 있는 설정 문법이 아닙니다.

설정 항목확인할 내용자주 발생하는 오류와 증상
서버 주소서비스 제공업체가 안내한 도메인이나 IP를 사용하세요. hy2.example.com은 설명을 위한 도메인입니다.주소를 잘못 입력했거나 DNS 조회에 문제가 있으면 올바른 서버에 연결할 수 없습니다.
Port실제 포트를 하나씩 확인하세요. 예를 들어 서비스 제공업체가 443을 지정했다면 외부 연결에서 확인할 대상은 443/UDP입니다.자주 쓰이는 포트를 기본값으로 간주해 잘못된 수신 대기 지점으로 전송합니다.
인증 정보서비스 제공업체가 안내한 인증 문자열 전체를 입력하고 대소문자와 기호를 그대로 유지하세요.문자가 빠졌거나 공백이 복사되었거나 다른 설정의 인증 정보를 사용했습니다.
TLS / SNI요구된 서버 이름을 입력하고 인증서 검증을 유지하세요. 연결 주소와 인증서 이름은 서로 다를 수 있습니다.IP를 인증서 이름으로 사용하거나 인증서에 포함되지 않은 도메인을 입력했습니다.
Obfuscation서버에서 사용하는 경우에만 안내에 따라 설정하세요. 예를 들어 양쪽에서 같은 Salamander 설정과 비밀번호를 사용해야 합니다.한쪽에서만 활성화했거나 비밀번호가 일치하지 않으면 핸드셰이크 시간이 초과될 수 있습니다.
대역폭 옵션현재 편집 화면에 관련 항목이 있다면 업로드와 다운로드 방향, 단위, 서비스 제공업체의 안내를 확인하세요.업로드와 다운로드 방향을 바꾸어 입력하거나 단위를 잘못 이해했거나 목표를 너무 높게 설정하면 연결이 불안정해지고 대기열이 늘어날 수 있습니다.

연결 주소는 데이터를 서버로 전달하고, SNI는 TLS 핸드셰이크에서 서버 이름을 전달하며 일반적인 인증서 이름 확인에도 사용됩니다. 두 값은 서로 다를 수 있지만 신뢰할 수 있는 설정 안내를 따라야 합니다. 인증서 오류가 발생하면 이름, 기기 시간, 서버 인증서 상태를 확인하세요. 먼저 인증서 검증을 끄지는 마세요.

가져오기와 첫 연결 확인: 먼저 연결한 다음 규칙을 점검하세요

요점: 먼저 Home에서 설정을 가져오고 항목을 선택한 다음, 단일 테스트 요청으로 연결을 확인하세요. Home에서는 서버와 연결 상태를 관리하고 Config에서는 규칙 설정을, Settings에서는 앱 설정을 관리합니다. 전송 실패와 규칙 선택 오류를 따로 살펴봐야 원인을 좁힐 수 있습니다.

  1. 설정값 준비

    이미 이용 중인 서비스 제공업체의 안내에서 서버 주소, 포트, 인증 정보, TLS 요구 사항을 확인하세요. 구독을 사용한다면 구독에 Hysteria2 항목이 실제로 포함되어 있는지 확인하세요. 항목의 메모나 이름만으로 프로토콜을 판단하지 마세요.

  2. 구독 가져오기

    Home 오른쪽 위에서 “+”를 선택한 다음 Type → Subscribe로 이동해 본인의 구독 주소를 입력하고 저장하세요. 그런 다음 Home에서 해당 구독을 업데이트합니다. 주소에 인증 토큰이 포함되어 있다면 비밀번호처럼 다루세요.

  3. 유형 확인

    가져온 항목의 편집 화면을 열어 Type이 Hysteria2인지 확인하고 위 표에 따라 설정값을 점검하세요. 직접 추가하려면 Home → “+” → Type → Hysteria2를 선택한 다음 기존 설정을 기준으로 항목을 하나씩 입력하세요.

  4. 연결 확인

    Home으로 돌아가 해당 항목을 선택하고 연결을 켠 다음, 시스템 안내에 따라 VPN 구성을 추가하도록 허용하세요. 연결을 시작한 뒤 나타나는 결과를 기록하세요. 계속 대기 중인지, 구체적인 오류가 표시되는지, 지정한 테스트 페이지가 열리는지 확인합니다.

  5. 라우팅 확인

    Home → Global Routing에서 현재 모드를 확인하세요. 규칙의 영향을 잠시 분리해야 한다면 Proxy로 같은 요청을 테스트한 뒤 평소 사용하는 Config로 돌아가 대상 도메인에 실제로 적용된 정책을 확인하세요.

첫 테스트 중에는 Settings → On Demand도 확인하세요. 주문형 연결이 활성화되어 있다면 그 상태를 기록하세요. 연결을 끊거나 네트워크를 전환하는 테스트에서는 자동 연결이 관찰을 방해하지 않도록 잠시 끄고, 테스트 후 다시 켤 수 있습니다. On Demand는 연결이 시작되는 조건을 관리하며 Hysteria2의 인증, TLS, UDP 연결 문제를 해결하지는 않습니다.

구독 업데이트 후 선택 항목 다시 확인

구독을 업데이트하면 서버 설정값이나 항목 목록이 바뀔 수 있습니다. 업데이트가 끝나면 예상한 항목이 여전히 선택되어 있는지 확인한 뒤 같은 대상을 테스트하세요. 구독 업데이트, 대역폭 변경, 규칙 수정, 네트워크 전환을 동시에 하지 마세요. 어떤 변경이 결과에 영향을 주었는지 알 수 없습니다.

Global Routing으로 프로토콜 문제와 규칙 문제 구분하기

요점: 같은 Hysteria2 항목으로 Proxy에서는 접속되지만 Config에서는 안 된다면 전송 설정을 바로 바꾸기보다 규칙이 적용된 방식과 선택된 정책을 먼저 확인하세요. 아래 비교는 이번 검증에 사용하는 Global Routing의 세 가지 모드에만 해당합니다. Direct는 대상에 원래 직접 연결할 수 있을 때만 기준으로 사용하세요.

Config

권장

현재 활성화된 Config 규칙에 따라 처리 방식을 선택합니다. 대상에는 DIRECT, REJECT 또는 특정 프록시 정책이 적용될 수 있으므로 요청이 테스트할 Hysteria2 항목을 실제로 사용하는지 확인해야 합니다.

사용 사례: 평소 규칙에 따라 연결하거나 연결 확인 후 라우팅을 점검할 때.

Proxy

앱이 처리하는 연결을 현재 프록시 정책으로 전달합니다. Config 규칙이 테스트에 미치는 영향을 잠시 줄이는 데 사용할 수 있습니다. 시스템의 모든 트래픽이 프록시로 전달된다고 보장하지 않으며, 서버 인증이나 네트워크 제한을 우회하지도 않습니다.

사용 사례: 같은 요청이 Config에서 비정상일 때 규칙 선택을 변수에서 제외해 확인할 때.

Direct

앱이 처리하는 연결로 대상에 직접 접속하며 테스트 중인 Hysteria2 경로는 사용하지 않습니다. 직접 연결에 성공해도 해당 직접 연결 경로를 사용할 수 있다는 뜻일 뿐, 프록시 서버가 정상이라고 판단할 수는 없습니다.

사용 사례: 원래 직접 연결할 수 있는 대상을 기준으로 로컬 네트워크 상태를 확인할 때.

규칙을 확인할 때 DOMAIN-SUFFIX는 도메인 접미사로, IP-CIDR은 IP 주소 대역으로 일치 여부를 판단하며 GEOIP는 IP 지리 데이터베이스를 기준으로 판단합니다. FINAL은 앞선 규칙이 일치하지 않을 때 적용할 최종 정책입니다. 규칙은 순서대로 처리되므로 앞쪽의 DIRECT 또는 REJECT가 일치하면 뒤의 프록시 정책으로 해당 결과를 바꿀 수 없습니다. DNS 조회 결과도 IP 기반 판정에 영향을 줄 수 있습니다.

요점: 요청이 테스트할 경로를 통과하는지 먼저 확인하세요

대상 요청이 선택한 Hysteria2 항목을 실제로 사용하는지 확인한 뒤에야 페이지 로딩 시간과 전송 속도로 해당 연결을 평가할 수 있습니다. 요청에 DIRECT가 적용되었다면 먼저 규칙과 테스트 조건을 바로잡으세요. 직접 연결 결과를 프로토콜 성능으로 기록하지 마세요.

연결 실패, 저속, 연결 끊김을 단계별로 점검하는 방법

요점: “서버에 도달했는지 → 핸드셰이크와 인증이 완료됐는지 → 라우팅이 올바른지 → 처리량 병목이 있는지” 순서로 확인하세요. 지연 시간 하나로는 특정 탐색 결과만 알 수 있으며 UDP 연결 가능 여부, 인증 유효성, 지속적인 전송 안정성을 모두 입증할 수 없습니다. 탐색 시간이 초과되었다면 실제 연결 결과와 함께 판단해야 합니다.

관찰된 증상우선 확인할 항목다음 단계
Wi-Fi에서는 시간 초과, 셀룰러 네트워크에서는 연결 가능두 네트워크의 UDP 정책, 라우팅, 주소 조회 결과 차이.설정 항목은 그대로 두고 연결 네트워크만 바꿔 반복 테스트한 다음 Wi-Fi 네트워크 제한을 확인하세요.
TLS 또는 인증서 오류 발생SNI, 인증서에 포함된 이름, 기기 시간, 인증서 유효성.서비스 제공업체의 기존 안내에 따라 설정값을 바로잡고 인증서 검증은 유지하세요. 핸드셰이크 오류를 처리량 설정으로 해결하려고 하지 마세요.
연결 후 인증 실패 메시지 표시인증 문자열이 완전한지, 서버 측에서 인증 정보가 업데이트되었는지 확인하세요.본인 구독을 업데이트하거나 원래 설정값을 확인하세요. 재시도 횟수를 늘리는 것은 해결책이 아닙니다.
웹페이지는 열리지만 대용량 파일 전송이 느림서버의 외부 회선, 대상 사이트의 제한, 로컬 대역폭, 대역폭 설정, 지속적인 패킷 손실.네트워크와 항목을 고정한 뒤 작은 요청과 지속적인 전송을 비교하고 작업 시작 이후의 변화를 기록하세요.
Proxy에서는 정상, Config에서는 비정상규칙 순서, 대상에 적용된 정책, DNS 조회 결과.Config에서 관련 규칙을 확인하고 프로토콜 설정값은 동시에 변경하지 마세요.
유휴 상태 이후 첫 요청 실패네트워크 전환, UDP 매핑 시간 초과, 연결 재설정, On Demand 상태.유휴 시간과 복구 과정을 기록하고 다시 연결해 테스트한 뒤 접속 네트워크 문제와 서버 문제를 구분하세요.

위 내용은 오류를 식별하기 위한 조건이며 이 사이트에서 직접 측정한 결과가 아닙니다. 직접 비교 기록을 남기려면 같은 네트워크에서 같은 파일을 연속으로 세 번 테스트하고, 매번 30초 동안 성공 여부와 안정된 구간의 속도, 동시에 웹페이지를 열었을 때의 응답을 기록하세요. 테스트 시간과 대상을 고정하면 캐시, 대상 사이트의 속도 제한, 순간적인 네트워크 변동으로 인한 오판을 줄일 수 있습니다.

적합성 판단과 사용 전제

UDP를 사용할 수 있고 무작위 패킷 손실이나 지연 시간 변동이 있는 네트워크에서는 기존 설정을 사용해 Hysteria2를 비교 테스트해 볼 수 있습니다. UDP가 제한되거나 서버 외부 회선이 포화 상태이거나 대상 자체에 속도 제한이 있다면 프로토콜 이름만으로 병목을 해결할 수 없습니다. 장기간 사용할 때는 성공률, 지속 처리량, 응답성, 데이터 사용량을 함께 고려해야 하며 지연 시간이 가장 낮았던 한 번의 결과만으로 판단하지 마세요.

Shadowrocket은 클로즈드 소스 상용 앱이며 주로 iPhone과 iPad에서 사용합니다. Mac, Apple TV, Apple Vision과의 호환성은 App Store 제품 페이지에서 확인할 수 있습니다. 시스템 요구 사항, 호환성, 유니버설 구입 여부는 App Store 페이지의 안내를 기준으로 확인하세요. 유일한 구매 경로는 App Store이며 개발자는 Shadow Launch Technology Limited, 앱 ID는 932747118입니다. 앱은 일회성 구매 방식이며 가격은 스토어 표시를 기준으로 합니다.

클라이언트 일회성 구매 ≠ 회선 요금제

Shadowrocket을 구매하면 클라이언트를 이용할 수 있지만 서버, 대역폭, 구독이 함께 제공되는 것은 아닙니다. 이 문서의 가져오기, 설정값 입력, 연결 테스트는 사용자가 이미 본인 서비스 제공업체의 설정을 보유하고 있다는 전제에서 설명합니다.

App Store 정품 확인