ss://·vmess://·vless://·trojan:// 공유 링크 형식과 구독 링크 차이

ss://, vmess://, vless://, trojan:// 링크의 구성과 구독 주소의 차이, Shadowrocket에 가져오는 방법을 알아봅니다.

이 글의 핵심

이 글은 본인이 이용 중인 서비스의 연결 정보를 보유하고 있으며, Shadowrocket에서 정보를 가져오고 설정값을 확인하려는 사용자를 위한 안내입니다. 먼저 링크 접두어로 단일 연결 정보와 구독 주소를 구분한 뒤, 서버·포트·인증 정보·전송 설정을 확인합니다. 마지막으로 가져오기, 업데이트, 연결 확인 순서로 점검하세요. example.com 주소와 예시 인증 정보는 문법 설명용이며 실제 연결에 사용할 수 없습니다. 이 사이트는 노드나 구독 서비스를 제공·판매·추천하지 않습니다.

1. 공유 링크와 구독 링크: 설정 정보를 담는 링크와 목록을 가져오는 주소

ss://, vmess://, vless://, trojan://은 이 글에서 다루는 네 가지 공유 링크 접두어입니다. 일반적으로 링크 자체에 하나의 연결에 필요한 정보가 들어 있습니다. 가져오기를 마치면 앱이 해당 정보를 읽어 서버 항목 하나를 저장합니다. 링크의 메모를 바꿔도 원격 서버 설정은 달라지지 않습니다.

구독 URL은 보통 https://로 시작합니다. 예를 들어 https://example.com/sub?token=xxxx와 같은 형식입니다. 클라이언트가 이 주소에 요청을 보내면 서버에서 연결 목록을 받아 해석합니다. 응답에는 여러 공유 링크를 인코딩한 텍스트나 클라이언트가 지원하는 다른 구독 형식이 포함될 수 있습니다. 단일 공유 링크는 https를 특정 프로토콜 접두사로 바꾼다고 만들어지는 것이 아닙니다.

비교 항목단일 공유 링크구독 주소
정보가 저장된 위치주로 링크 텍스트에 포함주소에 연결된 서버가 반환
가져올 때 수행하는 작업설정을 해석해 연결 항목 하나를 저장주소에 요청을 보내 목록을 해석하고 여러 항목을 저장
서버 정보가 변경된 경우일반적으로 다시 가져오거나 직접 수정해야 함구독을 업데이트해 동기화. 실제 결과는 서버 응답에 따라 다름
민감 정보비밀번호, UUID, 서버 정보접근 토큰, 경로에 포함된 인증 정보, 확인 가능한 연결 정보

https://만으로 구독 주소인지 확인할 수는 없습니다. 계정 로그인 페이지, 결제 페이지, 도움말 문서도 HTTPS를 사용합니다. 본인이 이용하는 서비스에서 안내한 주소의 용도와 요청 후 Shadowrocket에서 해석할 수 있는 구독 콘텐츠가 반환되는지를 확인하세요. 로그인 페이지나 인증 코드 화면이 나타나면 복사한 주소가 구독 주소인지 먼저 확인해야 합니다.

2. 링크 구조 읽기: 접두어, 인증 정보, 호스트, 포트, 매개변수

프로토콜마다 필드 배치는 다르지만 확인 순서는 일정하게 잡을 수 있습니다. 먼저 접두어를 확인하고, 인증 정보와 서버 주소·포트를 살펴본 다음 TLS 및 전송 설정을 대조하세요. 메모는 보통 # 뒤에 있으며 항목을 알아보기 위한 값이지 인증 비밀번호가 아닙니다.

4가지
이 글에서 살펴볼 접두어: ss / vmess / vless / trojan
443
뒤에서 사용하는 TLS 예시 포트입니다. 모든 서비스의 고정 포트는 아닙니다.
8388
뒤에서 사용하는 Shadowsocks 예시 포트입니다. 실제 포트는 서버 설정에 따라 다릅니다.

3. ss://: 암호화 방식과 비밀번호 확인

ss://는 Shadowsocks를 나타냅니다. 일반적인 SIP002 공유 형식은 ‘암호화 방식:비밀번호’를 Base64 또는 URL-safe Base64로 인코딩한 뒤 @서버:포트를 붙입니다. 더 긴 정보를 통째로 인코딩하는 구형 형식도 있으므로, 링크에 @가 보이는지 여부만으로 손상 여부를 판단할 수 없습니다.

ss://[email protected]:8388#demo-ss

위 예시는 문법을 보여주기 위한 것입니다. YWVzLTEyOC1nY206ZGVtby1vbmx5를 디코딩하면 aes-128-gcm:demo-only가 됩니다. 암호화 방식은 aes-128-gcm, 비밀번호는 demo-only, 서버는 example.com, 포트는 8388입니다. 인코딩된 문자열 전체를 비밀번호 입력란에 넣지 마세요.

  1. 가져온 뒤 항목 세부 정보에서 Type이 Shadowsocks로 표시되는지 확인하세요.
  2. 본인의 연결 정보와 대조해 암호화 방식, 비밀번호, 서버, 포트를 확인하세요.
  3. 원본 링크에 plugin 매개변수가 있다면 플러그인 이름과 옵션도 확인하세요. 기본 항목이 맞더라도 플러그인 설정까지 완전하다는 뜻은 아닙니다.

Base64 문자열 끝에 = 패딩이 없을 수 있으며, URL-safe 형식에서는 -와 _를 사용하기도 합니다. 이런 차이를 문자 단위로 바꿔 ‘수정’해서는 안 됩니다. 우선 서비스에서 받은 원문을 그대로 두고 가져오기 도구가 인식하도록 하세요. 텍스트가 잘린 것을 확인한 경우에만 링크 전체를 다시 복사하세요.

4. vmess://: 흔히 Base64로 인코딩된 JSON 형식

vmess://는 VMess를 나타냅니다. 일반적인 공유 형식은 JSON 객체를 인코딩해 접두어 뒤에 붙입니다. 아래는 디코딩한 구조이며, 그대로 붙여 넣어 가져올 수 있는 완전한 공유 링크가 아닙니다. 생성 도구에 따라 다른 형식도 사용할 수 있으므로 한 형식의 필드 설명을 모든 링크에 적용하면 안 됩니다.

{
  "v": "2",
  "ps": "demo-vmess",
  "add": "example.com",
  "port": "443",
  "id": "00000000-0000-4000-8000-000000000001",
  "aid": "0",
  "scy": "auto",
  "net": "ws",
  "type": "none",
  "host": "example.com",
  "path": "/demo",
  "tls": "tls",
  "sni": "example.com"
}

JSON 구조에서는 따옴표와 쉼표가 빠짐없이 맞아야 합니다. 메신저에서 줄바꿈이 추가되거나 복사 과정에서 끝부분이 누락되거나 영문 따옴표가 전각 따옴표로 바뀌면 해석에 실패할 수 있습니다. 가져온 뒤 서버 주소가 비어 있다면 먼저 원본 링크가 온전한지 확인하세요. Global Routing을 먼저 바꾸지 마세요.

5. vless://와 trojan://: 비슷한 형식, 다른 인증 정보

vless://와 trojan://의 일반적인 공유 형식은 모두 ‘인증 정보@서버:포트?매개변수#메모’와 비슷합니다. 전자는 주로 UUID를, 후자는 주로 비밀번호를 사용합니다. 형식이 비슷해 보여도 접두어를 서로 바꿀 수 있는 것은 아니며 전송 매개변수가 그대로 호환된다는 뜻도 아닙니다.

vless://[email protected]:443?encryption=none&security=tls&type=ws&host=example.com&path=%2Fdemo&sni=example.com#demo-vless

trojan://demo%[email protected]:443?security=tls&type=tcp&sni=example.com#demo-trojan
필드설명확인 방법
VLESS 인증 정보예시에서는 UUID를 사용각 부분을 하나씩 확인하고 하이픈 유지
Trojan 인증 정보예시 비밀번호는 demo@only링크의 %40은 @로 디코딩됩니다. 구분자를 비밀번호의 일부로 착각하지 마세요.
security=tlsTLS 전송 보안 설정을 나타냄SNI와 인증서에 표시된 이름도 함께 확인
type=ws / type=tcp전송 방식을 나타냄포트가 모두 443이라는 이유만으로 서로 바꾸면 안 됨
path=%2Fdemo디코딩된 경로는 /demo첫 슬래시와 대소문자를 그대로 유지

VLESS 예시의 encryption=none은 VLESS 자체의 암호화 필드를 나타내며, 연결 전체에 TLS가 없다는 뜻은 아닙니다. security 매개변수와 함께 확인하세요. 다른 보안 모드에는 추가 매개변수가 필요할 수 있으므로 이 예시의 TLS 설정을 본인의 서비스에 그대로 적용하면 안 됩니다.

서버 주소, SNI, WebSocket Host는 같을 수도 다를 수도 있으며 각각 용도가 다릅니다. 필드가 ‘일관돼 보이도록’ 임의로 통일하지 마세요. 가져오기 도구마다 매개변수 지원 범위도 다릅니다. 항목을 저장할 수 있다는 것은 문법을 인식했다는 뜻일 뿐이므로 세부 정보를 확인하고 실제 연결도 테스트해야 합니다.

6. Shadowrocket에 가져오기: 단일 항목과 구독 그룹 구분

아래 절차는 Home(홈)에서 가져오는 방법을 기준으로 설명합니다. Home에서는 서버 항목을 관리하고, Config에서는 규칙 설정을, Settings에서는 앱 옵션을 관리합니다. 일반 서버 공유 링크나 구독 주소를 규칙 설정 파일로 간주해 Config에 가져오면 안 됩니다.

단일 공유 링크 가져오기

  1. 본인이 보유한 서비스 정보에서 링크 전체를 복사하세요. 링크만 복사하고 설명 문구, 따옴표, 문장 끝의 구두점은 포함하지 마세요.
  2. Shadowrocket을 열고 Home으로 이동합니다. 클립보드 가져오기 안내가 나타나면 확인한 뒤 새 항목을 살펴보세요. 안내가 없으면 앱의 가져오기 기능을 이용하거나 링크에 해당하는 QR 코드를 스캔하세요.
  3. 항목 세부 정보를 열어 Type, 서버, 포트, 인증 정보, TLS 및 전송 매개변수를 차례로 확인하세요. 프로토콜마다 표시되는 필드가 다릅니다.
  4. 항목을 저장하고 선택한 다음 연결을 켜세요. 단일 항목은 서비스 제공자의 정보가 바뀌어도 구독 관리 항목으로 자동 전환되지 않습니다.

구독 가져오기 및 업데이트

  1. 본인의 구독 주소를 복사하세요. 예를 들어 https://example.com/sub?token=xxxx와 같은 형식입니다. 이 주소는 예시용 가짜 값이며 실제 서비스 주소가 아닙니다.
  2. Home → +로 이동하고 Type에서 Subscribe를 선택하세요. 구독 주소 입력란에 전체 주소를 넣고 저장한 뒤 목록을 가져올 때까지 기다리세요.
  3. 구독 그룹에 항목이 표시되는지 확인한 다음 사용할 항목을 선택하세요. 구독을 성공적으로 가져왔더라도 연결 항목이 자동으로 선택되는 것은 아닙니다.
  4. 서비스 정보가 변경되면 Home의 구독 그룹 메뉴에서 업데이트를 실행하세요. 반환된 내용과 업데이트 결과를 확인한 다음 기존 항목이 바뀌었는지 점검하세요.

7. 가져온 뒤 연결 확인: 설정을 살펴보고 라우팅 방식 비교

가져오기에 성공했다는 것은 정보를 해석할 수 있었다는 뜻일 뿐, 서버 연결 가능 여부와 인증 정보의 유효성, 규칙이 예상대로 작동하는지를 보장하지 않습니다. 먼저 항목을 선택해 연결을 확인한 뒤 Home → Global Routing을 살펴보세요. 아래 내용은 Shadowrocket 자체 설정을 비교하며 프로토콜 속도 순위가 아닙니다.

Config(설정)

권장

현재 설정의 규칙에 따라 정책을 선택합니다. DOMAIN-SUFFIX, IP-CIDR, GEOIP 등의 규칙에 일치하면 해당 정책을 적용하며, 앞선 규칙에 일치하는 항목이 없으면 FINAL이 트래픽의 처리 방식을 결정합니다. 반드시 직접 연결되는 것은 아닙니다.

적합한 경우: 규칙 설정을 이미 갖추고 목적지별로 트래픽을 분기해 사용하는 경우

Proxy(프록시)

앱이 처리하는 연결에 프록시 방식을 적용합니다. 테스트 대상에 일반 분기 규칙이 영향을 주는지 일시적으로 확인할 때 사용할 수 있습니다. 잘못된 비밀번호, 포트, TLS 매개변수를 수정해 주지는 않습니다.

적합한 경우: 프록시 연결을 일시적으로 확인하거나 규칙 문제의 범위를 좁힐 때

Direct(직접 연결)

앱이 처리하는 연결에 직접 연결 방식을 적용합니다. 웹페이지가 열린다고 해서 방금 가져온 프록시 항목이 정상이라는 뜻은 아닙니다.

적합한 경우: 로컬 네트워크 자체가 정상인지 확인할 때

정리: 한 번에 한 항목씩만 변경

같은 테스트 대상이 Proxy에서는 연결되고 Config에서는 실패한다면 연결 매개변수는 그대로 두고 일치하는 규칙, 정책, DNS를 확인하세요. 두 방식 모두 실패한다면 먼저 서버, 포트, 인증 정보, TLS를 점검하세요. 테스트가 끝나면 원래 라우팅 방식으로 되돌려 임시 설정이 계속 사용되지 않도록 하세요.

Global Routing에는 Scene 방식도 포함되며, 동작은 기존 Scene 설정에 따라 달라집니다. 이 방식은 변수를 분리하기 위한 고정 테스트 방식이 아닙니다. Settings → On Demand는 조건에 따라 연결을 시작하도록 제어하며 공유 링크의 누락된 매개변수를 보완하지 않습니다. 점검 중 연결 상태가 자동으로 바뀐다면 기존 On Demand 설정도 확인하세요.

8. 공유 링크 가져오기와 구독 업데이트 FAQ

링크를 복사했는데 왜 자동으로 추가되지 않나요?

먼저 접두어와 링크 내용이 온전한지 확인하고, 링크 바깥에 붙은 따옴표와 설명 문구를 제거하세요. 시스템에서 클립보드 접근을 허용하는지도 확인한 뒤 Home으로 돌아가 가져오기 기능을 사용하거나 원본 링크로 만든 QR 코드를 스캔하세요. 인식시키려고 https 구독 주소를 ss 접두어로 바꾸지 마세요.

구독 업데이트가 성공했다고 나오는데 항목은 그대로입니다. 새로고침이 안 된 건가요?

꼭 그렇지는 않습니다. 업데이트 성공은 이번 요청과 해석이 완료됐다는 뜻이며, 서버에서 같은 목록을 반환했을 수도 있습니다. 그룹의 서버와 포트가 실제로 바뀌었는지 확인한 다음 복사한 구독 주소도 점검하세요. 서버 업데이트 여부를 확인하려고 그룹을 반복해서 삭제하고 다시 만들지 마세요.

브라우저에서 구독 주소가 열리는데 앱에서는 왜 가져오기에 실패하나요?

브라우저에 페이지가 표시된다고 해서 응답 내용이 구독 데이터라는 뜻은 아닙니다. 로그인 양식, HTML 오류 페이지, 접근 확인 페이지가 보이면 서비스에서 안내한 구독 주소가 맞는지 다시 확인하세요. 요청 결과가 401 또는 403이면 토큰과 계정 권한을 확인하고, 시간 초과가 발생하면 네트워크 연결 상태를 확인하세요. 먼저 프로토콜 비밀번호를 바꾸지는 마세요.

전체 링크를 다른 사람에게 보내 점검을 부탁해도 되나요?

먼저 로컬 사본에서 비밀번호, UUID, 구독 토큰 및 기타 인증 매개변수를 가리고 점검에 필요한 필드 구조만 남기세요. QR 코드에도 원래 정보가 포함됩니다. 인증 정보가 이미 공개됐다면 본인의 서비스 계정에서 해당 정보를 취소하거나 새로 발급한 뒤 Home에서 항목이나 구독을 업데이트하세요.

점검을 마치면 다음 세 가지를 각각 답할 수 있어야 합니다. 가져온 것이 단일 연결 정보인지 구독 주소인지, 저장된 필드가 본인의 서비스 정보와 일치하는지, 현재 라우팅 방식이 해당 연결을 사용하는지입니다. 이 순서대로 확인하면 형식 문제, 서버 연결 문제, 규칙 문제를 혼동하지 않을 수 있습니다.

Shadowrocket 다운로드