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

네 가지 주요 공유 링크 형식에 포함된 항목을 살펴보고, 단일 링크와 구독 링크의 가져오기 방식 및 업데이트 방식 차이를 설명합니다. 예시는 모두 example.com을 사용합니다.

이 글 한눈에 보기

자신의 서비스 설정 정보와 구독 주소를 보유하고 있으며 링크 형식을 확인하려는 사용자를 위한 안내입니다. 먼저 단일 서버 설정과 원격 구독 주소를 구분하고, 네 가지 공유 형식에서 인증·전송·TLS 항목을 확인합니다. 마지막으로 가져오기, 업데이트, 연결 단계별로 문제를 점검합니다. 예시는 실제 연결에 사용할 수 없는 설명용 데이터이며, 서비스 리소스는 제공하지 않습니다.

1. 접두사는 파싱 방식을 나타낼 뿐, 연결 품질을 보장하지 않습니다

Shadowrocket에서 링크를 받으면 먼저 서버 설정인지, 설정을 가져오기 위한 원격 주소인지 구분해야 합니다. ss://, vmess://, vless://, trojan://은 일반적으로 서버 항목 하나의 정보를 담습니다. https://로 시작하는 구독 주소는 원격 콘텐츠를 가리키므로, 클라이언트가 요청을 보내 응답을 받은 뒤 그 안의 항목을 파싱합니다.

링크 형식주요 포함 정보이후 변경 사항 반영 방식
ss://Shadowsocks 암호화 방식, 비밀번호, 주소, 포트 등다시 가져오거나 직접 수정
vmess://일반적으로 Base64로 인코딩된 VMess JSON 설정다시 가져오거나 직접 수정
vless://VLESS UUID, 주소, 전송 및 보안 설정다시 가져오거나 직접 수정
trojan://Trojan 비밀번호, 주소, TLS 및 전송 설정다시 가져오거나 직접 수정
HTTPS 구독 주소원격 설정에 접근하는 주소 및 포함될 수 있는 액세스 token구독을 업데이트한 뒤 원격 콘텐츠를 불러옴

HTTPS 주소는 웹페이지, 로그인 페이지 또는 다른 파일을 반환할 수도 있습니다. 따라서 브라우저에서 열린다고 해서 구독으로 가져올 수 있는 것은 아닙니다. 반대로 공유 링크의 포트가 443이라고 해서 TLS가 활성화되었다고 단정할 수도 없습니다. 프로토콜, 포트, 전송 보안은 서로 다른 항목이므로 함께 확인해야 합니다.

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

Shadowsocks 공유 링크는 일반적으로 SIP002의 기본 구조를 따릅니다. 인증 정보는 @ 앞에, 서버 주소와 포트는 뒤에 있으며, # 뒤에는 이름이 올 수 있습니다. 인증 정보는 보통 method:password를 URL-safe Base64로 인코딩한 값입니다. 과거에는 더 긴 문자열 전체를 인코딩하는 형식도 사용되었으므로, 문자열 모양만으로 유효성을 판단해서는 안 됩니다.

ss://[email protected]:8388#Demo-SS

Base64는 인코딩 방식이지 자격 증명을 보호하는 수단이 아닙니다. 링크 전체를 가진 사람은 보통 그 안의 비밀번호를 복원할 수 있습니다. 원본 링크를 공개 디코딩 웹사이트에 붙여 넣지 마세요. 확인이 필요하면 Shadowrocket에서 가져온 뒤 편집 화면의 항목을 살펴보고, 보유한 설정과 하나씩 비교하세요.

3. vmess://: 바깥쪽 인코딩과 안쪽 JSON 구분하기

일반적인 VMess 공유 형식은 vmess:// 뒤에 Base64로 인코딩한 JSON을 넣습니다. 아래 내용은 디코딩된 예시이며, URL 입력란에 그대로 붙여 넣을 수 있는 완전한 공유 링크가 아닙니다. 내보내는 앱에 따라 필드 조합이 다를 수 있으므로 실제 가져오기 결과를 기준으로 확인하세요.

{
  "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"
}

예시의 v는 공유 링크 형식의 필드이지 Shadowrocket 버전이 아닙니다. 가져온 뒤 이름과 서버 주소가 맞더라도 전송 유형, TLS, Host, Path를 계속 확인해야 합니다. 슬래시 하나가 빠지거나 경로의 대소문자가 틀리거나 SNI가 일치하지 않으면 항목은 추가되지만 핸드셰이크에 실패할 수 있습니다.

4. vless://와 trojan://: 쿼리 매개변수를 빠짐없이 복사하세요

VLESS와 Trojan의 일반적인 공유 형식은 보통 URI와 비슷합니다. 인증 정보를 먼저 쓰고 주소와 포트를 이어서 적은 다음, 물음표 뒤에 추가 매개변수를 넣습니다. 아래 두 예시는 모두 TLS를 사용하지만 인증 방식은 다릅니다. 접두사만 바꿔 다른 프로토콜처럼 사용할 수는 없습니다.

vless://[email protected]:443?encryption=none&security=tls&type=tcp&sni=example.com#Demo-VLESS

trojan://[email protected]:443?security=tls&type=tcp&sni=example.com#Demo-Trojan
필드의미확인할 점
@ 앞의 내용VLESS는 UUID, Trojan은 비밀번호를 사용합니다표시 이름을 인증 정보로 착각하지 마세요
encryption=noneVLESS 프로토콜 계층에서는 별도의 암호화를 제공하지 않습니다외부 TLS가 비활성화된다는 뜻은 아닙니다
security=tlsTLS 보안 계층을 지정합니다SNI, 인증서, 서버 설정을 함께 확인하세요
type=tcp이 구간에서 TCP 전송을 지정합니다실제 설정이 WebSocket이라면 이 값을 그대로 사용하면 안 됩니다
sni=example.comTLS 핸드셰이크에 사용할 서버 이름주소가 IP여도 생략할 수 있다고 단정하지 마세요

URL에서 &는 매개변수를 구분하고 #은 메모를 시작합니다. 비밀번호, 경로 또는 메모에 예약 문자가 있으면 URI에서 해당하는 부분에 맞춰 퍼센트 인코딩해야 합니다. 예를 들어 쿼리 매개변수의 경로 /demo?mode=1은 %2Fdemo%3Fmode%3D1로 나타낼 수 있습니다. 링크 전체를 한꺼번에 인코딩하거나 본문에 있는 줄바꿈, 한국어 문장부호, 따옴표까지 함께 복사하지 마세요.

5. 단일 링크 가져오기와 구독 업데이트는 별개의 절차입니다

단일 공유 링크는 특정 시점의 서버 설정을 복사한 것이고, 구독 주소는 다시 요청할 수 있는 진입점입니다. 예를 들어 아래 주소는 구조를 설명하기 위한 것으로, token=xxxx는 명백한 예시 값이며 실제 서비스와 관계가 없습니다. 구독에서 반환되는 실제 콘텐츠는 인코딩된 링크 목록일 수도 있고 지원되는 다른 형식일 수도 있으므로 URL 확장자만으로 판단할 수 없습니다.

https://example.com/sub?token=xxxx

보유한 정보에 맞는 가져오기 절차 선택

단일 공유 링크를 보유한 경우
  • 프로토콜 접두사, 인증 정보, 쿼리 매개변수, 메모를 빠짐없이 복사합니다.
  • Shadowrocket을 열고 클립보드 가져오기 안내에 따라 확인합니다. 시스템에서 붙여넣기 권한을 요청하면 필요한 작업에 맞게 허용하세요.
  • Home에서 새로 추가된 항목을 확인하고 편집 화면에서 주소, 포트, 인증 정보, 전송 필드를 점검합니다.
  • 상위 설정이 바뀌면 다시 가져오거나 직접 수정해야 합니다. 이 항목에는 구독 업데이트 관계가 자동으로 연결되지 않습니다.
자신의 구독 주소를 보유한 경우
  • Home에서 오른쪽 위 +를 누르고 Type을 Subscribe로 선택합니다.
  • URL에 구독 주소 전체를 입력하고 알아보기 쉬운 이름을 지정한 뒤 저장합니다.
  • 해당 구독을 업데이트한 뒤 구독 그룹에 서버 항목이 있는지 확인합니다.
  • 원격 콘텐츠가 바뀌면 다시 업데이트해야 변경 사항이 로컬에 반영됩니다. 업데이트 후에도 연결 가능 여부를 테스트해야 합니다.

단일 링크 가져오기는 설정을 저장하고, 구독 가져오기는 원격 주소와 업데이트 관계를 저장합니다. 어느 쪽도 서버 측의 유효한 이용 권한을 대신하지 않습니다.

구독을 업데이트하면 관리 대상 항목이 추가, 교체 또는 삭제될 수 있습니다. 구독 그룹에서 직접 수정한 내용을 영구 백업으로 간주하지 마세요. 이후 업데이트에서 원격 설정이 다시 적용될 수 있습니다. 수정 전에 차이를 기록하고, 별도 설정을 보존하려면 구독 관리와 명확히 분리된 항목을 사용해 직접 관리하세요.

구독 token은 접근 자격 증명으로 작동하는 경우가 많습니다. 문제를 확인할 때는 응답 상태, 오류 문구, 발생 단계를 기록하되 전체 URL을 공개하지 마세요. 노출된 경우 본인의 서비스 관리 페이지에서 해당 token을 재설정하거나 폐기한 뒤 새 주소를 Shadowrocket에 저장하세요.

6. 가져오기 후 Global Routing으로 문제 발생 단계를 구분하세요

공유 링크에는 주로 서버 연결 방식이 담기며, 완전한 트래픽 분기 규칙까지 자동으로 설정되지는 않습니다. Home에서는 서버 선택과 연결을 제어하고, Config에서는 규칙 설정을 관리합니다. Global Routing을 확인할 때는 ‘요청이 선택한 서버로 전달되지 않은 경우’와 ‘서버로 전달됐지만 연결에 실패한 경우’를 구분해야 합니다. 그렇지 않으면 이미 올바른 링크를 반복해서 수정하게 될 수 있습니다.

Config: 기존 규칙이 실제로 트래픽을 어디로 보내는지 확인

권장

이미 유효한 규칙 설정이 있다면 규칙에 따라 트래픽이 전달됩니다. 모든 요청이 방금 가져온 서버를 사용한다고 가정하지 말고 DOMAIN-SUFFIX, IP-CIDR, GEOIP 등의 일치 항목과 FINAL의 처리 대상을 확인하세요.

적합한 경우: 트래픽 분기 설정이 있고 일반 요청이 예상한 정책과 일치하는지 확인할 때

Proxy: 규칙의 영향을 임시로 분리

클라이언트가 처리하는 트래픽을 프록시 모드로 전달해 비교 테스트합니다. 잘못된 비밀번호, UUID, TLS 설정을 수정해 주지는 않으며 시스템의 모든 트래픽이 프록시를 거친다고 보장하지도 않습니다.

적합한 경우: Config의 규칙 때문에 테스트 요청이 다른 경로로 전달되는지 의심될 때

Direct: 로컬 네트워크 기본 상태 확인

클라이언트가 처리하는 트래픽을 직접 연결합니다. 로컬 네트워크가 정상인지 확인하는 데 사용하지만, 이 모드에서 웹페이지가 열려도 방금 가져온 서버를 사용할 수 있다는 뜻은 아닙니다.

적합한 경우: 로컬 네트워크 상태를 비교해 기본 연결 문제를 확인할 때

정리: 파싱 → 업데이트 → 핸드셰이크 → 트래픽 분기 순으로 확인

항목이 생성되지 않으면 링크가 완전한지 확인합니다. 구독 목록을 가져오지 못하면 URL과 응답을 점검합니다. 항목은 있지만 연결되지 않으면 인증 정보와 TLS를 확인합니다. 연결은 되지만 특정 요청에 문제가 있으면 마지막으로 Global Routing과 규칙을 확인합니다. 한 번에 하나의 변수만 바꾸고 테스트가 끝나면 원래 모드로 되돌리세요.

7. 자주 묻는 질문과 해결 방법

링크를 복사했는데 가져오기 안내가 표시되지 않는 이유는 무엇인가요?

먼저 클립보드 내용이 ss:// 같은 접두사부터 시작하는 완전한 링크인지 확인하고, 바깥쪽 따옴표와 채팅 앱이 덧붙인 설명 및 줄바꿈을 제거하세요. 시스템에서 붙여넣기 접근을 거부하지 않았는지도 확인합니다. HTTPS 구독은 Home → + → Type → Subscribe에서 직접 입력할 수 있습니다. 서버 공유 링크를 구독 주소로 잘못 입력하지 마세요.

구독 업데이트는 성공했는데 서버에 연결되지 않는 이유는 무엇인가요?

업데이트 성공은 구독 콘텐츠를 가져와 파싱했다는 뜻일 뿐, 포함된 모든 서버의 연결 테스트가 성공했다는 뜻은 아닙니다. Home에서 해당 항목을 선택한 뒤 포트, 인증 정보, 전송, TLS를 확인하고 원격에서 항목이 비활성화되지 않았는지도 살펴보세요. 구독 다운로드 성공과 프록시 핸드셰이크 성공은 서로 다른 결과입니다.

구독 업데이트 결과가 401, 403 또는 웹페이지로 표시되면 어떻게 하나요?

401은 일반적으로 인증이 필요하다는 뜻이고, 403은 요청이 거부되었다는 뜻입니다. 구체적인 원인은 본인의 서비스 측 안내를 확인하세요. token 전체를 복사했는지, 만료되지 않았는지, 관리 웹페이지 주소를 잘못 복사하지 않았는지 점검합니다. 응답이 HTML 로그인 페이지라면 서버 포트를 계속 바꾸지 말고 본인의 기존 관리 페이지에서 구독 주소를 다시 가져오세요.

vless://를 trojan://로 바꾸면 바로 사용할 수 있나요?

안 됩니다. VLESS의 UUID와 Trojan의 비밀번호는 서로 바꿔 쓸 수 있는 인증 정보가 아니며, 서버에서 수신하는 프로토콜도 다릅니다. 원본 링크 전체를 복원하고 서버에서 실제 사용하는 프로토콜에 맞춰 다시 가져오세요. 둘 다 443 또는 TLS를 사용한다는 이유만으로 접두사만 바꾸지 마세요.

가져오기는 되지만 인증서 오류가 표시됩니다. 검증을 꺼야 하나요?

먼저 기기의 날짜와 시간을 확인한 다음, 원본 정보와 대조해 SNI, 서버 이름, 인증서가 유효한지 확인하세요. 주소에 IP를 사용하는 경우 TLS 서버 이름도 특히 주의해서 확인해야 합니다. 인증서 검증을 끄는 방법을 일반적인 해결책으로 사용하지 마세요. 신원 확인 수준이 낮아질 뿐 아니라 잘못된 UUID, 비밀번호, WebSocket Path 문제도 해결되지 않습니다.

Shadowrocket 다운로드 및 가져오기 안내

iPhone/iPad 버전은 App Store에서 제공되며 $2.99 일회성 결제입니다. Mac(Apple 실리콘/Intel), Windows, Android, Linux 버전은 무료입니다. iPhone/iPad의 시스템 요구 사항은 App Store 페이지를 기준으로 확인하세요. 다운로드 페이지에서 기기에 맞는 제공 방식을 선택한 뒤 안내에 따라 보유한 설정을 가져오세요.

이 사이트는 노드, 구독 또는 연결 서비스를 제공·판매·추천하지 않습니다.

Shadowrocket 다운로드