Shadowrocket Trojan 설정 방법: 비밀번호, SNI 및 TLS 매개변수 안내

Trojan의 TLS 기반 설계를 간략히 소개하고, Add Server에서 Trojan을 선택한 뒤 Address, Port, Password, SNI, Allow Insecure를 입력하는 방법을 안내합니다.

이 글 한눈에 보기

이 글은 서비스 제공업체에서 받은 Trojan 설정을 보유하고 있으며 Shadowrocket에서 매개변수를 직접 확인하려는 사용자를 위한 안내입니다. 연결 주소, 포트, Password, SNI, TLS 검증 순서로 확인하면 연결 시간 초과, 인증서 오류, 인증 실패를 구분할 수 있습니다. example.com은 필드 구성을 설명하기 위한 예시이며 실제 연결 주소가 아닙니다. 이 사이트는 서버나 구독을 제공·판매·추천하지 않습니다.

1. Trojan 연결에서 TLS와 비밀번호의 역할

Trojan은 TLS로 클라이언트와 서버 간 통신을 보호하고, 암호화된 연결 안에서 프로토콜 인증을 수행합니다. 입력할 때는 두 가지를 구분해야 합니다. TLS는 접속하려는 서버의 신원을 확인하고, Password는 서버가 연결 요청을 허용할지 인증합니다. 비밀번호가 맞아도 인증서 신원이 일치하지 않으면 문제가 해결되지 않으며, 인증서 검증을 꺼도 잘못된 비밀번호가 바로잡히지는 않습니다.

일반적으로 연결은 도메인 이름 확인, TCP 연결, TLS 핸드셰이크, Trojan 인증 및 대상 접속 순서로 진행됩니다. 앞 단계에서 실패하면 다음 단계로 넘어갈 수 없습니다. 따라서 시간 초과가 발생하면 먼저 주소와 포트를 확인하세요. 명확한 인증서 오류가 표시되면 비밀번호를 반복해서 입력하기보다 SNI, 인증서, 시스템 시간을 점검하세요.

443
일반적으로 사용하는 TLS 포트이며, 모든 Trojan 설정에 고정으로 적용되는 포트는 아닙니다
1–65535
서비스 포트 입력 가능 범위. 실제 값은 서버 설정과 일치해야 합니다
2가지
TLS 서버 신원과 Trojan 비밀번호 인증을 각각 확인합니다

결론: 실패 단계에 해당하는 필드를 수정하세요

포트에 연결할 수 없다면 Address와 Port를 먼저 확인하세요. 인증서 검증에 실패하면 SNI와 시스템 시간을 점검하세요. 여러 필드를 한꺼번에 바꾸면 연결에 성공하더라도 원인이 무엇이었는지 알기 어렵습니다.

2. Home → Add Server에서 Trojan 추가하기

직접 입력하기 전에 기존 설정에서 서버 주소, 포트, 비밀번호, 인증서에 연결된 도메인, 서버에서 지정한 전송 매개변수를 확인하세요. 이미 구독을 가져온 기록이 있다면 우선 해당 기록과 대조하세요. 서버 이름의 지역명이나 프로토콜 약어만으로 매개변수를 추측하지 마세요.

  1. 추가 화면 열기

    Home으로 이동해 오른쪽 위의 “+”를 눌러 Add Server를 여세요. 구분하기 쉬운 테스트 기록을 새로 만들고 기존 설정은 그대로 두세요. 문제를 확인하는 과정에서 원래 매개변수를 잃어버리지 않도록 하기 위한 방법입니다.

  2. 프로토콜 선택

    Type으로 이동해 Trojan을 선택한 뒤 Add Server로 돌아오세요. 프로토콜 유형은 서버 설정과 일치해야 합니다. 다른 프로토콜의 비밀번호나 식별 정보를 Trojan에 그대로 입력하면 안 됩니다.

  3. 접속 정보 입력

    기존 설정에 따라 Address와 Port를 입력하세요. Address에는 호스트 이름이나 IP만 입력하고, Port에는 숫자를 따로 입력합니다. 공유 링크 전체를 Address에 붙여 넣지 마세요.

  4. 인증 정보 확인

    Password와 SNI를 입력하고 TLS 인증서 검증은 켜 둡니다. 설정에 전송 방식이나 추가 TLS 매개변수가 지정되어 있다면 기존 안내에 따라 하나씩 확인하고 임의로 값을 추측해 입력하지 마세요.

  5. 저장 후 테스트

    저장한 뒤 Home으로 돌아가 방금 만든 기록을 선택해 연결하세요. 우선 해당 기록으로 연결할 수 있는지 확인한 다음 Global Routing이 실제 접속에 미치는 영향을 점검하세요.

Home에서는 연결 기록을 선택하고 연결을 제어합니다. Config에서는 규칙 설정을 관리하고 Settings에서는 앱 설정을 관리합니다. Config의 규칙 분류를 수정해도 Home 기록의 잘못된 비밀번호가 자동으로 해결되지는 않습니다. 두 문제는 각각 확인해야 합니다.

3. Address, Port, Password 입력 시 주의점

Address는 접속 지점을 지정합니다. 도메인 이름을 입력하면 먼저 DNS 조회가 이루어지고, IP를 입력하면 해당 주소로 직접 연결합니다. Port는 해당 접속 지점에서 연결할 서비스를 지정합니다. 주소가 맞아도 포트가 틀리면 시간 초과나 연결 거부가 발생하거나 Trojan이 아닌 서비스에 연결될 수 있습니다.

필드입력 방법흔한 오류
TypeTrojan 선택기존 설정을 확인하지 않고 이름만 보고 프로토콜을 선택합니다.
Address호스트 이름(예: edge.example.com) 또는 기존 설정에서 지정한 IP를 입력합니다.https://, 경로, 공백을 추가하거나 포트까지 함께 붙여 넣습니다.
Port서버에서 지정한 숫자를 입력합니다(예: 443).일반적으로 쓰이는 포트를 기본값으로 간주해 기존 설정의 다른 포트를 덮어씁니다.
Password기존 비밀번호를 대소문자와 기호까지 그대로 복사합니다.계정 로그인 비밀번호를 잘못 입력하거나, 끝 문자를 빠뜨리거나, 줄바꿈을 함께 붙여 넣습니다.
SNI설정에 지정된 TLS 서버 이름을 입력합니다(예: tls.example.com).전체 URL을 입력하거나 포트를 덧붙이거나 인증서와 관계없는 도메인을 사용합니다.

Password를 직접 변환할 필요는 없습니다

Password는 서버에 설정된 인증 비밀값입니다. 임의로 만든 메모도 아니고 특정 형식이어야 하는 식별 정보도 아닙니다. 직접 입력할 때는 서비스 제공업체가 전달한 원래 비밀번호를 사용하세요. 해시를 직접 계산하거나 다시 인코딩하지 마세요. 공유 링크만 있다면 링크에서 일부를 잘라 추측해 입력하지 말고 앱에서 지원하는 가져오기 방법을 사용하세요.

4. SNI와 인증서: 접속 주소는 달라도 서버 신원은 검증 가능해야 합니다

SNI는 TLS의 Server Name Indication 확장 기능으로, 클라이언트가 핸드셰이크 중 접속하려는 이름을 서버에 알립니다. 하나의 접속 지점에서 여러 TLS 사이트를 운영할 수 있으며, 서버는 SNI를 기준으로 해당 인증서나 처리 경로를 선택합니다. 따라서 설정에 따라 Address와 SNI가 같을 수도, 다를 수도 있습니다. 두 필드의 값이 다르다는 이유만으로 임의로 같은 값으로 바꾸지 마세요.

예를 들어 기존 설정에서 Address에 IP를 지정하고 SNI에 tls.example.com을 지정했다면, 해당 IP에 연결하면서 TLS 핸드셰이크에는 지정된 이름을 사용한다는 뜻입니다. 이 도메인은 서버 설정과 일치해야 하며, 인증서도 해당 이름과 신뢰 체인을 기준으로 검증될 수 있어야 합니다. 흔히 사용하는 웹사이트 도메인으로 임의 변경해도 인증서가 자동으로 유효해지는 것은 아닙니다.

SNI 자체는 비밀번호가 아니며 서버를 신뢰할 수 있음을 단독으로 증명하지도 않습니다. 기존 TLS에서 SNI는 일반적으로 별도의 기밀성이 보장되지 않습니다. SNI 입력을 추가 인증으로 이해해서는 안 됩니다. TLS에서 서버 신원을 보장하려면 인증서 전체를 검증해야 합니다. 서버 인증서가 만료되었거나 인증서 체인이 불완전하다면 서버 측에서 수정해야 합니다.

5. TLS와 Allow Insecure: 검증을 유지하고 스위치로 오류를 덮지 마세요

Trojan은 기본 설계에서 TLS를 사용합니다. TLS를 속도를 높이는 추가 옵션으로 취급하거나 연결을 시도하려고 끄지 마세요. 화면에 TLS 버전, ALPN, 전송 방식 등의 옵션이 있다면 우선 기본값을 유지하고 기존 설정에서 명확히 요구할 때만 변경하세요. 클라이언트와 서버는 서로 지원하는 매개변수를 사용해야 합니다. 값을 더 많이 입력한다고 호환성이 높아지는 것은 아닙니다.

Allow Insecure는 흔히 ‘안전하지 않은 연결 허용’으로 이해되며, 서버 인증서 검증을 완화하는 옵션입니다. 특정 호환 프로토콜을 켜는 기능이 아닙니다. 인증서 검사를 우회하면 트래픽이 암호화되어 있더라도 클라이언트의 서버 신원 확인이 약해집니다. 주소 오류, 차단된 포트, 잘못된 비밀번호는 해결할 수 없습니다.

Allow Insecure 끔

권장

정상적인 인증서 검증을 유지합니다. 연결에 실패하면 인증서 이름, 유효 기간, 신뢰 체인, 시스템 시간을 확인하고 원인을 바로잡은 뒤 다시 테스트하세요.

적합한 경우: 일상적인 연결 및 유효한 인증서를 사용하는 Trojan 설정

Allow Insecure 켬

인증서 검증을 완화하면 서버 신원 확인이 약해집니다. 기존 설정에서 이 옵션이 켜져 있다면 먼저 켜진 이유를 확인하고 정상적으로 검증할 수 있는 설정을 받으세요. 일반적인 문제 해결 방법으로 사용하지 마세요.

적합한 경우: 기존 설정의 보안 상태 확인. 일상적인 문제 해결 방법으로 사용하지 마세요.

서버에서 WebSocket 등의 추가 전송 계층을 사용한다면 해당 매개변수도 확인해야 합니다. WebSocket의 Host와 Path는 TLS의 SNI와 서로 다른 계층에 속하므로 무조건 같은 값으로 복사해서는 안 됩니다. 이 글에서 다루는 기본 필드만으로는 서버가 별도로 지정한 매개변수를 대신할 수 없습니다.

6. 오류 증상별 점검: 지연 시간만으로 연결을 판단하지 마세요

지연 테스트 결과는 해당 테스트 방식으로 응답을 받을 수 있는지만 보여 줍니다. TCP 연결에 성공해도 Trojan 비밀번호 인증에 성공한 것은 아니며, 테스트에 숫자가 표시되어도 대상 웹사이트에 반드시 접속할 수 있다는 뜻은 아닙니다. 문제를 확인할 때는 테스트 방식, 네트워크 환경, 오류 문구, 발생 단계를 기록한 뒤 한 번에 한 항목씩 변경하세요.

계속 시간 초과가 발생하면 비밀번호가 틀린 건가요?

꼭 그렇지는 않습니다. 먼저 Home에서 해당 기록을 열고 Address와 Port를 하나씩 확인하세요. 그런 다음 Wi-Fi와 셀룰러 네트워크에서 각각 테스트하세요. 두 네트워크 모두 기본 연결을 설정할 수 없다면 접속 지점에 도달할 수 있는지와 서버 상태를 먼저 확인하세요. timeout만으로 Password 오류라고 단정하지 마세요.

인증서 이름이 일치하지 않는다고 표시됩니다. 어떤 필드를 바꿔야 하나요?

Add Server에서 SNI가 기존 설정과 일치하는지 확인하고, 프로토콜 접두어나 포트가 잘못 포함되지 않았는지 점검하세요. 이어서 서버 인증서에 해당 이름이 포함되어 있는지 확인하세요. 인증서 자체가 맞지 않으면 Allow Insecure를 켜지 말고 서비스 제공업체에 수정을 요청하세요.

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

먼저 Home에서 테스트할 기록이 선택되어 있는지 확인하세요. 다음으로 Global Routing을 점검하세요. Direct는 프록시 연결을 확인하는 데 사용할 수 없습니다. 비교를 위해 일시적으로 Proxy를 선택하고 테스트한 뒤 원래 설정으로 되돌리세요. Proxy에서는 작동하지만 Config에서는 작동하지 않는다면 Config의 규칙과 정책 선택을 확인하세요.

구독을 업데이트한 뒤 직접 수정한 매개변수가 다시 바뀌었어요. 왜 그런가요?

구독 업데이트 시 원격 설정을 기준으로 기록이 다시 만들어질 수 있습니다. 업데이트 후 Address, Port, SNI, Password를 다시 확인하세요. 비교 테스트가 필요하면 수동 기록을 별도로 만들고 임시 수정을 장기적인 해결책으로 간주하지 마세요. 올바른 매개변수가 유지되도록 사용 중인 구독 데이터 원본도 수정해야 합니다.

기본 연결과 TLS는 통과했지만 인증 실패가 표시되거나 곧바로 연결이 끊긴다면 Password, 서버 계정 상태, 전송 방식이 일치하는지 확인하세요. 구체적인 오류는 서버 구현에 따라 다르므로 ‘연결 끊김’이라는 문구만으로 비밀번호가 틀렸다고 단정할 수 없습니다. 문의할 때는 오류 내용을 남기되 비밀번호, 구독 링크, 전체 접속 주소 및 기타 식별 가능한 정보는 숨기세요.

7. 저장 전후 최종 확인 목록

매개변수 확인이 끝나면 먼저 연결 하나를 테스트한 뒤 평소 사용하는 규칙 분류 설정으로 돌아가세요. Global Routing의 Proxy, Direct, Config, Scene은 서로 다른 라우팅 모드이며 Trojan의 암호화 방식이 다르다는 뜻이 아닙니다. 모드를 바꿔도 기록의 SNI나 비밀번호는 변경되지 않습니다. Scene을 사용하는 경우 현재 Scene의 설정도 확인해 Scene 전환으로 생긴 변화를 프로토콜 문제로 오해하지 않도록 하세요.

Shadowrocket은 Apple 플랫폼용 상용 클로즈드 소스 앱이며 주로 iPhone과 iPad에서 사용합니다. 앱을 구할 수 있는 유일한 경로는 App Store이며, 구매는 일회성입니다. 앱 구매와 연결 서비스 이용권은 별개이며, 앱 구매에는 연결 서비스가 포함되지 않습니다. 시스템 요구 사항과 유니버설 구입 지원 여부는 App Store 페이지의 안내를 확인하세요. 설치 전에는 정품 확인 페이지에서 개발자 Shadow Launch Technology Limited, 공식 아이콘, 앱 ID 932747118을 확인하세요.

App Store에서 다운로드정품 확인 항목 3가지를 먼저 확인하세요