서비스 제공업체에서 받은 Trojan 설정 정보가 있는 사용자를 위한 안내입니다. 연결 주소, 인증 비밀번호, TLS 서버 이름을 구분한 뒤 Add Server의 항목을 채우고, 연결 결과를 바탕으로 네트워크·인증서·인증·규칙 문제를 구분합니다. iPhone / iPad 화면을 기준으로 설명하며, Mac·Windows·Android·Linux에서도 설정값 확인 원칙은 같습니다. 메뉴 위치는 플랫폼별 화면을 확인하세요.
1. Trojan 원리: TLS 연결 후 비밀번호 인증
Shadowrocket의 Trojan은 프록시 프로토콜입니다. 일반적으로 서버 주소와 포트로 TCP 연결을 맺은 다음 TLS 핸드셰이크를 완료하고, 암호화된 채널에서 인증 정보와 대상 요청을 전송합니다. TLS는 전송 내용을 보호하고 서버 신원을 확인하며, Trojan 비밀번호는 서비스 이용 권한을 인증합니다. 두 기능의 목적은 서로 다릅니다.
따라서 비밀번호가 맞아도 TLS 연결이 반드시 성공하는 것은 아니며, TLS 연결에 성공해도 계정이 여전히 유효하다는 뜻은 아닙니다. 주소 확인 실패, 포트 연결 불가, 인증서 이름 불일치, 비밀번호 오류는 모두 연결 실패로 나타날 수 있지만 발생 단계는 다릅니다. 문제를 진단할 때는 위 순서대로 확인하고, 모든 설정값을 한꺼번에 바꾸지 마세요.
443은 흔히 사용하는 포트일 뿐, 프로토콜의 필수 포트가 아니며 서비스 이용 가능 여부를 판단하는 기준도 아닙니다. 서비스 제공업체가 8443 등 다른 포트를 지정했다면 안내된 값 그대로 입력하세요. 이 글은 노드·구독을 제공하거나 추천하지 않습니다. 기존 구독 주소는 서비스 제공업체에서 받으세요.
2. 추가 전 설정값 정리: Address와 SNI는 다릅니다
Address는 클라이언트가 연결할 서버를 지정하며, 도메인이나 IP 주소를 입력할 수 있습니다. SNI는 TLS 핸드셰이크에 포함되는 서버 이름 정보로, 서버가 해당 사이트와 인증서를 선택할 때 주로 사용됩니다. 일반적인 클라이언트 설정에서는 확인할 서버 이름을 지정하는 역할도 합니다. 화면에 인증서 검증 이름 항목이 별도로 있다면 서비스 제공업체의 안내에 따라 각각 입력하세요. 연결 주소, SNI, 추가 전송 계층의 Host를 같은 항목으로 취급하지 마세요.
연결 및 인증 설정
- Type
- Trojan — 서버 프로토콜과 일치해야 합니다
- Address
- 서비스 제공업체가 안내한 호스트 이름 또는 IP. https://와 경로는 제외하세요.
- Port
- 서버가 수신하는 포트. 예: 안내에 명시된 443
- Password
- 해당 노드의 Trojan 인증 비밀번호. 대소문자와 기호를 그대로 유지하세요.
구독 액세스 정보, 웹사이트 로그인 비밀번호, 노드 Password는 서로 바꿔 쓸 수 없습니다.
TLS 및 전송 설정
- TLS
- 일반적인 Trojan 연결에는 TLS가 필요합니다. 노드 안내에 따라 설정하세요.
- SNI
- 서비스 제공업체가 지정한 TLS 서버 이름을 입력하세요. 프로토콜 접두사와 포트는 제외합니다.
- 인증서 검증
- 켜 둔 상태로 유지하고 신뢰 체인·유효 기간·이름 일치를 확인하세요.
- Transport
- 안내된 경우에만 설정하세요. WebSocket이나 다른 캡슐화 방식을 임의로 추가하지 마세요.
추가 전송 설정은 이름만 보고 추측할 수 없습니다. 안내가 없다면 먼저 서비스 제공업체에 확인하세요.
예를 들어 연결 주소가 IP이고 인증서가 특정 도메인에 발급되었다면, SNI에는 일반적으로 서비스 제공업체가 지정한 인증서 도메인을 입력해야 합니다. 반대로 Address가 도메인이라고 해서 반드시 그 값이 SNI와 같다는 보장은 없습니다. 인증서에서 허용하는 이름은 Subject Alternative Name 등의 정보로 결정되므로, 접속 가능한 아무 웹사이트의 도메인이나 입력하면 되는 것이 아닙니다.
요점: 먼저 서버 이름을 확인하고 인증서 오류를 해결하세요
이름 불일치가 발생하면 SNI와 서비스 제공업체가 안내한 인증서 도메인을 먼저 정확히 대조하세요. 인증서 검증을 끄는 것으로 설정 오류를 대신 해결하지 마세요.
3. Home → Add Server: 직접 입력하고 저장하기
노드를 하나씩 확인할 때는 직접 추가하는 방법이 편리합니다. 구독을 가져온 뒤 어떤 설정값이 다른지 찾을 때도 유용합니다. 아래에서는 영문 인터페이스 용어를 사용합니다. 표시되는 항목은 플랫폼과 선택한 전송 방식에 따라 다를 수 있으므로, 실제로 보이며 안내가 명확한 항목만 입력하세요.
- Home을 열고 오른쪽 위의 추가 버튼을 눌러 Add Server로 이동합니다. 먼저 Type을 Trojan으로 설정한 다음, 화면에 표시되는 프로토콜별 항목을 확인하세요.
- Address에 서버 호스트 이름 또는 IP를 붙여 넣습니다. 복사 과정에서 섞인 공백·줄바꿈·프로토콜 접두사는 제거하세요. 전체 공유 링크를 주소 입력란에 붙여 넣지 마세요.
- Port에 지정된 포트를 입력합니다. 안내에 443이라고 적혀 있으면 443을 입력하세요. 시간 초과가 발생한다고 80으로 임의 변경하지 마세요. 서버가 수신하지 않는 포트는 클라이언트 설정을 바꿔도 사용할 수 없습니다.
- Password에 노드 인증 비밀번호를 붙여 넣습니다. 앞뒤 공백, 대소문자, 기호를 확인하고 구독 링크의 token을 비밀번호로 입력하지 않도록 주의하세요.
- TLS와 SNI를 확인합니다. SNI에는 호스트 이름만 입력하세요. 서비스 제공업체가 추가 전송 설정을 안내했다면 함께 대조하고, 다른 노드의 설정을 그대로 가져오지 마세요.
- 인증서 검증을 켠 상태로 유지하고 노드를 저장한 다음 Home으로 돌아가 방금 저장한 항목을 선택하세요. 처음 연결할 때는 시스템 안내에 따라 VPN 구성을 허용합니다.
테스트하기 전에는 Config의 규칙을 변경하지 마세요. 먼저 현재 네트워크에서 노드 하나가 연결되는지 확인한 다음, 규칙이 요청을 의도한 경로로 보내는지 검증하세요. 이렇게 하면 노드 설정 오류와 규칙 매칭 문제를 구분할 수 있습니다.
4. 구독을 가져온 뒤에도 노드 설정값 확인하기
서비스 제공업체가 구독을 제공한다면 Add Server에서 Subscribe 유형으로 가져올 수 있어 노드를 하나씩 다시 만들 필요가 없습니다. 구독은 노드 설정을 일괄 배포하는 방식이지만, 주소·인증서·계정 상태가 항상 유효하다는 보장은 없습니다. 가져오기가 완료되었다는 것은 클라이언트가 내용을 받아 파싱했다는 뜻일 뿐, 각 노드의 연결 테스트가 끝났다는 의미는 아닙니다.
- 구독 주소는 서비스 제공업체에서 받으세요. 구독 URL 항목에 전체 주소를 붙여 넣고, 쿼리 매개변수를 삭제하거나 공백을 추가하지 마세요.
- 업데이트 후 해당 그룹을 펼쳐 사용할 Trojan 항목을 찾고, 편집 화면에서 Type, Address, Port, Password, SNI를 확인하세요.
- 직접 수정한 항목은 사용할 수 있지만 다시 업데이트하면 잘못된 값으로 돌아가는 경우, 서비스 제공업체에 구독 원본을 수정해 달라고 요청하세요. 기기에서 반복해 수정해도 원본 데이터는 바로잡히지 않습니다.
- 설정값을 비교해 둘 필요가 있다면 용도를 표시한 수동 테스트 항목을 별도로 만들어 두세요. 확인을 마친 뒤 정리하면 기존 항목을 잘못 선택하는 일을 줄일 수 있습니다.
Trojan과 Shadowsocks, VMess, VLESS, Hysteria2, WireGuard는 각 항목의 의미가 서로 다릅니다. Type만 Trojan으로 바꾸고 기존 프로토콜의 인증 정보를 계속 사용해서는 안 됩니다. 구독 내용이 예상과 다른 프로토콜로 파싱되었다면 포트 번호로 프로토콜을 추측하지 말고 원본 설정과 가져오기 방식을 확인하세요.
5. 연결 실패 단계별 진단: 네트워크·TLS·인증·라우팅
Home에 표시되는 지연 시간은 해당 테스트 방식으로 확인한 연결 경로만 반영합니다. 숫자가 표시되어도 대상 웹페이지가 완전히 열린다는 보장은 없으며, 시간 초과가 표시된다고 비밀번호 오류라고 단정할 수도 없습니다. 연결 로그, 실제 접속 결과, 네트워크를 바꾼 뒤의 결과를 함께 확인하세요. 아래 표는 문제를 찾기 위한 단서이며, 모든 실패 원인을 빠짐없이 나열한 것은 아닙니다.
| 확인된 증상 | 먼저 확인할 항목 | 다음 조치 |
|---|---|---|
| 서버 도메인을 확인할 수 없음 | Address 오타 및 현재 네트워크의 DNS 사용 가능 여부 | 일반 네트워크가 정상인지 확인한 뒤 주소를 점검하세요. 출처를 알 수 없는 IP로 임의 변경하지 마세요. |
| 연결 시간 초과 또는 거부됨 | 포트, 서버의 수신 상태, 현재 네트워크에서의 연결 가능 여부 | 설정값을 그대로 둔 채 Wi-Fi와 셀룰러 네트워크를 바꿔 비교하고, 서비스 제공업체에 포트를 확인하세요. |
| TLS 핸드셰이크 또는 인증서 검증 실패 | SNI, 인증서 유효 기간, 신뢰 체인, 시스템 시간 | 서버 이름과 기기 시간을 바로잡으세요. 만료된 인증서나 불완전한 인증서 체인은 서비스 제공업체에 문의하세요. |
| 연결이 빠르게 종료되어 요청을 전달할 수 없음 | Password, 계정 상태, 추가 전송 설정 | 인증 정보를 다시 확인하고 서비스 제공업체에 서버 로그를 바탕으로 점검해 달라고 요청하세요. |
| 일부 웹사이트는 열리지만 다른 사이트는 실패함 | Global Routing, 규칙 매칭, DNS, 대상 사이트 상태 | 짧게 Proxy로 비교한 다음 원래 설정으로 되돌려 Config를 확인하세요. |
기기 시간이 크게 어긋나면 인증서 유효 기간 판단에 영향을 줍니다. iPhone / iPad에서는 시스템 Settings → General → Date & Time에서 Set Automatically를 확인할 수 있습니다. 이 항목은 시스템 설정이며 Shadowrocket 내부 메뉴가 아닙니다. 시간을 바로잡은 뒤 다시 연결하고, 인증서 오류를 무시해 원인을 가리지 마세요.
요점: 설정값을 유지한 채 네트워크를 바꿔 비교하세요
같은 노드가 셀룰러 네트워크에서는 작동하고 특정 Wi-Fi에서는 작동하지 않는다면, 우선 해당 네트워크의 주소 확인과 연결 제한을 살펴보세요. 이때 Password나 SNI를 계속 바꾸면 유효한 비교 조건을 잃게 됩니다.
6. 노드 연결 후 Global Routing과 Config 확인하기
노드 설정은 프록시 서버에 연결하는 방법을 정하고, Global Routing과 Config는 어떤 요청이 해당 노드를 사용할지 결정합니다. 잠시 Proxy를 선택하면 규칙 때문에 다른 경로로 우회하는지 확인하는 데 도움이 되지만, 장기 설정에 일괄 적용할 정답은 아닙니다. 비교가 끝나면 기존 사용 방식으로 되돌리고 실제 요청으로 결과를 확인하세요.
- Proxy: 전체 프록시 경로를 비교 테스트할 때 사용합니다. 방금 확인한 노드가 선택되어 있는지 확인하세요.
- Direct: 요청을 직접 연결합니다. 접속에 성공해도 Trojan 설정이 올바르다는 뜻은 아닙니다.
- Config: 현재 구성 파일의 규칙과 정책에 따라 요청을 처리합니다. 매칭된 규칙과 정책 대상을 확인해야 합니다.
- Scene: 시나리오 설정에 따라 동작을 선택합니다. 문제를 진단할 때는 현재 Scene을 확인하고, 이를 네 번째 프록시 프로토콜로 이해하지 마세요.
Config를 확인할 때 DOMAIN-SUFFIX는 도메인 접미사를, IP-CIDR은 IP 대역을 매칭하며 GEOIP는 IP의 지리적 분류를 기준으로 처리합니다. FINAL은 마지막에 적용되는 기본 규칙입니다. 규칙은 위에서 아래 순서로 매칭됩니다. 요청이 앞쪽의 DIRECT 규칙에 이미 매칭되었다면, 뒤에서 사용 가능한 프록시를 선택해도 해당 요청의 결과는 바뀌지 않습니다. 수정 전에는 구성을 백업하고, 일부 예시만으로 파일 전체를 덮어쓰지 마세요.
Settings → On Demand는 조건에 따른 자동 연결 동작을 주로 설정하며 Trojan 비밀번호·인증서·서버 포트 문제를 해결하지 않습니다. 수동 연결도 실패한다면 먼저 노드 자체를 점검하세요. 수동 연결은 되지만 자동 연결이 예상과 다를 때 On Demand 조건을 따로 확인하세요.
7. Trojan 설정 관련 자주 묻는 질문
Address와 SNI에 같은 도메인을 입력해도 되나요?
가능합니다. 단, 서비스 제공업체의 안내가 그렇게 되어 있고 인증서가 해당 이름에 유효해야 합니다. Address가 IP이고 SNI가 도메인이라면 두 값을 구분해 유지하세요. 두 항목을 통일하려고 같은 값으로 바꾸지 마세요.
포트에 443을 입력했는데도 왜 시간 초과가 발생하나요?
443이라고 해서 자동으로 연결되는 것은 아닙니다. 먼저 서비스 제공업체가 실제로 해당 포트에서 Trojan을 제공하는지 확인한 뒤, 설정값을 그대로 둔 채 네트워크를 바꿔 보세요. 로그가 연결 수립 전에 멈춘다면 인증서 옵션을 변경하기보다 주소와 포트에 연결할 수 있는지 먼저 확인하세요.
인증서 오류가 나는데 검증을 잠시 꺼도 되나요?
먼저 SNI, 시스템 시간, 인증서 체인을 바로잡아야 합니다. 검증을 끄면 서버 신원을 확인하는 중요한 절차가 사라집니다. 연결에 성공하더라도 설정이 안전하거나 올바르다는 증거가 되지 않습니다. 서버 인증서 문제는 서비스 제공업체가 해결해야 합니다.
구독을 업데이트한 뒤 비밀번호가 바뀌었습니다. 이전 비밀번호를 유지해야 하나요?
먼저 최신 인증 정보가 맞는지 서비스 제공업체에 확인하세요. 자격 증명이 교체되었다면 이전 비밀번호는 더 이상 유효하지 않을 수 있습니다. 업데이트된 내용이 잘못되었다면 구독 원본을 수정해야 합니다. 이름이 같은 항목을 여러 개 남겨 두고 위치만으로 사용할 항목을 추측하지 마세요.
연결 스위치는 켜졌는데 웹페이지가 열리지 않는 이유는 무엇인가요?
스위치가 켜졌다는 것은 터널이 활성화되었다는 뜻이지, 상위 노드가 요청 전달을 마쳤다는 뜻은 아닙니다. 먼저 Home에서 노드 선택을 확인한 다음 Global Routing → Proxy로 잠시 비교하세요. 그래도 실패하면 네트워크·TLS·인증 순서로 다시 점검하세요.