이 글은 서버 설정값이나 구독 주소를 이미 보유하고 있으며 Shadowrocket에 가져오려는 사용자를 위한 안내입니다. 인증, 전송 방식, TLS를 구분한 뒤 Add Server의 관련 항목을 확인합니다. 읽고 나면 어떤 값을 그대로 입력해야 하는지, 프로토콜을 임의로 바꿀 수 없는 이유와 연결 실패 시 먼저 확인할 계층을 알 수 있습니다. 이 사이트는 서버나 구독 서비스를 제공·판매·추천하지 않습니다.
1. VMess와 VLESS: 인증·암호화·전송 방식 구분하기
VMess와 VLESS는 모두 클라이언트와 서버 간 프록시 통신에 사용되지만, 같은 프로토콜의 속도 차이 설정은 아닙니다. VMess는 프로토콜 계층에서 데이터를 암호화할 수 있으며, 일반적인 설정에는 alterId가 포함되기도 합니다. VLESS는 프로토콜 자체를 간소화해 동일한 내장 데이터 암호화를 제공하지 않으며, 배포 시에는 보통 TLS 같은 보안 전송 방식으로 연결을 보호합니다. 서버에서 사용하는 프로토콜을 클라이언트에서도 선택해야 합니다.
| 확인 항목 | VMess | VLESS |
|---|---|---|
| 인증 정보 | 일반적으로 UUID를 사용하며 서버 설정과 일치해야 합니다. | 일반적으로 UUID를 사용하지만, 형식이 같다고 다른 프로토콜에서 가져다 쓸 수는 없습니다. |
| 프로토콜 내장 암호화 | 프로토콜 계층 암호화를 지원하며, 구체적인 방식은 기존 설정에 맞춰 입력합니다. | 내장 데이터 암호화를 제공하지 않으므로 외부 보안 방식을 확인해야 합니다. |
| alterId | 이전 버전과의 호환을 위한 값입니다. VMess AEAD 설정에서는 보통 0을 사용합니다. | 대응하는 alterId 항목이 없으므로 VMess 설정에서 복사하지 마세요. |
| 전송 설정 | 서버 구성에 따라 TCP, WebSocket 등을 사용할 수 있습니다. | 서버에서 사용하는 전송 방식과 관련 항목을 동일하게 설정해야 합니다. |
| TLS | 프로토콜 계층 암호화와 함께 사용할 수 있습니다. | 외부 연결을 보호할 때 흔히 사용하지만, 프로토콜 이름만으로 사용 여부를 판단할 수는 없습니다. |
설정값은 세 계층으로 나누어 이해할 수 있습니다. UUID 같은 인증 정보는 사용자를 식별하고, TCP나 WebSocket은 데이터 전송 방식을 정하며, TLS는 연결을 암호화하고 서버 신원을 확인합니다. WebSocket 자체가 암호화를 의미하지는 않으며, VLESS라고 해서 TLS가 반드시 활성화된 것도 아닙니다. 반대로 VMess의 프로토콜 계층 암호화와 외부 TLS는 함께 사용할 수 있으므로 둘 중 하나만 선택하는 방식이 아닙니다.
요약: 기존 설정에 맞춘 뒤 프로토콜을 선택하세요
사용자가 보유한 항목의 세부 정보를 열어 프로토콜 유형, UUID, 전송 방식, TLS부터 확인하세요. 속도를 높이려고 VMess 항목의 유형을 VLESS로 바꾸지 마세요. 서버에서 해당 VLESS 설정도 제공하지 않는다면 인증과 핸드셰이크가 제대로 완료되지 않습니다.
2. Add Server: 프로토콜 이름으로 추측하지 말고 항목별로 확인하기
수동으로 추가하려면 Home에서 추가 메뉴로 이동해 Add Server를 열고, 프로토콜 유형을 선택한 다음 서버 주소와 포트, 인증 정보를 입력합니다. 플랫폼마다 항목 배치는 다를 수 있지만 설정값 간의 관계는 같습니다. 아래 포트와 경로는 각 항목의 의미를 설명하기 위한 예시일 뿐, 실제로 연결할 수 있는 서버 설정이 아닙니다.
- 서버 주소와 포트를 확인하세요. 주소에는 사용자가 보유한 도메인이나 IP를 입력하고, 포트는 별도 항목에 입력합니다. 전체 공유 링크를 서버 주소란에 붙여 넣지 마세요. TLS가 표시되어도 기존 포트를 임의로 443으로 바꾸면 안 됩니다.
- UUID를 확인하세요. 하이픈이 빠지거나 공백이 들어가지 않도록 문자열 전체를 복사하세요. 표시 이름은 메모일 뿐이며, 이름이 같아도 인증 정보가 같다는 뜻은 아닙니다.
- VMess의 암호화 방식과 alterId를 확인하세요. 기존 설정에 적힌 값을 입력합니다. alterId는 네트워크 지연 시간 설정이 아니므로 값을 높여도 속도가 빨라지지 않습니다. 이전 설정에 다른 값이 있다면 일률적인 값으로 바꾸지 말고 먼저 서버 요구 사항을 확인하세요.
- 전송 방식을 확인하세요. WebSocket을 선택했다면 Host와 Path도 확인합니다. 다른 전송 방식을 선택한 경우에는 관련 설정값을 입력하세요. 전송 옵션만 변경하고 서버 설정은 그대로 두면 프로토콜을 바꿀 수 없습니다.
- TLS와 Server Name을 확인하세요. Server Name은 TLS 핸드셰이크 중 서버 이름 표시와 인증서 검증 관련 절차에 사용되며, 연결 주소와 다를 수 있습니다. 기존 도메인 대신 서버 IP를 입력하지 마세요.
- 추가 설정을 확인하세요. 기존 VLESS 설정에 flow 등의 항목이 있다면 현재 클라이언트에서 지원하는지 확인하고 원래 값을 유지하세요. 모든 VLESS 항목에 필요한 공통 옵션으로 해석해서는 안 됩니다.
기존 설정에 연결 주소는 IP, TLS Server Name은 도메인으로 적혀 있다면 두 값이 다른 것이 반드시 오류는 아닙니다. 연결 주소는 접속 대상을 정하고, Server Name은 TLS 핸드셰이크에 사용됩니다. WebSocket의 Host는 HTTP 계층의 항목이므로 도메인처럼 보인다는 이유로 서로 바꿔 입력하면 안 됩니다. 인증서 오류가 발생하면 검증을 끄기보다 이름, 인증서 유효 기간, 기기 날짜와 시간을 먼저 확인하세요.
3. 공유 링크와 Subscribe: 알맞은 가져오기 절차 선택하기
공유 링크 하나에는 보통 서버 항목 하나가 담기며, 구독 주소는 여러 항목을 가져오고 업데이트할 때 사용합니다. VMess 공유 링크는 보통 vmess://로, VLESS 공유 링크는 vless://로 시작합니다. 접두사를 직접 바꾸지 마세요. 뒤에 오는 인코딩 형식과 항목의 의미, 서버 요구 사항도 다를 수 있습니다. UUID가 포함된 공유 링크와 토큰이 포함된 구독 주소는 인증 정보처럼 안전하게 보관해야 합니다.
가져오기 방법: 단일 항목 설정과 구독 업데이트 주소 구분하기
이미 보유한 단일 공유 링크
- Shadowrocket의 링크 가져오기 메뉴를 사용하고, 가져온 뒤 Home으로 돌아가 항목을 확인하세요.
- 항목 세부 정보를 열어 프로토콜, 주소, 포트, TLS, 전송 설정을 확인하세요.
- 설정값이 바뀌면 새 링크를 가져오거나 안내에 따라 기존 항목을 수정하세요.
이미 보유한 Subscribe 주소
- 추가 절차에서 Subscribe를 선택하고 사용자가 보유한 구독 URL을 입력한 뒤 저장하세요.
- 업데이트를 실행하고 Home에 서버 목록이 표시될 때까지 기다린 다음 원하는 항목을 선택하세요.
- 이후 설정값이 바뀌면 먼저 구독을 업데이트하세요. 직접 수정한 값은 다음 업데이트 때 덮어쓰일 수 있습니다.
구독 가져오기 실패와 서버 연결 실패는 서로 다른 단계에서 발생합니다. 먼저 목록을 정상적으로 가져왔는지 확인한 다음 선택한 항목의 연결을 점검하세요.
구독 주소 형식을 설명하기 위한 예시 값은 https://example.com/sub?token=xxxx이며 실제 서비스를 제공하지 않습니다. 실제 주소는 물음표 뒤의 쿼리 매개변수를 포함해 빠짐없이 붙여 넣어야 합니다. token 누락, 구독 만료, 로그인 페이지 반환 등으로 목록을 읽지 못할 수 있습니다. 구독이 업데이트되었다는 것은 목록을 가져오는 단계가 성공했다는 뜻일 뿐, 각 서버의 연결 가능 여부를 보장하지 않습니다.
4. Global Routing: 연결 문제와 규칙 문제 구분하기
가져오기가 끝나면 Home에서 항목을 선택해 연결을 켠 뒤 Global Routing을 확인하세요. 프로토콜은 프록시 서버에 연결하는 방식을 정하고, Global Routing은 해당 연결을 사용할 트래픽을 정합니다. Direct 상태에서 웹페이지가 열려도 VMess나 VLESS가 작동한다는 뜻은 아닙니다. Config에서 특정 대상에 DIRECT 규칙이 적용되어도 그 대상으로 프록시 서버를 테스트할 수는 없습니다.
Config: 현재 설정의 규칙에 따라 연결하기
권장현재 Config의 규칙을 위에서부터 차례로 적용해 해당 정책을 따릅니다. 앞선 규칙에 일치하지 않는 연결은 FINAL에서 처리되며, 항상 직접 연결되는 것은 아닙니다.
적합한 용도: 일상적인 사용, 도메인과 IP별 트래픽 분리
Proxy: 규칙에 따른 트래픽 분배 영향을 일시적으로 제외
Shadowrocket에서 처리하는 트래픽을 프록시 경로로 보내 Config의 규칙이나 정책 선택이 문제의 원인인지 확인할 수 있습니다.
적합한 용도: 선택한 서버를 잠깐 테스트한 뒤 평소 설정으로 복원
Direct: 직접 연결 결과와 비교
Shadowrocket에서 처리하는 트래픽을 프록시 서버를 거치지 않고 대상에 직접 연결합니다. 따라서 프록시 인증 성공 여부를 확인하는 데 사용할 수 없습니다.
적합한 용도: 현재 네트워크에서 대상에 직접 연결했을 때의 결과 비교
아래 내용은 규칙 구문 예시이며 완전한 Config 파일이 아닙니다. 사용하기 전에 설정에 PROXY라는 정책이 실제로 있는지 확인하고 규칙이 위에서 아래 순서로 적용된다는 점을 이해하세요. DOMAIN-SUFFIX는 도메인 접미사를, GEOIP는 IP 지리 데이터베이스를, IP-CIDR은 IP 주소 대역을 기준으로 일치 여부를 판단합니다. FINAL은 앞선 규칙에 일치하지 않은 연결을 처리합니다.
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
같은 항목이 Proxy에서는 대상에 접속되지만 Config에서는 실패한다면 프로토콜을 바로 바꾸지 말고 Config에서 대상에 적용된 규칙과 연결되는 정책을 확인하세요. Global Routing의 Scene은 사용 환경을 선택하는 기능이지 네 번째 프록시 프로토콜이 아닙니다. 점검할 때는 모드와 항목을 하나로 고정해 Scene 변경이 비교에 영향을 주지 않도록 하세요.
5. 연결 실패: 확인할 수 있는 증상에 따라 단계별로 점검하기
한 번에 설정 하나만 변경하고 복구할 수 있도록 원래 항목을 보관하세요. 실패한 단계가 ‘구독 업데이트’, ‘연결 수립’, ‘특정 대상 접속’ 중 어디인지 기록하면 단순히 ‘안 열림’이라고 적는 것보다 문제를 파악하기 쉽습니다. 포트에 연결된다고 인증이 완료된 것은 아니며, 지연 시간 테스트가 성공해도 모든 앱 요청이 처리된다는 뜻은 아닙니다.
VMess를 VLESS로 바꾼 뒤 연결되지 않습니다. 무엇을 잘못 입력했나요?
먼저 기존 항목의 VMess 유형과 설정값을 복원하세요. 서버에서 해당 VLESS 설정을 제공하는 경우에만 VLESS 항목을 새로 만들고 UUID, 전송, TLS 설정을 입력하세요. 기존 항목의 유형을 계속 바꿔가며 시도하지 마세요.
포트에는 연결되지만 TLS 핸드셰이크 오류가 발생하면 어떻게 하나요?
항목 세부 정보를 열고 기존 설정과 TLS, Server Name, 포트를 대조한 뒤 기기의 날짜와 시간을 확인하세요. 연결 주소가 IP라면 기존 Server Name을 그대로 유지하는 것이 특히 중요합니다. 인증서가 일치하지 않으면 설정을 확인하고, 일반적인 해결 방법으로 인증서 검증을 끄지는 마세요.
WebSocket 항목이 계속 실패합니다. Path를 바꿔야 하나요?
먼저 전송 방식이 WebSocket으로 설정되어 있는지 확인한 뒤 Host와 Path를 한 글자씩 대조하세요. 앞쪽 슬래시, 대소문자, 쿼리 매개변수도 확인해야 합니다. 경로가 잘못되면 HTTP 404가 반환될 수 있고, 핸드셰이크 거부는 리버스 프록시 설정과 관련이 있을 수도 있습니다. 모든 실패 원인을 UUID로 단정하지 마세요.
연결을 껐는데 왜 다시 자동으로 켜지나요?
Settings → On Demand에서 활성화 상태와 조건을 확인하세요. 문제를 점검하는 동안에는 On Demand를 잠시 끄고 연결 스위치 상태를 고정한 뒤 테스트할 수 있습니다. 테스트가 끝나면 필요한 설정으로 복원하세요. On Demand는 조건에 따라 연결을 시작하는 기능이며 VMess를 VLESS로 변환하지 않습니다.
VLESS는 항상 VMess보다 빠른가요?
프로토콜 이름만으로 판단할 수 없습니다. 두 가지 설정을 모두 사용할 수 있다면 같은 네트워크와 대상, 비슷한 시간대에 각각 테스트하고 전송 방식, TLS 사용 여부, 실패 증상을 기록하세요. 서버 부하, 경로의 패킷 손실, 네트워크 경로도 결과에 영향을 줍니다.
비교 테스트를 마치면 Global Routing을 평소 사용하는 Config로 되돌리고, 구독 업데이트 후 선택한 서버가 바뀌지 않았는지 확인하세요. 그래도 문제가 지속되면 사용 중인 서비스의 지원 담당자에게 오류가 발생한 단계, 전송 방식, 민감 정보를 가린 로그를 전달하면 됩니다. UUID, 구독 token, 전체 공유 링크를 공개 스크린샷에 포함하지 마세요. Home, Config, 연결 스위치의 기본 조작법은 사이트의 사용 안내에서 확인할 수 있습니다.