구독 링크는 토큰이 붙은 하나의 주소입니다. 클라이언트가 이 주소를 불러와 서버 목록으로 디코딩하는데, 서버 주소·포트·프로토콜·암호화 방식·전송 계층 파라미터가 모두 그 안에 들어 있습니다. 그래서 구독 링크는 설정의 출처인 동시에 계정 자격 증명 역할도 합니다.
대부분은 이를 평범한 URL처럼 다룹니다. 복사하고, 붙여넣고, 잊어버리죠. 그러다 기기를 바꾸거나 서버가 응답하지 않거나, 링크를 다른 사람이 보게 되고 나서야 이 주소를 관리해야 한다는 걸 알게 됩니다. 아래에서는 '무엇인지, 어디서 받는지, 어떻게 가져오는지, 얼마나 자주 갱신되는지, 유출되면 어떻게 해야 하는지' 다섯 가지로 나눠, 각 단계마다 바로 따라 할 수 있는 동작을 제시합니다.
구독 링크의 구성: 네 가지 정보와 하나의 토큰
구독 링크의 골격은 단순합니다. 도메인, 경로, 그리고 token 파라미터 하나입니다.
https://sub.example.com/summit/2024/client/subscribe?token=9f2c8a1e4b7d
도메인과 경로는 서버가 정하고, token은 계정에 묶인 임의 문자열로 보통 UUID 또는 32자리 16진수 형태입니다. 서버는 요청을 받으면 먼저 token을 검증한 뒤, 계정 상태(요금제 유효 기간, 트래픽 소진 여부)에 맞는 서버 목록을 만들어 돌려줍니다. token이 틀리면 403 또는 빈 목록이, token은 맞지만 요금제가 만료됐다면 역시 빈 목록이 돌아옵니다.
돌려받는 형식은 크게 두 가지입니다. 하나는 Base64로 인코딩된 여러 줄 URI로, 디코딩하면 한 줄에 서버 하나씩이며 접두사는 ss://, vmess://, trojan://, vless://, hysteria2://, tuic://입니다. 다른 하나는 YAML로, Clash와 Mihomo 계열 클라이언트가 읽으며 proxies, proxy-groups, rules 세 부분으로 나뉩니다.
서버 한 줄을 뜯어보면 네 가지 정보가 보입니다.
- 프로토콜과 자격 증명: Shadowsocks의 암호화 방식과 비밀번호, VMess와 VLESS의 UUID, Trojan의 비밀번호, Hysteria2와 TUIC의 인증 문자열.
- 접속 주소: 서버 도메인 또는 IP와 포트. 직결 입구일 수도 있고 중계 입구일 수도 있는데, 클라이언트 화면에서는 구분되지 않지만 실제 경로는 다릅니다.
- 전송 계층 파라미터: WebSocket의 path와 host, gRPC의 serviceName, TLS의 SNI와 ALPN, TUIC는 여기에 혼잡 제어 알고리즘까지 붙습니다.
- 토큰: 구독 링크 자체에만 존재하고 어떤 서버 줄에도 기록되지 않습니다. 그래서 서버 하나를 공유하는 것과 구독 링크 전체를 공유하는 것은 피해 규모가 다릅니다. 후자는 계정을 통째로 넘기는 것과 같습니다.
| 항목 | 구독 링크 | 단일 서버 링크 |
|---|---|---|
| 내용 | 계정 상태에 따라 바뀌는 서버 목록 | 고정된 서버 하나 |
| 형식 | HTTPS 주소, Base64 텍스트 또는 YAML 반환 | ss://, vmess:// 같은 한 줄 URI |
| 갱신 방식 | 클라이언트가 주기적으로 가져오고, 서버 변경이 자동 반영됨 | 직접 교체해야 하며, 입구가 바뀌면 다시 가져와야 함 |
| 유출 영향 | 계정 자격 증명과 같아 장기간 재사용될 수 있음 | 영향은 서버 하나에 그치지만 역시 재사용될 수 있음 |
| 적합한 상황 | 여러 기기, 서버 구성이 자주 바뀌는 경우 | 임시 테스트, 한 대에서 고정 사용 |
어디서 받는가: 정식 경로와 위험한 경로
구독 링크가 정당하게 존재하는 곳은 세 군데뿐입니다. 본인 계정의 서비스 패널, 직접 구축한 서버 패널, 그리고 서비스가 안내한 대체 도메인입니다. 그 밖의 출처는 먼저 의심해 보는 게 좋습니다.
서비스 패널
VPNQF를 예로 들면, 패널에 로그인한 뒤 구독 페이지에서 전체 링크를 복사하거나 QR 코드를 저장할 수 있습니다. 이 사이트는 가입 시 아이디와 비밀번호만 필요하고 이메일 주소는 받지 않으므로, 구독 링크가 메일로 발송되는 일은 없습니다. 유출 경로가 하나 줄어드는 셈이고, 대신 링크를 잃어버리면 메일함을 뒤지는 대신 패널에서 다시 복사해야 합니다.
직접 구축한 서버
패널로 직접 구축할 때 구독 메뉴는 보통 '클라이언트' 또는 '구독' 페이지에 있고, 생성 규칙은 패널 설정에 따릅니다. 사용자별로 통합 구독 하나를 만드는 경우도, 프로토콜별로 따로 만드는 경우도 있습니다. 직접 구축하면 토큰을 스스로 관리할 수 있지만, 서버 유지보수와 인증서 갱신도 직접 해야 합니다.
위험한 출처
포럼, 단체 채팅방, 공개 저장소에 떠도는 '공개 구독'은 그것이 반드시 문제라는 뜻이 아니라, 검증할 수 없다는 점이 문제입니다. 트래픽이 누구의 서버를 거치는지, 상대가 접속 대상을 기록하는지, 링크가 언제 만료되는지는 전부 알 수 없습니다. 이런 주소는 보통 며칠 안에 만료되어 일회용에 가깝고, 일상적으로 쓰는 기기에 두기에는 적합하지 않습니다.
- ✅ 본인 계정 패널에서 복사하고, 복사한 뒤 도메인이 서비스의 주 도메인 또는 공식 대체 도메인인지 확인
- ✅ 링크는 비밀번호 관리자나 로컬 암호화 메모에 보관하고, 채팅창에 붙여넣지 않기
- ✅ 기기를 바꿀 때는 패널에서 다시 받아오고, 예전 스크린샷에 있던 링크를 재사용하지 않기
- ✅ 주 도메인 접속이 안 될 때는 '최신 사용 가능 구독'을 검색하는 대신 대체 구독 주소 사용
- ❌ 출처가 불분명한 공개 구독은 사용하지 않기 — 트래픽이 누구의 서버를 거치는지 확인할 수 없습니다
- ❌ 전체 링크를 단체 채팅방, 공개 저장소, 문의 스크린샷에 남기지 않기
- ❌ 제3자 '구독 변환' 사이트로 본인 링크를 처리하지 않기 — 변환 서비스가 원본 주소를 확보합니다
가져오기: 다섯 플랫폼의 조작 경로
어떤 클라이언트든 가져오기 절차는 같은 다섯 단계이며, 차이는 메뉴 위치뿐입니다.
- 패널에서 구독 링크를 복사하거나 QR 코드를 저장합니다.
- 클라이언트를 열고 '구독', '프로필' 또는 '설정' 그룹을 찾습니다.
- 새 항목을 만들고 링크를 붙여넣은 뒤, 용도나 기기 기준으로 알아보기 쉬운 이름을 붙입니다.
- 저장한 뒤 바로 '업데이트'를 한 번 눌러 서버 목록이 비어 있지 않은지 확인합니다.
- 서버 하나를 선택해 연결하고, 접속 IP를 보여주는 페이지를 열어 IP가 로컬 네트워크가 아닌지 확인합니다.
| 플랫폼 | 주요 클라이언트 | 가져오기 메뉴 | 주의할 점 |
|---|---|---|---|
| Windows | v2rayN、Clash Verge | 구독 그룹 설정 / 프로필 → 새로 만들기 | 붙여넣은 뒤 업데이트를 한 번 더 눌러야 목록이 채워집니다 |
| macOS | ClashX Meta、Stash | 메뉴 막대 → 프로필 → 관리형 프로필 | 처음 가져올 때 네트워크 권한을 요청하며, 거부하면 가져오기에 실패합니다 |
| Android | v2rayNG、Clash Meta | 사이드 메뉴 → 구독 설정 | 백그라운드 실행을 허용해야 정기 갱신이 동작합니다 |
| iOS / iPadOS | Shadowrocket、Stash | 홈 → 구독 추가 | 클라이언트의 App Store 등록 여부는 지역에 따라 다릅니다 |
| 라우터 | OpenClash、PassWall | 프로필 구독 | 라우터 메모리가 한정적이므로 서버가 많으면 자주 쓰는 그룹만 남기기 |
가져온 뒤 확인할 세 가지
첫째, 서버 수가 패널 표시와 일치하는지 봅니다. 적다면 가져오기가 덜 된 것이니 다시 업데이트합니다. 둘째, 아무 서버나 골라 연결한 뒤 접속 IP를 보여주는 페이지에서 IP가 바뀌었는지 확인합니다. 셋째, 클라이언트에 표시되는 지연 수치를 곧이곧대로 믿지 않습니다. 그 값은 로컬에서 입구까지 핸드셰이크 한 번에 걸린 시간일 뿐, 실제 다운로드 속도나 피크 시간대 성능과는 직접적인 관계가 없습니다. 입구가 중국 본토에 있는 중계 서버는 지연이 낮게 나오지만 속도는 출구 대역폭이 결정합니다.
놓치기 쉬운 부분이 하나 더 있습니다. 바로 DNS입니다. Clash 계열 구독에 dns 항목이 있다면 nameserver가 통신사 주소로 되어 있지 않은지 확인하세요. 로컬 DNS로 조회하면 도메인 질의가 터널 밖으로 노출되는데, 이를 DNS 유출이라고 합니다. 클라이언트 기본 설정이 모든 네트워크 환경에 맞는 것은 아니므로, 가져온 뒤 1분만 확인해 두면 나중에 문제를 쫓아다니는 수고를 덜 수 있습니다.
얼마나 자주 갱신되나: 클라이언트 주기와 서버 변경
구독은 실시간 푸시가 아닙니다. 패널에서 서버를 추가해도 클라이언트에 곧바로 나타나지 않고, 다음 가져오기 시점이나 직접 업데이트를 눌렀을 때 반영됩니다. 그래서 '얼마나 자주 갱신되나'는 사실 두 가지 질문입니다. 클라이언트가 얼마나 자주 가져오는가, 그리고 서버 쪽은 언제 바뀌는가.
클라이언트 기본 주기
Clash와 Mihomo 계열 클라이언트는 서버가 돌려주는 profile-update-interval 응답 헤더를 읽으며, 흔한 값은 24시간입니다. v2rayNG, Shadowrocket 같은 클라이언트는 구독 항목에서 자동 갱신 스위치와 주기를 따로 제공합니다. 일상 사용에는 24시간이면 충분하고, 서버 구성이 자주 바뀐다면 6시간으로 줄여도 되지만 몇 분 단위까지 낮추는 것은 권하지 않습니다. 서버는 보통 가져오기 빈도에 제한을 두기 때문에, 한도에 걸리면 클라이언트에는 업데이트 실패만 표시되어 오히려 원인을 파악하기 어려워집니다.
서버 쪽은 언제 바뀌나
- 서버를 추가하거나 내리면 서버 수가 함께 바뀝니다.
- 입구 주소가 바뀝니다. 예를 들어 중계 입구나 도메인을 교체하는 경우입니다.
- 인증서가 교체되면 TLS 관련 파라미터도 함께 갱신됩니다.
- 요금제가 만료되거나 트래픽이 소진되면 목록이 비거나 안내용 서버만 남습니다.
'모든 서버 시간 초과'가 뜨면 올바른 순서는 먼저 구독을 수동으로 한 번 갱신하고, 그다음 특정 서버의 문제인지 확인하는 것입니다. 갱신 후 목록은 정상인데 연결이 안 된다면 문제는 구독 자체가 아니라 연결 경로나 로컬 네트워크에 있습니다.
구독에서 받을 수 있는 것은 계정에 연결된 서버 풀에 따라 달라집니다. VPNQF 구독은 90+ 국가, 220+ 서버를 포함하며 동시 접속 기기 수에 제한이 없고, 60일 이내에는 이유를 묻지 않는 환불이 가능합니다.
링크가 유출됐다면: 토큰 재설정과 대응 순서
구독 링크 안의 token이 곧 자격 증명입니다. 이를 손에 넣은 사람은 아이디와 비밀번호 없이도 같은 서버 목록을 받아 여러분의 트래픽을 쓸 수 있습니다. 이 사이트는 동시 접속 기기 수에 제한이 없어서 다른 사람이 쓴다고 해서 접속이 끊기지는 않지만, 트래픽은 같은 풀에서 나가므로 사용량이 계정에 잡힙니다.
링크가 공개된 곳에 올라간 것을 발견했다면 아래 순서로 처리하세요. 비밀번호부터 바꾸지 마세요. 비밀번호를 바꿔도 기존 링크는 살아 있습니다.
- 패널에서 구독 토큰을 재설정하거나 '구독 주소 재설정'을 누릅니다. 이 단계에서 기존 링크는 즉시 오류를 반환하고, 옛 링크를 쓰던 모든 클라이언트의 갱신이 실패합니다.
- 각 기기에서 예전 구독 항목을 삭제하고 새 링크를 붙여넣은 뒤 수동으로 한 번 갱신합니다.
- 하루이틀 트래픽 사용량을 지켜보며 비정상적인 증가가 없는지 확인합니다.
- 유출 경로를 돌아봅니다. 스크린샷이었는지, 채팅 기록이었는지, 아니면 온라인 변환 서비스였는지.
흔한 오해와 자가 점검
오해 1: 구독 링크가 곧 서버 링크다
아닙니다. 구독 링크는 목록을 가리키고, 서버 링크는 그 목록의 한 줄입니다. 전자는 계정 상태에 따라 바뀌고, 후자는 고정된 서버 하나라서 입구가 조정되면 다시 가져와야 합니다.
오해 2: 구독을 갱신하면 요금제 트래픽이 소모된다
아닙니다. 가져오는 것은 보통 몇 KB에서 수십 KB 정도의 텍스트로, 웹페이지 하나 여는 것과 비슷하며 요금제 트래픽에 포함되지 않습니다.
오해 3: 링크가 열리면 서버도 쓸 수 있다
꼭 그렇지는 않습니다. 설정을 받아올 수 있다는 것은 토큰이 유효하고 계정 상태가 정상이라는 뜻일 뿐, 서버 연결 여부는 실제로 한 번 연결해 봐야 알 수 있습니다. 반대로 링크가 열리지 않는다고 해서 토큰이 만료된 것만은 아니니, 먼저 로컬 네트워크에서 그 도메인에 접속할 수 있는지 확인하세요.
- ✅ 구독 링크는 본인 기기와 비밀번호 관리자에만 보관
- ✅ 기기마다 따로 가져오고, 이름에 기기나 용도를 붙여 두면 문제 파악이 빠름
- ✅ 24시간 자동 갱신을 유지하고, 연결이 안 되면 먼저 수동 갱신 후 판단
- ✅ 기기를 바꾸거나 유출이 의심되면 패널에서 토큰을 재설정한 뒤 다시 가져오기
- ❌ 전체 링크를 채팅, 스크린샷, 공개 저장소에 올리지 않기
- ❌ 구독 링크를 지인에게 '빌려주기' 식으로 넘기지 않기 — 트래픽과 책임이 모두 계정에 남습니다