2026년 10월 14일 · 프로토콜 · 약 9분

Trojan 설정 방법: Shadowrocket에서 Trojan 연결 추가하기

Trojan 연결 방식과 Shadowrocket의 Address, Port, Password, SNI, Allow Insecure 입력 시 확인할 사항을 안내합니다.

이 글의 핵심

직접 사용할 권한이 있는 서비스 설정을 보유하고 있으며 Shadowrocket에 Trojan 연결을 추가하려는 사용자를 위한 안내입니다. 먼저 서버 주소, 인증 Password, TLS 인증서 이름을 구분한 뒤 Home → 오른쪽 상단 ‘+’ → Type → Trojan 순서로 입력하세요. 각 항목을 확인하고 연결 오류가 발생하면 Allow Insecure를 반복해서 전환하기보다 네트워크, 인증서, Password 중 어디에 문제가 있는지 살펴볼 수 있습니다.

Trojan 작동 방식: TLS와 Password의 역할

Shadowrocket은 Apple 플랫폼에서 제공되는 유료 클라이언트입니다. 이 글에서는 이미 보유한 설정을 입력하고 확인하는 방법을 다루며, 노드나 구독, 연결 서비스를 제공·판매·추천하지 않습니다. 앱 구매와 연결 서비스는 별개이며, 앱을 구매해도 사용할 수 있는 서버 주소와 Password가 자동으로 제공되지는 않습니다.

일반적인 Trojan 연결은 먼저 TLS로 암호화된 통신 채널을 만든 다음, 그 안에서 인증 정보와 프록시 요청을 전송합니다. TLS는 전송 내용을 보호하고 인증서를 통해 서버 신원을 확인합니다. Trojan Password는 서버가 해당 연결을 사용할 권한이 있는 사용자인지 확인하는 데 쓰입니다. 두 단계는 서로 대체할 수 없습니다. Password가 맞아도 인증서를 무시해도 되는 것은 아니며, 인증서가 유효해도 Password가 맞다는 뜻은 아닙니다.

443
일반적으로 사용하는 TLS 포트이며, 실제 포트는 보유한 설정을 따르세요
1–65535
Port에 입력할 수 있는 숫자 범위이며, 모든 포트에 연결할 수 있다는 뜻은 아닙니다
두 단계
TLS 신원 확인과 Trojan Password 인증

요약: TLS를 먼저 확인한 뒤 Password를 점검하세요

인증서 또는 TLS 핸드셰이크 오류가 발생하면 Address, SNI, 기기의 날짜와 시간, 인증서 유효성을 먼저 확인하세요. TLS 연결이 정상적으로 수립된 뒤 Trojan Password를 점검하면 됩니다. 인증서 검증을 끄는 것으로 설정 확인을 대신하지 마세요.

Trojan이라고 해서 도메인만 입력하면 연결되는 것은 아닙니다. 서버는 서로 다른 포트를 사용하거나 특정 전송 방식을 요구할 수 있습니다. 보유한 설정에 WebSocket, Host, Path가 추가로 지정되어 있다면 해당 항목도 그대로 유지하세요. Type이 모두 Trojan이라고 해서 다른 연결의 값을 가져와 입력하면 안 됩니다.

항목별 설정: Address, Port, Password, SNI

입력하기 전에 서로 일치하는 전체 설정을 준비하세요. 한 연결의 주소와 다른 연결의 Password, 또 다른 설정의 SNI를 조합하지 마세요. 아래 표의 도메인과 포트는 입력 형식을 보여 주는 예시일 뿐, 실제로 연결할 수 있는 서버 정보가 아닙니다.

항목 입력할 내용 확인 사항
Type Trojan 서버에서 사용하는 프로토콜에 맞춰 선택하세요. 다른 프로토콜의 입력 규칙을 적용하지 마세요.
Address 보유한 설정에 기재된 도메인 또는 IP 주소 gateway.example.com처럼 호스트 부분만 입력하세요. https://나 웹 경로는 넣지 마세요.
Port 서버에서 실제로 수신 대기 중인 포트 443은 흔히 쓰이는 값일 뿐입니다. 8443으로 안내받았다면 8443을 그대로 입력하세요.
Password 해당 Trojan 연결의 Password 대소문자를 구분합니다. 앞뒤 공백과 줄바꿈이 없는지 확인하고, App Store 계정 Password는 입력하지 마세요.
SNI 보유한 설정에 지정된 TLS 서버 이름 예: tls.example.com. 프로토콜 접두사, 포트, 경로는 입력하지 마세요.
Allow Insecure 일반적으로 끈 상태로 유지 이 옵션은 인증서 검증에 영향을 주며, 연결 실패를 해결하는 만능 설정이 아닙니다.

Address는 네트워크 연결을 시작할 대상을, Port는 해당 호스트에서 접속할 수신 대기 지점을 지정합니다. Password는 서버에서 제공한 프로토콜 인증 정보이며, UUID 형식일 필요는 없습니다. 복사한 Password의 문자 수와 앞뒤 문자를 확인하되, 전체 Password를 공개된 문의 글에 붙여 넣지 마세요.

추가 방법: Home에서 Trojan 연결 저장하기

아래는 직접 입력하는 방법입니다. 이미 구독을 가져와 항목이 만들어져 있다면 새 항목을 중복으로 만들기보다 원본 설정과 대조해 확인하세요. 구독 관리와 개별 연결 편집은 서로 다른 작업입니다. 로컬 항목을 수정해도 이후 구독을 업데이트하면 해당 내용이 다시 생성될 수 있습니다.

  1. 설정 준비

    보유한 설정에서 주소, 포트, Password, SNI, 전송 요구 사항을 정리하세요. 입력을 시작하기 전에 모든 값이 같은 Trojan 연결에 속하는지 확인합니다.

  2. 프로토콜 선택

    Home → 오른쪽 상단 ‘+’ → Type → Trojan으로 이동하세요. Type을 선택한 다음 해당 유형의 항목을 입력하면 다른 유형의 기본값이 남는 일을 방지할 수 있습니다.

  3. 연결 정보 입력

    Address, Port, Password를 차례로 입력하세요. 주소란에는 호스트 정보만, 포트란에는 숫자만 입력하고 Password는 원문 그대로 복사하세요. 직접 인코딩하거나 따옴표를 추가하지 마세요.

  4. TLS 확인

    TLS 설정에서 SNI와 Allow Insecure를 확인하세요. SNI에는 보유한 설정에 지정된 이름을 입력하고, 일반적으로 인증서 검증은 유지하세요. 추가 전송 항목도 확인합니다.

  5. 저장 및 연결 확인

    저장한 뒤 Home으로 돌아가 방금 추가한 항목을 선택하고 연결을 켜세요. 처음 사용할 때는 시스템 안내에 따라 VPN 구성을 추가하도록 허용한 다음, 실제 웹 요청으로 연결을 확인하세요. 스위치가 켜졌다는 사실만으로 연결이 정상이라고 판단하지 마세요.

확인 전에 Home → Global Routing도 살펴보세요. Config의 규칙 분기 영향을 잠시 제외하려면 Proxy로 비교 테스트할 수 있습니다. Direct는 선택한 Trojan을 통한 프록시 전달을 확인하는 용도가 아닙니다. Config는 현재 설정의 규칙에 따라 요청을 처리하며, Scene은 구성된 시나리오 설정을 함께 확인해야 합니다. 점검이 끝나면 평소 사용하는 설정으로 되돌려 테스트 설정을 계속 사용하지 않도록 하세요.

SNI와 인증서: 연결 주소가 달라도 오류는 아닐 수 있습니다

SNI는 TLS 핸드셰이크에서 전송하는 서버 이름으로, 서버가 인증서나 해당 가상 호스트를 선택하는 데 사용할 수 있습니다. 일반적으로 SNI는 인증서가 적용되는 도메인과 일치해야 합니다. Address와 SNI는 같은 경우가 많지만 용도가 다르므로, 값이 다르다는 이유만으로 임의로 일치시켜서는 안 됩니다.

예를 들어 보유한 설정에서 Address는 IP 주소로 지정하고 SNI는 인증서에 해당하는 도메인으로 지정할 수 있습니다. 이 경우 클라이언트는 IP 주소에 연결하고 TLS 핸드셰이크에서는 지정된 이름을 사용합니다. 반대로 서버 인증서와 무관한 도메인을 임의로 입력해도 인증서 검증을 통과할 수는 없습니다.

같은 설정에 WebSocket의 Host와 TLS의 SNI가 모두 포함되어 있다면 각각 확인해야 합니다. Host는 HTTP 요청 관련 정보이고 SNI는 TLS 핸드셰이크에 사용됩니다. 두 값이 같을 수도 있지만 같은 항목은 아닙니다. 보기 좋게 통일하려고 둘 다 덮어쓰지 마세요.

Allow Insecure: 검증을 건너뛰어 오류를 감추지 마세요

Allow Insecure는 일반적인 인증서 검증 기준을 충족하지 않는 TLS 연결을 허용할 때 사용하는 옵션입니다. 이 옵션을 켜도 트래픽은 암호화될 수 있지만, 서버 신원이 신뢰할 수 있게 확인된 것과 같지는 않습니다. 암호화와 신원 인증은 별개의 요구 사항이며, 신원 인증이 빠지면 중간자 개입에 대한 보호가 약해집니다.

기본적으로 인증서 검증을 유지하세요

인증서 오류가 발생하면 SNI, 기기 시간, 인증서 유효 기간, 인증서 체인을 먼저 확인하세요. 설정 안내에 특수 인증서가 필요하다고 명시되어 있다면, 연결이 된다는 이유만으로 설정이 올바르다고 판단하지 말고 해당 설정의 관리 담당자에게 인증서 구성을 확인하세요.

문제를 확인할 때는 한 번에 항목 하나만 바꾸고 원래 값을 기록하세요. SNI, 포트, Password, Allow Insecure를 동시에 변경하면 이후 접속되더라도 원인을 알 수 없습니다. 특히 문제가 있는 연결의 설정을 모든 Trojan 항목에 복사하지 마세요.

연결 실패 문제 해결: 오류 단계별로 범위 좁히기

Home에서 연결이 켜져 있다고 표시되어도 로컬 연결 절차가 시작됐다는 뜻일 뿐, 원격 Trojan 인증이 성공했거나 현재 웹 요청이 해당 연결을 통과한다는 의미는 아닙니다. 먼저 올바른 항목을 선택했는지 확인한 다음, 오류 정보와 실제 요청 결과를 함께 살펴보세요. 아래 표는 문제를 확인하는 방향이며, 모든 오류에 대한 유일한 원인을 제시하는 것은 아닙니다.

확인된 증상 우선 확인할 항목 다음 조치
연결 시간 초과 주소 확인, 포트, 네트워크 경로, 서버 상태 Address와 Port를 다시 확인하세요. 사용할 수 있는 다른 네트워크에서도 같은 요청을 테스트하고 결과 차이를 기록하세요.
인증서 또는 TLS 오류 발생 SNI, 기기 시간, 인증서 체인 원래 오류 메시지를 보관하고 이름을 확인한 다음 설정 관리자에게 서버 인증서를 확인하세요.
핸드셰이크 직후 연결이 끊김 Password, 서버 인증, 전송 설정 Password를 다시 복사하고 전송 방식, Host, Path 등 기존 설정을 항목별로 대조하세요.
일부 웹사이트만 접속되지 않음 Global Routing, 규칙 일치 여부, DNS Proxy로 잠시 비교 테스트한 뒤 Config로 돌아가 실제로 적용된 규칙을 확인하세요.

Config에서는 특정 웹사이트가 DOMAIN-SUFFIX 같은 도메인 규칙에 따라 DIRECT로 지정되거나 IP-CIDR, GEOIP, 마지막의 FINAL 정책에 일치할 수 있습니다. 따라서 해당 웹사이트가 여전히 직접 연결된다는 이유만으로 Trojan 설정 오류라고 단정할 수는 없습니다. 실제 적용된 정책을 먼저 확인한 다음 연결 설정을 조정할지 판단하세요. 규칙 문제와 프로토콜 문제는 구분해서 다뤄야 합니다.

문제 확인을 요청할 때는 현재 네트워크, 선택한 Global Routing 설정, 오류 메시지, 변경한 항목만 알려주면 됩니다. Password, 구독 링크의 토큰, 기타 개인 연결 인증 정보는 가리세요. 스크린샷을 공유하거나 로그를 복사하기 전에도 민감한 정보가 포함되지 않았는지 확인하세요.

자주 묻는 질문: 설정을 저장한 뒤 확인할 사항

포트는 반드시 443으로 입력해야 하나요?

아닙니다. Home에서 해당 항목의 편집 화면을 열고 보유한 설정에 따라 Port를 확인하세요. 서버가 8443에서 수신 대기 중이라면 8443을 입력해야 합니다. 흔히 쓰이는 포트로 숫자를 바꿔도 서버의 수신 설정은 달라지지 않습니다.

SNI에 Address를 그대로 입력해도 되나요?

보유한 설정과 인증서 이름이 허용하는 경우에만 가능합니다. Address가 IP 주소이거나 인증서 이름과 다른 도메인이라면 Address를 기계적으로 복사하지 말고 설정에 명시된 SNI를 사용하세요.

Allow Insecure를 켜면 연결되는데 계속 켜 둬도 되나요?

먼저 인증서 검증을 다시 켜고 SNI, 시스템 시간, 인증서 체인을 확인하세요. 이 현상은 인증서 검증 과정을 확인해야 한다는 뜻이지, 서버 신원을 신뢰할 수 있다는 의미는 아닙니다. 설정 관리자가 원인을 확인하고 해결해야 합니다.

구독을 업데이트한 뒤 직접 수정한 설정이 되돌아가는 이유는 무엇인가요?

구독 업데이트 시 원격 설정에 따라 항목이 다시 생성될 수 있습니다. 먼저 본인이 보유한 구독의 원본 설정과 관리 안내를 확인하세요. 원격 설정에 오류가 있다면 설정 출처에서 수정해야 하며, 로컬 항목을 반복해서 바꾸는 방식에 의존하지 마세요.

네트워크를 바꾼 뒤 연결이 자동으로 시작되면 오류인지 어떻게 확인하나요?

Settings → On Demand에서 활성화 여부와 설정된 조건을 확인해 자동 연결이 시작된 것인지 살펴보세요. On Demand는 연결 시작 시점을 제어할 뿐 잘못된 Trojan Password나 SNI를 수정하지 않습니다. 자동 연결이 시작되는지와 원격 연결이 성공하는지는 각각 확인해야 합니다.

App Store 정품 확인