이 글은 서비스 제공자가 안내한 설정값을 보유하고 있으며 Shadowrocket에서 VMess 또는 VLESS를 가져오거나 직접 입력하려는 사용자를 위한 내용입니다. 먼저 프로토콜 인증, 연결 암호화, 전송 방식을 구분한 다음 Add Server에서 주소, 포트, UUID, TLS 설정을 확인하세요. 연결에 실패하면 프로토콜 이름을 바꿔 보는 대신 항목별로 차례대로 점검합니다.
VMess와 VLESS: 인증, 암호화, 전송 방식 구분하기
VMess와 VLESS는 연결 프로토콜이지 연결 서비스 자체가 아닙니다. 서버에서 사용하는 프로토콜에 맞춰 클라이언트에서도 해당 유형을 선택해야 합니다. 주소, 포트, UUID가 모두 같더라도 VMess 항목을 VLESS로 바꾼다고 서버의 프로토콜이 자동으로 전환되지는 않습니다.
VMess는 프로토콜 계층에서 데이터를 암호화할 수 있으며, 최신 구성에서는 AEAD 인증 방식을 사용하는 경우가 많습니다. VLESS 기본 프로토콜은 같은 방식의 페이로드 암호화를 제공하지 않으며, 보통 TLS와 같은 외부 계층으로 연결을 보호합니다. 따라서 “VLESS의 Encryption은 none”이라는 말이 “연결 전체가 암호화되지 않는다”는 뜻은 아닙니다. 외부 보안 설정도 확인해야 합니다.
| 확인 항목 | VMess | VLESS |
|---|---|---|
| 사용자 인증 | UUID 등의 인증 정보를 사용하며, 최신 구성에서는 보통 AEAD를 사용 | UUID로 사용자를 식별하며, 이 값만으로 암호화 방식을 판단할 수 없음 |
| 프로토콜 계층 암호화 | 서버 요구 사항에 맞춰 선택합니다. 일반적인 값은 auto, aes-128-gcm, chacha20-poly1305입니다. | 기본 프로토콜의 Encryption은 보통 none이며, VMess 암호화 옵션을 적용하지 않음 |
| 외부 계층 보안 | TLS 사용 여부는 서버 설정에 따르며, VMess 프로토콜 계층 암호화와는 별개 | 일반적인 배포 환경에서는 TLS와 같은 외부 보안 방식을 사용하므로 관련 항목을 빠짐없이 확인해야 함 |
| 전송 방식 | 서버 요구 사항에 따라 TCP, WebSocket 등을 사용 | 이 역시 서버 설정에 따르며, 프로토콜 이름만으로는 판단할 수 없음 |
하나의 프로토콜에 여러 전송 방식과 보안 설정을 조합할 수 있습니다. 연결 설정을 비교할 때는 VMess와 VLESS라는 이름만 보지 말고 “프로토콜 + 전송 방식 + 보안 설정”을 함께 비교해야 합니다. 프로토콜 이름만으로 실제 속도를 판단할 수도 없습니다. 로컬 네트워크, 서버 부하, 중간 경로가 모두 속도에 영향을 줍니다.
Add Server에서 주소, 포트, UUID 입력하기
Home 오른쪽 상단의 추가 버튼을 눌러 Add Server로 이동한 다음, Type을 선택하고 보유한 설정값을 입력합니다. Type에 따라 표시되는 항목이 다르며, 앱 인터페이스 언어와 버전에 따라 항목 이름이 달라질 수도 있습니다. 아래 표에서는 각 설정값의 의미를 기준으로 확인합니다. 모든 항목이 한 화면에 표시되는 것은 아닙니다.
- 먼저 원본 설정값을 보관하세요.서비스 제공자가 안내한 전체 설정 내용을 보존합니다. 구독이나 공유 설정이 있다면 먼저 가져온 뒤 항목 편집 화면에서 확인하세요. 기억에 의존해 다시 만들지 마세요.
- Address 입력.여기에는 호스트 이름이나 IP 주소만 입력합니다. 예:
example.com. 웹 주소에 포함된https://, 경로, 쿼리 매개변수는 함께 입력하지 마세요. - Port 입력.서버가 안내한 숫자 포트를 입력합니다.
443은 일반적인 TLS 포트이지만 모든 설정에서 사용하는 것은 아닙니다. TLS를 켰다는 이유만으로 기존 포트를 443으로 바꾸면 안 됩니다. - UUID 붙여넣기.전체 값을 복사한 뒤 앞뒤 공백, 누락된 문자, 줄바꿈이 없는지 확인합니다. UUID는 인증 정보이지 메모 이름이나 구독 링크의 token이 아닙니다.
- 전송 방식과 TLS도 확인하세요.기본 항목을 올바르게 입력했다고 설정이 끝난 것은 아닙니다. 저장하기 전에 다음 절의 관련 항목도 확인해야 합니다.
확인: 형식이 올바르다고 인증이 유효한 것은 아닙니다
UUID가 36자 형식에 맞더라도 현재 서버에서 유효하지 않을 수 있습니다. 주소가 확인되고 포트에 연결되는데도 인증에 실패한다면 원본 UUID와 계정 상태를 대조하세요. 새 UUID를 만들어 해결하려고 하지 마세요.
VMess 설정에는 AlterId가 포함될 수도 있습니다. 최신 VMess AEAD 구성에서는 일반적으로 0을 사용합니다. 오래된 안내에 나온 다른 값을 일반적인 정답으로 간주하지 마세요. VLESS에는 VMess의 AlterId 방식이 없으므로 해당 항목을 가져오면 안 됩니다. 기존 설정값이 현재 선택 항목과 맞지 않는다면 임의로 바꾸지 말고 원래 설정을 안내한 곳에 문의하세요.
TLS, SNI, Host, Path는 각각 어떤 계층에 해당할까요?
Address는 연결할 대상을 지정하고, SNI는 TLS 핸드셰이크에서 서버 이름을 지정합니다. WebSocket의 Host는 HTTP 요청 헤더에 해당하며, Path는 요청 경로입니다. 이 값들이 서로 같을 수도, 다를 수도 있습니다. 모두 서버 주소로 입력하는 방법이 항상 맞는 것은 아닙니다.
| 항목 | 입력 기준 | 자주 하는 실수 |
|---|---|---|
| Transport | TCP 또는 WebSocket 등 서버 설정과 동일한 방식 사용 | WebSocket을 TCP로 바꾸면서 기존 포트와 다른 설정은 그대로 두는 경우 |
| TLS | 서버에서 요구하는 경우에만 활성화하고 서버 이름과 인증서를 확인 | 포트가 443이라는 이유만으로 TLS를 켜는 경우 |
| SNI | 서버가 안내한 이름을 입력합니다. 보통 프로토콜 접두어나 경로는 포함하지 않습니다. | 전체 URL을 입력하거나 인증서와 일치하지 않는 IP 주소를 사용하는 경우 |
| Host | WebSocket 등의 설정에서는 서버가 지정한 요청 헤더를 입력 | Host를 바꾸면 TLS의 SNI도 함께 바뀐다고 생각하는 경우 |
| Path | 경로, 대소문자, 필요한 쿼리 부분을 그대로 유지합니다. 예: /ws | 처음의 슬래시를 빠뜨리거나 임의로 /로 바꾸는 경우 |
예를 들어 안내에 Port는 443, Transport는 WebSocket, TLS는 켬, Path는 /ws로 명시되어 있다면 이 조합을 항목별로 그대로 입력해야 합니다. 숫자는 설정 항목을 설명하기 위한 예시일 뿐, 실제로 사용할 수 있는 서비스를 뜻하지 않습니다. 실제 설정에는 보유한 값을 사용하세요.
일부 VLESS 설정에는 Flow 또는 특정 보안 모드와 관련된 추가 항목이 있습니다. 원본 설정에 명시되어 있고 현재 클라이언트가 해당 조합을 지원할 때만 입력하세요. 일반 VLESS 항목에 Flow를 임의로 추가하지 마세요. 다른 보안 모드의 공개 키 등을 TLS의 SNI로 사용해서도 안 됩니다.
가져온 후 Global Routing으로 설정 문제와 규칙 문제 구분하기
구독을 가져오면 수동 입력을 줄일 수 있지만, 가져온 항목의 Type, Port, 전송 설정은 확인해야 합니다. 구독은 주로 서버 항목을 관리하며, Config의 규칙 파일과 같은 것으로 보면 안 됩니다. 구독을 업데이트하면 항목을 직접 수정한 내용이 덮어써질 수도 있습니다. 테스트 전에 기존 값을 기록하고 필요한 경우 별도의 테스트 복사본을 보관하세요.
Home에서 테스트할 항목을 선택한 다음 Global Routing 설정도 확인해야 합니다. Config는 현재 구성의 규칙에 따라 요청을 처리하고, Proxy는 일반 요청을 모두 프록시 경로로 보냅니다. Direct는 직접 연결합니다. Scene은 선택한 시나리오에 따라 처리하므로 시나리오 내용을 확인하지 않은 채 고정된 테스트 조건으로 간주하면 안 됩니다.
Config: 연결 확인 후 규칙 사용하기
권장현재 구성에 따라 요청이 향하는 곳을 결정합니다. 규칙이 일치하면 해당 정책을 적용하고, 앞선 규칙과 일치하지 않은 요청은 보통 FINAL에서 처리됩니다. 반드시 직접 연결되는 것은 아닙니다.
적합한 경우: 연결이 정상임을 확인했고 기존 규칙에 따라 일상적인 요청을 처리하려는 경우
Proxy: 규칙의 영향을 잠시 제외하기
선택한 프록시 경로로 대상 페이지에 접속할 수 있는지 테스트해 요청이 규칙에 따라 Direct로 전환되는 영향을 줄입니다. 선택한 서버와 다른 적용 설정도 확인해야 합니다.
적합한 경우: 연결 설정 문제인지 규칙 선택 문제인지 확인하려는 경우
Direct: 로컬 직접 연결 상태 확인하기
일반 요청을 직접 연결해 현재 네트워크에서 원래 직접 접속할 수 있는 웹사이트가 정상적으로 열리는지 확인합니다. 이 방법으로 VMess 또는 VLESS 인증 성공 여부를 확인할 수는 없습니다.
적합한 경우: 먼저 로컬 Wi-Fi 또는 Cellular 네트워크 문제를 제외하려는 경우
확인: Proxy는 되는데 Config에서 실패하면 먼저 규칙을 점검하세요
같은 서버와 테스트 URL을 유지하고 Global Routing만 바꿔 보세요. Proxy에서는 열리지만 Config에서는 열리지 않는다면 먼저 현재 Config의 일치 규칙, 정책 이름, FINAL의 처리 방향을 확인하세요. UUID나 프로토콜 유형부터 바꾸지 마세요.
테스트 중에는 네트워크와 대상 페이지를 가능한 한 동일하게 유지하세요. Settings → On Demand가 켜져 있다면 자동 연결 동작이 수동 테스트에 영향을 주지 않도록 실행 조건도 기록합니다. 일시 중지해야 한다면 먼저 기존 설정을 저장하고 테스트 후 복원하세요. 전송 방식, 규칙, 자동 연결 조건을 한꺼번에 바꾸지 마세요.
연결 실패: 외부 계층부터 차례대로 확인하기
“지연 시간에 값이 표시된다”는 것은 해당 테스트 방식에서 응답을 받았다는 뜻일 뿐, 웹 요청이 인증, TLS, 전체 전송 과정을 통과했다는 보장은 아닙니다. 문제를 점검할 때는 단순히 “안 된다”고 기록하기보다 인증서 오류가 즉시 발생하는지, 기다린 뒤 시간 초과되는지, 특정 도메인만 열리지 않는지 등 구체적인 증상을 기록하세요.
- 로컬 네트워크 확인.현재 네트워크에서 원래 직접 접속할 수 있는 웹사이트를 열어 보세요. 필요하면 Wi-Fi와 Cellular를 번갈아 비교합니다. 비교가 유효하도록 다른 설정은 그대로 두세요.
- Address와 Port 확인.주소에 공백이나 URL 접두어가 들어갔는지, 포트를 잘못 옮겨 적지 않았는지 확인하세요. 연결 시간 초과는 네트워크 경로나 서버에 접근할 수 없는 문제로도 발생할 수 있으므로 UUID 오류라고 단정하지 마세요.
- TLS와 전송 설정 확인.TLS 스위치, SNI, Transport, Host, Path를 확인하세요. 인증서 오류라면 인증서를 먼저 점검하고, WebSocket 핸드셰이크 오류라면 경로, 요청 헤더, 서버 진입점을 확인합니다.
- 프로토콜 인증 확인.Type과 UUID를 확인하세요. VMess는 암호화 옵션, AlterId, 기기의 시간도 점검해야 합니다. VLESS는 원본 설정에서 요구하는 Encryption, Flow 등의 항목을 확인합니다.
- 마지막으로 규칙과 DNS를 확인하세요.Proxy를 선택해 비교합니다. 특정 도메인만 실패한다면 해당 요청의 DNS 확인 결과와 라우팅 결과를 살펴보세요. 모든 DNS 설정을 한 번에 바꾸지 마세요.
두 프로토콜을 모두 사용할 수 있더라도 한 번의 속도 측정만으로 어느 쪽이 더 나은지 판단할 수는 없습니다. 테스트 시간대, 네트워크, 서버 조건, 대상 리소스를 최소한 동일하게 유지하세요. 설정 입력이 올바른지 확인하는 더 신뢰할 수 있는 기준은 저장 후 반복해서 연결되고, 대상 요청이 예상한 경로를 따르며, Config로 복원한 뒤에도 규칙이 예상대로 동작하는 것입니다.
자주 묻는 질문: UUID, 암호화 옵션, 구독 업데이트
두 항목의 UUID가 같은데 VMess를 VLESS로 바로 바꿀 수 있나요?
UUID가 같다는 이유만으로 전환할 수는 없습니다. 먼저 서버에서 제공한 VLESS 설정을 확인한 다음 Home → Add Server에서 해당 Type을 새로 만들고 포트, 전송 방식, 보안 설정을 각각 확인하세요. 사용할 수 있는 기존 설정을 덮어쓰지 않도록 원래 항목은 보관하세요.
VLESS에 none이라고 표시되는데 aes-128-gcm으로 바꿔야 하나요?
VMess의 암호화 값을 VLESS에 적용하지 마세요. 먼저 none이 프로토콜 계층의 Encryption을 뜻하는지 확인한 다음 TLS 또는 원본 설정에서 지정한 외부 보안 방식을 점검하세요. 안전성은 전체 조합을 기준으로 판단해야 하며, 한 항목만 봐서는 알 수 없습니다.
구독을 업데이트한 뒤 직접 수정한 Path가 원래대로 돌아갔어요. 어떻게 해야 하나요?
먼저 업데이트 전후의 차이를 저장하고 구독에서 제공한 원래 값을 확인하세요. 별도로 테스트해야 한다면 독립된 복사본을 보관하고, 구독 업데이트가 관리하는 같은 항목을 계속 수정하지 마세요. 장기적으로 수정하려면 원래 설정을 안내한 곳에 확인해야 합니다.
포트만 443으로 바꿨는데 왜 연결되지 않나요?
포트 번호가 TLS를 자동으로 설정해 주지는 않습니다. 항목 편집 화면에서 서버가 실제로 수신하는 포트, TLS, SNI, 전송 방식을 차례대로 확인하세요. 서버에 해당 진입점이 있을 때만 이 조합으로 연결할 수 있습니다.
프로토콜과 UUID는 맞는데 일부 웹페이지에서만 실패해요. 항목을 다시 만들어야 하나요?
먼저 Home → Global Routing에서 Proxy를 임시로 선택한 뒤 같은 URL로 다시 테스트하세요. 접속이 복구되면 Config의 규칙과 정책을 확인합니다. 여전히 실패한다면 해당 도메인의 DNS 확인 결과와 연결 오류를 점검하세요. 모든 항목을 바로 다시 만들 필요는 없습니다.