구독 링크란 무엇인가요? 간단히 말해 클라이언트가 회선 설정을 읽어 오는 진입점입니다. 서버 주소, 포트, 프로토콜, 인증 정보를 하나씩 입력할 필요 없이 호환 클라이언트에 링크를 가져오면 현재 사용할 수 있는 노드 목록을 불러옵니다. 서버에서 회선을 조정한 뒤 구독을 다시 업데이트하면 클라이언트가 새 설정을 읽습니다.
구독 링크는 특정 네트워크 프로토콜도, 그 자체로 연결을 실행하는 버튼도 아닙니다. 구독 링크는 설정을 전달하고, Shadowsocks·VMess·Trojan·VLESS·Hysteria2·TUIC 등의 프로토콜은 구체적인 연결 방식을 정의하거나 연결을 수립합니다. 클라이언트는 설정을 해석하고 노드를 선택하며 분할 라우팅을 적용하고 시스템 트래픽을 처리합니다. 이 세 계층을 구분하면 가져오기 실패나 업데이트 미적용 문제의 원인을 쉽게 찾을 수 있습니다.
구독 링크에는 무엇이 들어 있나요
클라이언트가 구독 링크에 접근하면 일반적으로 기계가 읽을 수 있는 설정을 받습니다. 응답 내용은 인코딩된 노드 모음일 수도 있고 YAML, JSON 또는 클라이언트 전용 형식일 수도 있습니다. 흔히 노드 이름, 서버 주소, 연결 포트, 프로토콜 유형, 인증 데이터, 전송 매개변수, 그룹 분류용 태그 등이 포함됩니다. 구체적인 형식은 서버와 클라이언트의 호환 방식에 따라 결정되므로 링크 확장자만 보고 판단해서는 안 됩니다.
하나의 구독에 서로 다른 회선을 함께 넣을 수 있습니다. 노드 이름에는 지역, 진입 유형 또는 용도가 표시될 수 있지만 실제 연결 방식은 프로토콜 필드가 결정합니다. IEPL 전용 회선, 중계 회선, 직접 연결 회선은 네트워크 경로를 설명하며 Shadowsocks, Trojan, VLESS 같은 연결 프로토콜과는 다릅니다. 전자는 트래픽이 어떤 경로를 지나는지, 후자는 클라이언트가 진입점과 어떻게 통신하는지를 나타냅니다.
| 대상 | 주요 역할 | 사용자가 주로 할 일 |
|---|---|---|
| 구독 링크 | 클라이언트에 노드와 설정 전달 | 복사하고 가져온 뒤 정기적으로 새로 고치며 안전하게 보관 |
| 연결 프로토콜 | 인증, 암호화 및 전송 방식 정의 | 클라이언트가 지원하는 프로토콜을 사용하고 필드를 임의로 수정하지 않기 |
| 회선 경로 | 진입점, 중계 지점과 출구 사이의 네트워크 경로 결정 | 지역, 안정성 및 사용 환경에 따라 선택 |
| 분할 라우팅 규칙 | 어떤 요청을 프록시로 보낼지, 어떤 요청을 직접 연결할지 결정 | 규칙 모드를 선택하고 잘못된 라우팅 여부 점검 |
| DNS 설정 | 도메인을 네트워크 주소로 변환 | 조회 경로가 현재 프록시 모드와 일치하는지 확인 |
구독 응답 내용이 브라우저에서 바로 읽히는 것은 아닙니다. 브라우저에 긴 문자열이 표시된다고 링크가 손상된 것은 아니며, 다운로드가 시작된다고 파일을 수동으로 열어야 하는 것도 아닙니다. 올바른 방법은 링크를 호환 클라이언트에 전달해 해석하는 것입니다. 반대로 클라이언트가 형식을 지원하지 않는다고 명확히 표시하면 잘못된 클라이언트 유형을 선택했는지, 또는 패널에 해당 형식의 구독 진입점이 제공되는지 확인해야 합니다.
사용자 패널에서 발급받아 안전하게 보관하기
발급하려면 먼저 서비스의 사용자 패널에 로그인한 뒤 계정 개요, 회선 관리 또는 구독 영역으로 이동하세요. 메뉴 이름은 다를 수 있지만 일반적으로 “구독 복사”, “클라이언트로 가져오기” 또는 클라이언트 이름이 표시된 진입점을 찾으면 됩니다. 일반 구독과 특정 클라이언트용 구독을 모두 제공한다면 모든 링크를 시도하기보다 현재 사용하는 앱에 맞는 형식을 우선 선택하세요.
- 신뢰할 수 있는 기기에서 사용자 패널을 열고 현재 로그인한 계정이 본인 계정인지 확인하세요.
- 구독 또는 회선 영역에서 링크 옆에 표시된 지원 클라이언트와 형식을 확인하세요.
- 복사 버튼으로 전체 링크를 가져오세요. 직접 드래그해 선택하면 일부 문자가 빠질 수 있습니다.
- 가져오기가 끝나면 바로 클라이언트로 전환하세요. 링크를 채팅 기록이나 공개 메모에 장기간 남겨 두지 마세요.
- 가져온 뒤 구독 이름, 노드 목록과 업데이트 시간을 확인한 다음 연결을 테스트하세요.
- ✅ 서비스의 공식 사용자 패널에서 링크를 복사하세요.
- ✅ 클라이언트 유형에 맞는 구독 형식을 선택하세요.
- ✅ 링크를 계정 인증 정보처럼 보관하고 관리되는 기기 사이에서만 전달하세요.
- ✅ 문제 해결을 위해 스크린샷을 찍을 때 전체 링크, 인증 문자열과 QR 코드를 가리세요.
- ❌ 출처가 불분명한 온라인 변환 페이지에 링크를 붙여 넣지 마세요.
- ❌ 다른 사람과 구독 주소를 공유하거나 노드 설정을 공개하지 마세요.
QR 코드는 구독 정보를 표시하는 또 다른 방식일 뿐, 민감도가 자동으로 낮아지는 것은 아닙니다. QR 코드를 선명하게 볼 수 있는 사람은 그 안의 내용을 읽으려 할 수 있습니다. 따라서 본인 기기 사이에서만 스캔하고, 문제 해결용 스크린샷에서도 QR 코드 영역을 피하세요. 브라우저 기록, 클립보드 동기화와 클라우드 메모도 링크가 저장되는 범위를 넓힐 수 있으므로 사용 후 기기 환경에 따라 불필요한 사본을 정리하세요.
플랫폼별 클라이언트 가져오기 방법
플랫폼마다 버튼 위치는 다르지만 기본 흐름은 같습니다. 새 구독 설정을 만들고 링크를 붙여 넣은 뒤 이름을 지정해 저장하고 업데이트한 다음 노드 그룹에서 회선을 선택합니다. 구독 링크를 “단일 노드 수동 추가”의 서버 주소 입력란에 붙여 넣지 마세요. 해당 입력란은 보통 호스트명이나 네트워크 주소만 받으며 전체 구독을 해석하지 못합니다.
| 플랫폼 | 일반적인 진입점 | 가져온 후 중점적으로 확인할 항목 |
|---|---|---|
| Windows | 구독 관리, 설정 관리 또는 URL에서 가져오기 | 시스템 프록시 모드, 규칙 모드, 백그라운드 실행 상태 |
| macOS | 설정 파일, 원격 설정 또는 메뉴 막대 구독 | 시스템 네트워크 권한, 프록시 적용 범위, 절전 후 상태 |
| Android | 구독 그룹, 클립보드에서 가져오기 또는 QR 코드 스캔 | 시스템 VPN 권한, 배터리 절전 정책, 앱별 프록시 |
| iOS 및 iPadOS | 원격 설정, 구독 주소 또는 QR 코드로 가져오기 | 시스템 VPN 설정 승인, 주문형 연결, 규칙 지원 |
| Linux | 설정 제공자, 명령줄 설정 또는 그래픽 클라이언트 | 실행 권한, 환경 변수, DNS 및 라우팅 테이블 |
| 라우터 | 플러그인의 구독 관리 또는 설정 업데이트 | 펌웨어 호환성, 저장 공간, 규칙 적용 범위 |
데스크톱 시스템: 먼저 트래픽 적용 방식을 확인하세요
Windows와 macOS 클라이언트는 보통 시스템 프록시, 가상 네트워크 인터페이스 또는 규칙 모드를 함께 제공합니다. 구독을 가져온 뒤 노드가 목록에 나타났다고 해서 모든 앱에 설정이 적용된 것은 아닙니다. 시스템 프록시만 켜면 시스템 프록시 설정을 따르지 않는 소프트웨어는 계속 직접 연결할 수 있습니다. 가상 네트워크 인터페이스 모드는 적용 범위가 더 넓지만 해당 시스템 권한이 필요하며 다른 네트워크 도구, 가상화 소프트웨어 또는 기업 네트워크 정책과 충돌하기도 쉽습니다.
문제 해결 시 네트워크를 중복으로 제어하는 도구를 먼저 종료하고 클라이언트 하나만 실행하세요. 브라우저는 접속되지만 특정 데스크톱 앱이 접속되지 않는다면 해당 앱이 자체 프록시를 설정했는지, 특정 DNS를 고정해 사용하는지, 현재 분할 라우팅 규칙이 대상 도메인을 직접 연결로 판단했는지 확인하세요.
모바일 시스템: 권한과 백그라운드 정책이 더 중요합니다
Android에서 가져온 뒤에는 보통 시스템 VPN 권한을 확인해야 합니다. 일부 클라이언트는 앱별 프록시를 지원하므로 지정한 앱만 회선을 사용하고 나머지는 직접 연결하도록 설정할 수 있습니다. 시스템의 배터리 절전 제한이 켜져 있으면 클라이언트가 백그라운드에서 일시 중지되어 화면을 잠근 뒤 연결이 끊기거나 알림 영역의 상태가 사라질 수 있습니다. 시스템 설정에서 클라이언트가 필요한 백그라운드 실행을 유지하도록 허용하되 관련 없는 권한까지 부여할 필요는 없습니다.
iOS 및 iPadOS 클라이언트는 시스템이 제공하는 네트워크 확장 기능에 의존합니다. 처음 활성화할 때 VPN 설정 추가를 요청하며, 구독 업데이트는 일반적으로 클라이언트 내부에서 진행됩니다. 시스템 상태 막대에 연결됨으로 표시되어도 네트워크 확장이 실행 중이라는 뜻일 뿐, 대상 요청이 예상대로 분할 라우팅되고 있음을 단독으로 증명하지는 않습니다. 클라이언트 로그, 현재 정책 그룹과 실제 조회 결과를 함께 확인해야 합니다.
라우터: 먼저 형식과 리소스를 확인하세요
라우터는 가정 내 네트워크를 통합 관리하는 데 적합하지만, 가져오기 전에 펌웨어 플러그인이 구독에 포함된 프로토콜을 해석할 수 있는지 확인해야 합니다. 오래된 코어는 Hysteria2, TUIC 또는 최신 VLESS 전송 매개변수를 인식하지 못할 수 있으며, 일부 노드가 사라지거나 설정 업데이트 후 서비스가 시작되지 않을 수 있습니다. 이 경우 먼저 호환 코어를 업데이트하거나 패널에서 제공하는 호환 형식을 사용하고, 이해하지 못한 필드를 임의로 삭제하지 마세요.
구독 업데이트는 얼마나 자주 해야 하나요
모든 서비스와 클라이언트에 적용되는 고정 새로 고침 주기는 없습니다. 업데이트의 목적은 연결 속도를 높이는 것이 아니라 서버의 최신 설정을 동기화하는 데 있습니다. 패널에서 회선 변경을 안내하거나, 노드 이름이 바뀌거나, 기존 노드를 계속 사용할 수 없거나, 클라이언트를 오랫동안 열지 않았거나, 서비스에서 설정 새로 고침을 요구할 때 수동으로 한 번 업데이트하세요.
클라이언트가 자동 업데이트를 제공한다면 사용 빈도에 맞춰 활성화할 수 있지만 업데이트를 실시간 속도 측정으로 이해해서는 안 됩니다. 업데이트는 보통 설정을 다시 다운로드하는 작업일 뿐이며, 현재 네트워크에 적합한 노드인지는 실제 연결로 확인해야 합니다. 지나치게 자주 새로 고쳐도 로컬 DNS, 시스템 프록시 충돌, 오래된 프로토콜 코어 또는 네트워크 연결 불가 문제는 해결되지 않습니다.
- 클라이언트에서 현재 구독 그룹을 찾아 업데이트 또는 새로 고침을 실행하세요.
- 설정 해석이 완료될 때까지 기다리며 명확한 오류 메시지가 표시되는지 확인하세요.
- 노드 수와 이름이 합리적으로 바뀌었는지 확인하세요. “성공”이라는 메시지만 보지 마세요.
- 대상 노드 또는 정책 그룹을 다시 선택하고 필요하면 연결을 끊었다가 다시 연결하세요.
- 연결 아이콘만 보지 말고 웹페이지 접속, DNS 조회와 실제로 사용할 앱을 확인하세요.
일부 클라이언트는 구독을 업데이트해도 다시 연결할 때까지 현재 실행 중인 이전 설정을 유지하고, 일부는 즉시 다시 불러옵니다. 목록은 바뀌었지만 연결 동작이 그대로라면 먼저 연결을 끊고 다시 연결한 뒤 클라이언트를 재시작하세요. 전체 구독을 바로 삭제하는 것은 마지막 단계로 미루는 편이 좋습니다. 삭제하면 로컬 그룹, 정책 선택 또는 사용자 지정 덮어쓰기 설정도 함께 지워질 수 있습니다.
분할 라우팅 규칙과 DNS를 함께 확인해야 하는 이유
구독이 노드를 제공한다고 해서 모든 클라이언트가 같은 규칙을 자동으로 적용하는 것은 아닙니다. 규칙 모드는 보통 도메인, 네트워크 주소, 앱 또는 규칙 모음에 따라 요청을 프록시로 보낼지 직접 연결할지 결정합니다. 전역 모드는 더 많은 트래픽을 현재 노드로 보내고, 직접 연결 모드는 노드를 거칩니다. 모드를 잘못 선택하면 노드 연결이 정상이어도 대상 웹사이트가 로컬 네트워크를 통해 접속될 수 있습니다.
DNS 누출은 “연결은 프록시로 처리하지만 도메인 조회는 로컬에서 수행하는” 조합에서 흔히 발생합니다. 문제는 개인정보 보호에만 국한되지 않습니다. 조회 결과와 출구 지역이 일치하지 않아 웹사이트가 잘못된 버전으로 열리거나, 연결이 우회되거나, 도메인에 접속할 수 없게 될 수 있습니다. 클라이언트가 원격 DNS, 프록시 DNS 또는 가상 DNS를 지원한다면 각 옵션과 현재 모드의 관계를 이해하고, 여러 시스템 수준 DNS 도구를 동시에 사용하지 마세요.
- ✅ 연결 전에 현재 모드가 규칙, 전역 또는 직접 연결 중 무엇인지 확인하세요.
- ✅ 대상 도메인이 예상한 규칙과 정책 그룹에 일치하는지 확인하세요.
- ✅ 브라우저의 보안 DNS, 시스템 DNS와 클라이언트 DNS가 서로 덮어쓰지 않는지 확인하세요.
- ✅ 노드를 바꾼 뒤 조회와 출구를 다시 확인하고 이전 캐시만으로 판단하지 마세요.
- ❌ 모든 접속 이상을 노드 장애로 단정하지 마세요.
- ❌ 시스템 프록시나 라우팅 테이블을 수정하는 클라이언트를 여러 개 동시에 실행하지 마세요.
특정 앱이 계속 프록시를 거치지 않는다면 먼저 독립 네트워크 스택이나 자체 프록시를 사용하는지 확인하세요. Android의 앱별 프록시는 해당 앱이 포함 목록에 있는지 제외 목록에 있는지도 확인해야 합니다. 데스크톱 클라이언트는 시스템 프록시가 실제로 켜져 있는지, 앱이 시스템 프록시를 무시하는지 점검하세요. 가상 네트워크 인터페이스 모드는 더 많은 앱을 적용할 수 있지만 방화벽, 기업 정책과 로컬 라우팅 우선순위의 영향을 받을 수 있습니다.
링크 유출 후 처리 절차
구독 링크를 공개 그룹, 포럼, 지원 티켓 스크린샷의 공개 영역에 올렸거나 데이터 처리 방식을 확인할 수 없는 도구에 제출했다면 메시지만 삭제하고 기존 링크를 계속 사용하지 마세요. 메시지가 이미 캐시되거나 전달되었거나 읽혔을 수 있습니다. 올바른 방법은 기존 링크를 무효화한 뒤 본인의 클라이언트에 새 링크를 가져오는 것입니다.
- 사용자 패널에서 구독 재설정, 구독 토큰 업데이트 또는 링크 재생성 기능을 찾으세요.
- 재설정을 실행하고 기존 구독으로 더 이상 설정을 가져올 수 없는지 확인하세요.
- 모든 본인 클라이언트에서 기존 구독 주소를 삭제하여 자동 업데이트가 이전 진입점에 계속 요청을 보내지 않도록 하세요.
- 새 링크를 복사해 다시 가져오고 기존 노드 선택과 분할 라우팅 설정을 복원하세요.
- 링크를 저장했던 위치를 확인하고 공개 스크린샷, 공유 문서와 불필요한 동기화 사본을 정리하세요.
구독 재설정은 일반적으로 설정에 접근하는 인증 정보를 대상으로 하며 계정 비밀번호 변경과는 다릅니다. 유출 범위에 로그인 인증 정보까지 포함되었다면 계정 보안도 별도로 처리하세요. 반대로 계정 비밀번호만 변경한다고 기존 구독 링크가 자동으로 무효화되는 것은 아니므로 패널의 구독 재설정 결과를 기준으로 판단해야 합니다. 재설정 메뉴를 찾을 수 없다면 공식 지원 채널을 통해 “구독 주소가 유출되었을 수 있음”을 알리고 기존 주소를 무효화해 달라고 요청하세요.
가져오기 실패 시 빠르게 원인 찾기
문제 해결은 “링크를 읽을 수 있는가”부터 시작해 “내용을 해석할 수 있는가”, 마지막으로 “노드에 연결할 수 있는가”를 확인하는 순서로 진행하세요. 세 단계의 오류 양상은 서로 다릅니다. 이를 한데 섞으면 클라이언트를 반복 설치하거나 노드를 계속 바꾸면서도 원인을 찾지 못하기 쉽습니다.
| 증상 | 일반적인 원인 | 우선 조치 |
|---|---|---|
| 주소가 유효하지 않다는 메시지가 표시됨 | 복사가 완전하지 않거나 공백이 섞였거나 링크가 재설정됨 | 패널로 돌아가 전체 주소를 다시 복사 |
| 다운로드는 되지만 해석되지 않음 | 구독 형식과 클라이언트가 호환되지 않음 | 해당 클라이언트 형식을 선택하거나 코어 업데이트 |
| 일부 노드만 표시됨 | 클라이언트가 일부 프로토콜 또는 필드를 지원하지 않음 | 클라이언트와 프로토콜의 호환성 확인 |
| 노드는 있지만 연결에 실패함 | 네트워크에 연결할 수 없거나 권한이 부족하거나 매개변수를 지원하지 않음 | 연결 로그를 확인하고 호환되는 회선으로 변경 |
| 브라우저는 되지만 앱은 되지 않음 | 앱에 시스템 프록시가 적용되지 않았거나 분할 라우팅이 잘못됨 | 프록시 모드와 앱 규칙 확인 |
| 업데이트 후에도 이전 설정이 유지됨 | 로컬 캐시 또는 실행 중인 설정이 다시 로드되지 않음 | 연결을 끊고 구독을 새로 고친 뒤 클라이언트 재시작 |
로그를 확인할 때 다운로드 오류, 인증 오류, 해석 오류, DNS 오류와 연결 시간 초과가 어느 단계에 해당하는지 중점적으로 구분하세요. 로그에는 서버 주소나 설정 일부가 포함될 수 있으므로 지원 담당자에게 제출하기 전에 안내에 따라 민감한 내용을 처리해야 합니다. 문제 해결을 위해 전체 구독 링크를 공개 토론 공간에 붙여 넣지 마세요.
같은 구독을 한 클라이언트에서는 가져올 수 있지만 다른 클라이언트에서는 실패한다면 먼저 형식과 프로토콜 지원 여부를 확인하세요. 모든 기기에서 같은 링크를 읽지 못한다면 링크 상태나 서버 설정을 우선 점검해야 합니다. 특정 네트워크 환경에서만 연결되지 않고 네트워크를 바꾸면 복구된다면 로컬 DNS, 라우팅, 방화벽 또는 네트워크 연결 가능성을 계속 확인하세요.