Shadowrocket Hysteria2 사용법: QUIC 전송의 장점과 적합한 네트워크

QUIC와 UDP 전송을 바탕으로 Hysteria2가 패킷 손실과 지연이 큰 네트워크에서 보이는 특성, Shadowrocket에 추가할 때 확인할 항목을 설명합니다.

이 글의 핵심 내용

Hysteria2는 기존에 보유한 서비스 설정이 있고 UDP 연결 가능 여부를 확인하려는 사용자에게 적합한 프록시 프로토콜입니다. 이 글에서는 전송 원리와 사용 조건, 설정 확인 순서를 설명합니다. 내용을 읽고 나면 속도 측정 한 번만으로 프로토콜을 바꾸는 대신 네트워크 차단, 인증 실패, 규칙에 따른 트래픽 분배 문제를 구분할 수 있습니다.

Hysteria2, QUIC, UDP의 관계

Shadowrocket은 사용자가 이미 보유한 Hysteria2 서비스 설정을 사용할 수 있습니다. Hysteria2는 프록시 프로토콜이고, QUIC는 그 기반이 되는 전송 방식이며, UDP는 외부 데이터그램을 전달합니다. 세 용어는 서로 다른 계층을 가리킵니다. Hysteria2를 선택한다고 일반적인 UDP 전달 옵션만 켜지는 것은 아니며, 브라우저의 모든 연결이 자동으로 HTTP/3으로 바뀌는 것도 아닙니다.

UDP 자체는 데이터 전달, 순서 보장, 재전송을 보장하지 않습니다. QUIC는 UDP 위에서 연결 관리, 신뢰성 있는 스트림, 손실 복구와 암호화를 구현합니다. 프록시를 통해 TCP 서비스에 접속하는 경우에도 외부 전송은 QUIC를 사용할 수 있으므로, “외부 전송이 UDP”라는 말을 “웹 데이터가 손실되면 다시 보내지 않는다”는 뜻으로 이해해서는 안 됩니다. Hysteria2는 UDP 트래픽도 전달할 수 있지만, 트래픽 종류마다 처리 방식이 다릅니다.

UDP
Hysteria2의 외부 네트워크 전송에는 해당 UDP 포트에 연결할 수 있어야 합니다
TLS 1.3
QUIC의 암호화 핸드셰이크에 사용하는 인증서와 이름을 확인해야 합니다
443
이 글의 포트 번호는 예시입니다. 실제 Port 값은 기존 설정에 명시된 값을 사용하세요

포트 번호만으로 전송 방식이 같다고 판단할 수는 없습니다. TCP 443을 허용하는 네트워크라도 UDP 443은 차단될 수 있으며, 서버가 다른 포트를 사용할 수도 있습니다. Hysteria2와 이전 버전 Hysteria 설정은 임의로 서로 바꿔 쓸 수 없습니다. 가져온 뒤에는 주소와 비밀번호만 바꾸고 기존 유형을 유지하지 말고 Type을 확인하세요.

속도가 더 빨라질 수 있는 이유: 손실 복구와 혼잡 제어

지연이 크면 연결 왕복과 패킷 손실 복구에 시간이 더 걸립니다. 기존 TCP 연결은 연속해서 패킷이 손실되면 혼잡 윈도우가 줄어 처리량 회복이 늦어질 수 있습니다. 다만 실제 동작은 혼잡 제어 알고리즘과 네트워크 조건에 따라 달라지므로 “TCP”라는 이름만으로 속도를 판단할 수는 없습니다. Hysteria2는 QUIC를 기반으로 Brutal을 비롯한 혼잡 제어 방식을 제공하며, 사용 가능한 대역폭이 크고 패킷 손실이 있는 연결에서 전송 효율을 유지하는 것을 목표로 합니다.

QUIC의 독립 스트림 방식은 전송 계층에서 스트림 간 헤드 오브 라인 블로킹을 줄일 수 있습니다. 한 스트림에서 패킷이 손실되어도 다른 스트림이 해당 데이터의 재전송을 기다릴 필요는 없습니다. 다만 하나의 신뢰성 있는 스트림 안에서는 여전히 순서대로 데이터를 전달해야 합니다. 서버 처리 시간, DNS 조회 시간, 실제 물리적 지연까지 없애는 것은 아니므로 “QUIC가 더 빠르다”는 점이 웹페이지를 열 때마다 체감되는 것은 아닙니다.

네트워크 조건나타날 수 있는 현상먼저 확인할 항목
지연이 크고 간헐적으로 패킷 손실 발생다운로드를 계속하면 더 안정적일 수 있지만, 페이지를 처음 여는 시간은 왕복 지연의 영향을 받습니다같은 네트워크에서 반복 테스트하고 첫 바이트 도착 시간과 지속 처리량을 따로 기록하세요
지연이 낮고 패킷 손실이 적음프로토콜 간 차이가 뚜렷하지 않을 수 있으며, 병목은 서버나 대상 사이트에 있을 수 있습니다같은 대상, 비슷한 시간대, 동일한 트래픽 분배 경로
UDP 차단 또는 엄격한 속도 제한계속 시간 초과가 발생하거나 연결 후 처리량이 크게 제한될 수 있습니다대상 UDP 포트와 현재 네트워크 정책
업로드 구간 혼잡패킷 지연을 확인하세요. 다운로드와 상호작용도 영향을 받을 수 있습니다다른 업로드 작업을 잠시 멈춘 뒤 비교하세요

결론: 먼저 UDP 연결 가능 여부를 확인하세요

먼저 핸드셰이크가 완료되는지 확인한 뒤 지속 처리량을 비교하세요. 연결이 계속 시간 초과된다면 대역폭 설정을 높여도 포트, 주소, 네트워크 정책 문제를 대신 해결할 수 없습니다.

대역폭 설정은 높을수록 좋은 것이 아닙니다. Brutal을 사용하는 설정에서 실제 사용 가능한 대역폭보다 훨씬 높은 값을 지정하면 패킷 손실이 늘거나 다른 트래픽에 영향을 주고, 상호작용이 불안정해질 수 있습니다. 기존 서비스 설정 안내를 기준으로 삼고 안정적인 동작을 확인한 뒤 조정하세요. 회선, 부하, 테스트 조건이 모두 다르므로 이 글에서는 일률적인 속도 향상 비율을 제시하지 않습니다.

Shadowrocket에 추가하기 전에 확인할 항목

설정은 사용자가 이미 보유한 서비스 정보에서 가져와야 합니다. Hysteria2는 범용 서버 로그인 방식이 아닙니다. 주소에서 웹페이지가 열리더라도 해당 주소에서 사용할 수 있는 Hysteria2 서비스가 실행 중이라는 뜻은 아닙니다. 직접 추가하기 전에 서비스 유형, 전체 인증 값, UDP 포트, TLS 설정을 확인하고 기존 설정에 명시된 항목 조합을 우선 사용하세요.

항목 또는 설정확인할 내용자주 하는 실수
Type서버 프로토콜에 맞게 Hysteria2 선택주소만 같으면 연결될 것으로 생각하고 Hysteria를 선택
Address / Port서버 도메인 또는 IP와 실제로 열린 UDP 포트주소를 복사할 때 공백이 들어가거나 웹 포트를 프록시 포트로 사용
Password서비스 설정에 명시된 전체 인증 값. 대소문자 구분인증 내용을 임의로 나누거나 기호를 빠뜨림
SNI / TLS핸드셰이크에 사용할 이름과 인증서 요구 사항. 기존 설정 기준IP로 연결하면서 인증서에 지정된 이름을 누락
Obfuscation서버에서 요구하는 경우 유형과 비밀번호가 일치해야 합니다난독화 비밀번호와 인증 비밀번호를 혼동
대역폭 매개변수기존 설정 안내와 실제 연결 성능에 맞춰 설정서비스 요금제에 표시된 값을 현재 네트워크에서 쓸 수 있는 값으로 간주

인터페이스 언어와 설정 형식에 따라 항목이 다르게 표시될 수 있으므로 현재 편집 화면을 기준으로 확인하세요. SNI는 TLS 핸드셰이크에서 이름을 선택하는 데 사용되고, 인증서 검증은 서비스의 신원을 확인합니다. 둘 다 Password를 대신할 수 없습니다. Address에 IP를 입력하더라도 인증서가 도메인용으로 발급됐다면 설정에 지정된 이름을 입력해야 합니다. 이름 불일치를 해결하려고 인증서 검증을 끄지 마세요.

추가 및 확인: 먼저 연결한 다음 트래픽 분배를 점검하세요

Shadowrocket의 Home에서 연결을 확인하고 선택할 수 있으며, Config에서 규칙 설정을 관리하고 Settings에서 앱을 설정합니다. 처음 연결할 때는 시스템의 VPN 구성 승인도 필요합니다. 아래는 기존 Hysteria2 설정을 직접 추가하는 순서입니다. 기존 구독에서 가져온 경우에도 해당 항목의 편집 화면을 열어 같은 내용을 확인하세요.

  1. 서비스 정보 확인

    본인이 보유한 Address, Port, 인증 값, TLS 안내를 준비하세요. 정보에 UDP 443이라고 명시된 경우에만 Port에 443을 입력하세요. 다른 항목을 보고 포트를 추측하지 마세요.

  2. 프로토콜 선택

    Home → 오른쪽 위 “+” → Add Server로 이동한 뒤 Type에서 Hysteria2를 선택하세요. 주소, 포트, Password를 직접 입력하고 원본 정보와 하나씩 대조하세요.

  3. 암호화 설정 확인

    해당 항목의 편집 화면에서 TLS, SNI, 선택 사항인 Obfuscation 설정을 확인하세요. 서버에서 요구하는 이름과 비밀번호를 입력하고 인증서 검증은 유지한 채 저장하세요.

  4. 연결 확인

    Home으로 돌아가 저장한 항목을 선택한 뒤 Global Routing을 일시적으로 Proxy로 설정하세요. 연결 스위치를 켜고 시스템 승인을 확인한 다음 같은 대상 페이지에 접속해 보세요. 이후 더 긴 시간 동안 다운로드 상태를 살펴보세요.

  5. 평소 설정으로 복원

    테스트가 끝나면 Global Routing을 Config로 복원하고 Config에서 현재 설정의 규칙과 정책 참조를 확인하세요. 자동 연결이 방해되는 경우 Settings → On Demand에서 활성화 상태와 실행 조건을 확인하세요.

Home → “+” → Type → Subscribe에서 기존 구독을 추가할 때는 본인의 전체 URL을 사용해 저장한 다음 해당 구독 그룹을 업데이트하세요. 업데이트가 완료됐다는 것은 구독 내용을 가져와 파싱했다는 뜻일 뿐, 그 안의 모든 서버에 연결할 수 있다는 의미는 아닙니다. 직접 수정한 항목은 다음 업데이트에서 덮어써질 수 있습니다. 장기적으로 수정하려면 기존 구독의 설정 출처를 확인하세요.

구독 token, Password 또는 전체 설정이 담긴 스크린샷을 공개 페이지에 올리지 마세요. 문제를 기록할 때는 오류 유형, 네트워크 환경, 발생 시간대만 남기면 됩니다. 항목을 확인해야 한다면 먼저 인증 값을 가리세요. 연결 테스트에서도 주소 확인 성공, 핸드셰이크 성공, 대상 웹페이지 접속 가능 여부는 각각 다른 단계입니다.

문제 해결을 위한 Config, Proxy, Direct 사용법

Hysteria2 항목을 선택해도 실제 접속은 Global Routing 설정의 영향을 받습니다. Config는 현재 설정의 규칙에 따라 처리하고, Proxy는 프록시가 처리할 수 있는 트래픽을 선택한 프록시 경로로 보냅니다. Direct는 직접 연결합니다. Global Routing에서 Scene을 사용할 수도 있습니다. Scene은 설정된 조건에 따라 처리하므로 항목이 선택되어 있다는 이유만으로 현재 트래픽이 Hysteria2를 거친다고 판단해서는 안 됩니다.

Config

권장

현재 설정의 규칙과 정책에 따라 연결을 처리합니다. 프록시 규칙에서 참조하는 정책에 사용 가능한 Hysteria2 항목이 선택되어 있어야 합니다. 규칙이 DIRECT로 지정된 트래픽은 직접 연결됩니다.

사용 예: 연결을 확인한 뒤 평소처럼 규칙에 따라 트래픽을 분배할 때

Proxy

일시적으로 모든 트래픽을 프록시 경로로 보내 규칙에 따른 트래픽 분배가 테스트에 미치는 영향을 줄입니다. 현재 선택된 서버나 정책은 확인해야 하며, 잘못된 인증이나 TLS 설정을 우회할 수는 없습니다.

사용 예: Config의 규칙이나 정책이 문제인지 확인할 때

Direct

현재 네트워크에서 직접 접속할 때의 상태를 확인합니다. 이때 페이지가 열려도 Hysteria2 연결이 성공했다는 증거가 되지는 않습니다.

사용 예: 직접 연결 상태를 기준으로 삼아 대상 사이트와 프록시 경로 문제를 구분할 때

아래 규칙은 문법만 보여 주는 예시이며, 완전한 설정이 아닙니다. DOMAIN-SUFFIX는 도메인 접미사를 일치시키고, FINAL은 앞선 규칙에 해당하지 않은 경우 적용되는 최종 처리 방식입니다. PROXY는 현재 설정에 존재하고 사용 가능한 정책을 가리켜야 합니다. 해당 정책에서 다른 항목을 선택했다면 테스트 결과를 Hysteria2의 성능으로 볼 수 없습니다.

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

GEOIP와 IP-CIDR은 IP 주소를 기준으로 일치시키고, DOMAIN-SUFFIX는 도메인을 기준으로 일치시킵니다. 문제를 확인할 때는 설정에 특정 키워드가 있는지만 볼 것이 아니라 규칙 순서, 일치 결과, 정책 선택을 모두 확인해야 합니다. Proxy에서는 사용할 수 있지만 Config에서는 실패한다면 먼저 이 항목들을 점검하세요. 두 설정 모두에서 핸드셰이크 시간 초과가 발생할 때 UDP 연결 가능 여부와 서버 항목을 확인하세요.

자주 묻는 문제: 시간 초과, 속도 측정 변동, 구독 업데이트

같은 설정이 Wi-Fi에서는 작동하지만 모바일 네트워크에서는 계속 시간 초과되나요?

같은 항목과 대상을 유지한 채 두 네트워크에서 각각 테스트하세요. 먼저 Address, Port, 서버의 UDP 상태를 확인한 다음 현재 네트워크에서 UDP를 제한하는지 살펴보세요. 한쪽 네트워크에서만 실패한다면 차이를 기록하고, 원인을 찾을 수 없도록 비밀번호, SNI, 대역폭을 한꺼번에 바꾸지 마세요.

연결된 것으로 표시되는데 웹페이지가 열리지 않는 이유는 무엇인가요?

시스템 VPN 스위치가 켜져 있다고 원격 프록시 핸드셰이크까지 성공한 것은 아닙니다. 먼저 Home에서 선택한 항목을 확인하고 Global Routing → Proxy를 일시적으로 설정해 같은 페이지를 테스트하세요. 연결 기록에서 핸드셰이크, 인증 또는 DNS 오류를 확인한 뒤 항목 편집 화면에서 관련 설정을 점검하세요.

속도 측정 결과는 높은데 웹페이지가 빨라지지 않는 이유는 무엇인가요?

속도 측정은 대개 지속 처리량을 중점적으로 보여 줍니다. 웹페이지 로딩에는 DNS, 연결 수립, 대상 서버의 응답도 영향을 줍니다. 처음 열 때와 이후 로딩 상태를 따로 기록하고 대상과 네트워크를 동일하게 유지하세요. 대용량 파일을 한 번 다운로드한 결과만으로 모든 상호작용 성능을 판단하지 마세요.

구독을 업데이트한 뒤 수동으로 바꾼 설정이 다시 바뀌었나요?

업데이트 과정에서 항목이 다시 만들어질 수 있습니다. Home의 해당 구독 그룹으로 돌아가 Type, Port, SNI, 인증 항목을 기존 구독 안내와 대조하세요. 구독을 가져오지 못하는 문제와 Hysteria2 핸드셰이크 실패는 별개이므로 URL 연결 가능 여부와 서버 연결을 각각 확인해야 합니다.

설정을 비교할 때는 한 번에 변수 하나만 바꾸세요. 사용한 네트워크, Global Routing 설정, 선택한 항목, 대상 주소와 “핸드셰이크 시간 초과”, “인증 실패”, “다운로드 중 연결 끊김” 같은 구체적인 현상을 기록하세요. 필요하면 다른 업로드와 다운로드를 잠시 중단한 뒤 다시 테스트하세요. 이런 기록이 단독으로 측정한 지연 시간보다 연결 문제를 판단하는 데 도움이 됩니다.

사용 범위와 App Store에서 구매하는 방법

Hysteria2는 기존 서비스가 지원하고 UDP에 연결할 수 있을 때 테스트하기 적합합니다. 특히 지연이 크고 패킷 손실이 있어도 사용할 수 있는 대역폭이 남아 있는 연결에서 살펴볼 만합니다. 네트워크에서 UDP를 계속 차단한다면 대역폭 값을 반복해서 높이는 대신 본인이 보유한 설정에서 사용할 수 있는 다른 전송 방식을 선택하세요. 프로토콜만으로 서버 부하, 외부 연결 대역폭, 대상 웹사이트의 제한을 없앨 수는 없습니다.

Shadowrocket은 폐쇄형 유료 앱으로 Apple 플랫폼에서만 제공되며, 주로 iPhone과 iPad에서 사용할 수 있습니다. Mac, Apple TV, Apple Vision 호환 여부와 시스템 요구 사항은 App Store 페이지의 안내를 확인하세요. 유일한 구매 경로는 App Store입니다. 개발자 Shadow Launch Technology Limited와 앱 ID 932747118을 확인한 뒤 한 번만 결제해 구매하세요. 앱 구매에는 네트워크 서비스 요금제가 포함되지 않습니다. 이 글에서는 노드나 구독을 제공, 판매 또는 추천하지 않습니다.

App Store 정품 확인구매 및 복원 안내