이 글 미리보기

Shadowrocket은 여러 프록시 및 터널 프로토콜을 지원하지만, 클라이언트가 지원한다고 해서 서버에서도 해당 프로토콜이 활성화된 것은 아닙니다. 서비스와 구독 정보를 이미 보유하고 있으며 설정을 가져오거나 직접 입력하려는 사용자를 위한 안내입니다. 먼저 비교표에서 프로토콜을 확인하고 인증, 전송 방식, TLS 설정을 점검한 뒤, 프로토콜 종류와 Global Routing을 구분하세요. 연결 실패를 단순히 “프로토콜이 느려서”라고 단정하지 마세요.

1분 비교: 프로토콜별 주요 설정값

Shadowrocket의 Add Server에서 연결 설정을 추가할 수 있습니다. Shadowsocks, VMess, VLESS, Trojan, HTTP/SOCKS5, WireGuard, Hysteria2는 입력 항목이 서로 다릅니다. 먼저 Type을 확인한 다음 주소와 인증 정보를 입력하세요. 기존 구독 정보는 서비스 제공업체에서 확인하고, 포트 번호만 보고 프로토콜을 추측하지 마세요.

프로토콜작동 방식우선 확인할 항목
Shadowsocks비밀번호와 지정된 암호화 방식으로 프록시 연결을 설정합니다주소, 포트, Password, 암호화 방식
VMessUUID로 인증하며 자체 데이터 보호 기능을 제공합니다UUID, 암호화 설정, 전송 방식, TLS
VLESSUUID로 인증하며 프로토콜 자체는 데이터를 암호화하지 않습니다UUID, 전송 방식, TLS 및 서버에서 요구하는 추가 설정값
Trojan일반적으로 TLS 연결을 통해 프록시 트래픽을 전달하고 비밀번호로 인증합니다Password, TLS, 서버 이름, 인증서
HTTP/SOCKS5범용 프록시 프로토콜로, 인증 방식은 서버에서 결정합니다프록시 유형, 포트, 사용자 이름, 비밀번호, TLS 요구 사항
WireGuardUDP 기반 암호화 IP 터널키, 피어 엔드포인트, 터널 주소, 라우팅 설정
Hysteria2QUIC 기반 프록시 전송 방식으로 UDP를 사용합니다인증, 포트, TLS, 난독화, 대역폭 설정

표의 항목은 확인 순서이며, 전체 지원 목록은 아닙니다. 특정 프로토콜의 세부 기능을 사용할 수 있는지는 앱에서 선택할 수 있는 항목과 서버 설정을 함께 확인해야 합니다. 443 포트를 사용하더라도 한 연결은 Trojan, 다른 연결은 VLESS 또는 Hysteria2일 수 있습니다. 포트는 연결 대상의 일부일 뿐, 프로토콜을 결정하지 않습니다.

Shadowsocks, VMess, VLESS: 인증과 암호화를 구분하세요

Shadowsocks를 사용하려면 클라이언트와 서버의 암호화 방식 및 비밀번호가 일치해야 합니다. 암호화 방식을 다른 것으로 바꾼다고 서버 설정에 자동으로 맞춰지는 것은 아닙니다. 주소와 포트가 맞는데도 인증에 실패한다면 방식을 계속 바꾸기보다 가져온 설정과 서비스 제공업체의 원본 정보를 먼저 비교하세요.

VMess와 VLESS는 모두 UUID를 사용하지만, Type만 바꾼다고 서로 전환되는 것은 아닙니다. VMess에는 자체 데이터 보호 기능이 있지만 VLESS 자체는 데이터를 암호화하지 않습니다. 실제 연결의 보안은 별도의 보안 계층에 따라 달라집니다. UUID는 인증 정보이지 TLS 인증서가 아니며, 서버 이름 항목에 입력해서도 안 됩니다.

Trojan과 HTTP/SOCKS5: 프록시 프로토콜과 TLS를 구분하세요

Trojan은 일반적으로 TLS 연결 안에서 인증과 프록시 전송을 처리합니다. 설정할 때 Password와 TLS 관련 항목을 함께 확인해야 합니다. 비밀번호가 맞더라도 서버 이름이 일치하지 않으면 인증 전에 인증서 검증 오류로 연결이 중단될 수 있습니다. 대상 주소는 도메인 또는 IP일 수 있지만, 인증서 검증에 사용하는 서버 이름은 서버 안내와 일치해야 합니다.

HTTP 프록시와 SOCKS5 프록시는 주로 연결 협상 방식을 정의합니다. 프로토콜 이름만으로 프록시 서버까지의 연결이 암호화된다고 볼 수는 없습니다. HTTP 프록시는 CONNECT를 통해 HTTPS 대상에 터널을 만들 수 있지만, 이는 클라이언트와 프록시 서버 사이의 TLS 사용 여부와는 별개의 문제입니다. SOCKS5에서 사용자 이름과 비밀번호를 받는지, UDP 전달을 지원하는지도 서버 기능에 따라 다릅니다.

WireGuard와 Hysteria2: 둘 다 UDP를 사용하지만 설정 목적은 다릅니다

WireGuard는 IP 계층 터널이며 키를 사용해 신원을 확인합니다. 로컬 Private Key, 피어 Public Key, 서버에서 요구하는 경우 사용하는 Preshared Key를 구분해야 하며 서로 바꿔 입력할 수 없습니다. 서버 엔드포인트뿐 아니라 할당된 터널 주소와 라우팅 설정도 확인하세요. 엔드포인트 example.com:51820은 형식을 보여주는 예시이며, 51820을 반드시 사용해야 하는 것은 아닙니다.

Hysteria2는 QUIC 기반으로 UDP를 사용하며 TLS도 적용합니다. 인증, 서버 이름, 선택적 난독화 설정은 서버와 일치해야 합니다. 대역폭 관련 설정도 실제 연결 환경과 서비스 제공업체의 안내에 따라 지정하세요. 더 큰 값을 입력한다고 실제 사용 가능한 대역폭이 늘어나는 것은 아닙니다.

확인 항목WireGuardHysteria2
신원 및 인증키 쌍 및 선택적 사전 공유 키서버에서 설정한 인증 정보
연결 기반UDP 기반 암호화 IP 터널UDP 기반 QUIC 연결 및 TLS
일반적인 오류피어 공개 키, 엔드포인트 또는 터널 주소 불일치인증, 서버 이름 또는 난독화 설정 불일치
네트워크 제한UDP가 차단되면 정상적으로 핸드셰이크할 수 없습니다UDP가 차단되면 정상적인 QUIC 연결을 설정할 수 없습니다

결론: 먼저 UDP에 연결할 수 있는지 확인하세요

같은 설정이 셀룰러 네트워크에서는 작동하지만 특정 Wi-Fi에서 계속 시간 초과된다면, 프로토콜 설정을 바꾸기 전에 두 네트워크의 UDP 제한을 비교하세요. 프로토콜 이름만으로 속도를 판단하거나 대역폭 값을 반복해서 높이지 마세요.

가져오기 및 확인: 원본 설정을 보존하고 항목별로 테스트하세요

기존 구독은 서비스 제공업체가 제공한 전체 내용을 그대로 가져오는 것이 좋습니다. 구독에는 주소와 비밀번호뿐 아니라 TLS, 전송 방식, 프로토콜 확장 설정도 포함될 수 있습니다. 개별 연결의 설정 항목이 명확한 경우에는 직접 입력할 수 있습니다. 정보가 부족하면 값을 추측해 넣지 말고 먼저 필요한 정보를 확인하세요.

  1. 정보 출처 확인

    기존 구독 또는 개별 설정값은 서비스 제공업체에서 확인하세요. 프로토콜 이름, 주소, 포트, 인증 방식을 확인하고 항목별 비교를 위해 원본 정보를 보관하세요.

  2. 구독 가져오기

    Home에서 오른쪽 위의 “+”를 눌러 Add Server로 이동하고, Type을 Subscribe로 설정한 다음 본인의 구독 주소를 입력해 저장하세요. 구독 항목이 예상대로 불러와졌는지 확인하세요.

  3. 설정 항목 확인

    직접 추가하려면 Home → “+” → Add Server → Type에서 실제 프로토콜을 선택하세요. 주소, 포트, 인증 정보를 입력한 뒤 TLS, 전송 방식, 해당 프로토콜에만 있는 설정을 확인하세요.

  4. 연결 확인

    Home으로 돌아가 연결 항목을 선택하고 연결을 켠 다음 시스템 안내에 따라 권한을 허용하세요. 먼저 접근 가능한지 확실한 대상으로 테스트하고 오류 유형을 기록하세요. 한 번에 하나의 설정만 변경하세요.

구독을 업데이트하면 서비스 제공업체가 게시한 내용을 다시 가져옵니다. 이는 ‘개별 연결 설정을 직접 편집하는 것’과 다릅니다. 업데이트 후 항목이 이전 값으로 돌아가면 구독 원본의 설정을 먼저 확인하세요. 로컬에서 수정한 내용이 항상 유지된다고 가정하지 마세요. 구독 주소의 토큰은 인증 정보이므로 로그나 설정을 공유하기 전에 삭제하세요.

Global Routing과 프로토콜 유형: 두 설정을 따로 확인하세요

프로토콜은 서버에 연결하는 방식을 결정하고, Global Routing은 터널로 들어가는 요청을 어떤 정책으로 처리할지 결정합니다. Trojan으로 바꿔도 규칙 기반 라우팅이 자동으로 활성화되지는 않습니다. 연결 항목 하나를 선택했다고 모든 요청이 해당 항목을 사용하는 것도 아닙니다. 문제를 확인할 때는 Home의 연결 항목, Global Routing의 현재 모드, Config에서 사용 중인 설정을 각각 점검하세요.

Config

구성에 따름

현재 구성에 설정된 규칙과 정책에 따라 요청을 처리합니다. 일치 결과는 PROXY, DIRECT, REJECT 또는 지정된 정책일 수 있으며, 일치하지 않은 모든 요청이 직접 연결된다는 뜻은 아닙니다.

적합한 경우: 분할 라우팅 설정을 확인한 뒤 평소에 사용할 때

Proxy

터널로 들어가는 요청을 프록시 모드로 처리합니다. 규칙 기반 라우팅으로 생기는 차이를 좁혀 확인하는 데 유용하지만, 선택한 연결의 프로토콜과 인증 정보는 올바르게 설정되어야 합니다.

적합한 경우: 프록시 연결을 임시로 확인하거나 규칙의 영향을 점검할 때

Direct

요청을 직접 연결 모드로 처리합니다. 이때 웹페이지가 열린다고 선택한 프록시 연결이 유효하거나 특정 프로토콜의 연결이 성공했다는 뜻은 아닙니다.

적합한 경우: 로컬 네트워크의 직접 연결 상태와 비교할 때

Global Routing의 Scene은 상황별 모드이며 별도의 프록시 프로토콜이 아닙니다. 확인할 때는 현재 Scene에 적용된 실제 설정을 살펴보세요. Settings → On Demand에서는 필요에 따른 연결 조건을 관리하지만 잘못된 UUID, 비밀번호 또는 TLS 설정을 바로잡아 주지는 않습니다. 먼저 연결을 수동으로 확인한 뒤 자동 실행 조건을 점검하면 연결 실패와 연결 미실행을 구분하기 쉽습니다.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY

위 내용은 규칙 문법과 적용 순서를 보여주는 예시이며, 그대로 사용할 수 있는 전체 Config는 아닙니다. DOMAIN-SUFFIX는 도메인 접미사로, IP-CIDR은 IP 주소 대역으로 일치 여부를 확인합니다. GEOIP는 IP 위치 정보에 의존하며, FINAL은 앞선 규칙에 일치하지 않은 요청을 처리합니다. REJECT는 요청을 거부합니다. 규칙 키워드는 트래픽의 처리 방향을 결정할 뿐 프로토콜 핸드셰이크를 해결하지는 않습니다. 예시에 나온 도메인과 문서용 IP 대역은 실제 서비스가 아닙니다.

자주 묻는 질문: 지원 프로토콜인데 연결되지 않을 때 확인할 사항

서버 주소만 있으면 Type을 아무거나 선택해도 되나요?

안 됩니다. Home → “+” → Add Server → Type에서 서버와 일치하는 프로토콜을 선택하세요. 주소와 포트만으로는 전체 설정을 구성할 수 없습니다. 인증, TLS, 전송 설정은 서비스 제공업체에서 확인해야 합니다.

포트가 모두 443인데 왜 한 연결만 작동하나요?

먼저 Type을 비교한 뒤 인증과 TLS를 확인하세요. TCP의 443과 UDP의 443은 서로 다른 전송 엔드포인트입니다. Trojan과 Hysteria2는 포트 번호가 같아도 동일한 프로토콜 설정을 사용할 수 없습니다.

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

지연 시간 테스트 결과는 해당 테스트 방식으로 응답을 받았다는 것만 보여 줍니다. DNS, 인증, 대상 요청이 모두 성공했다는 뜻은 아닙니다. Home으로 돌아가 Global Routing을 확인하고 대상 도메인의 이름 확인 결과와 구체적인 연결 오류를 점검하세요. 지연 시간 숫자 하나만 보고 프로토콜이 정상이라고 판단하지 마세요.

Shadowrocket을 구매했는데 프로토콜 설정값도 필요한가요?

필요합니다. 앱 일회성 구매는 네트워크 서비스 구독과 별개입니다. Shadowrocket은 상용 비공개 소프트웨어이며, 연결 설정과 기존 구독 정보는 서비스 제공업체에서 확인해야 합니다. 주로 iPhone/iPad에서 사용할 수 있으며, 다른 Apple 기기의 호환성은 App Store 페이지에서 확인하세요. 시스템 요구 사항과 구매 가능 여부는 App Store 페이지 표기를 따릅니다.