Clash 구독 링크 가져오기 가이드: URL 형식 구분과 변환 방법
구독 링크를 받으면 Clash 설정 직링크인지 범용 공유 형식인지 먼저 구분하세요. 클라이언트별 가져오기 방법, 형식 차이, 변환 방법과 노드가 비어 보일 때 점검 순서를 정리했습니다.
구독 링크는 한 가지 형식만 있는 게 아니다
많은 사람이 구독 링크를 받으면 바로 클라이언트에 붙여넣는데, 가져오기가 실패하거나 노드 목록이 비어 보이는 경우가 많습니다. 문제는 대체로 클라이언트 자체가 아니라 링크 형식이 클라이언트가 기대하는 형식과 맞지 않아서 생깁니다. 구독 링크는 크게 세 가지로 나뉘며, 형식을 먼저 파악하고 시작하면 상당한 점검 시간을 줄일 수 있습니다.
첫 번째는 Clash 네이티브 설정 직링크입니다. 이 URL에 요청을 보내면 proxies, proxy-groups, rules 등의 필드가 포함된 YAML 텍스트가 그대로 반환됩니다. 본질적으로 서버에서 필요에 따라 생성되는 완전한 Clash 설정 파일입니다. 이런 링크는 Clash, Clash Meta(mihomo 커널) 계열 클라이언트에서 가장 손이 덜 가며, 가져오기만 하면 바로 사용할 수 있고 별도 변환이 필요 없습니다.
두 번째는 범용 공유 프로토콜 통합 링크입니다. 반환되는 내용은 vmess://, ss://, trojan://, ssr:// 노드 링크 여러 개를 이어붙인 뒤 전체를 Base64로 인코딩한 것입니다. 이 형식은 원래 V2rayN, Shadowrocket 같은 클라이언트를 위해 만들어진 범용 교환 형식으로, Clash 커널은 이 형식을 그대로 인식하지 못하므로 반드시 YAML로 변환해야 사용할 수 있습니다.
세 번째는 구독 변환 서비스가 생성한 중계 링크입니다. 사용자가 원본 구독을 온라인 변환 백엔드에 넣으면 백엔드가 새로운 URL을 발급하고, 이 새 URL에 접속해야 Clash가 읽을 수 있는 YAML이 반환됩니다. 사용 경험은 첫 번째 유형과 마찬가지로 "바로 가져오기"이지만, 변환 서버가 한 단계 더 끼어 있어 업데이트 시점도 그 변환 서버가 정상 작동하는지에 좌우된다는 차이가 있습니다.
링크 유형을 빠르게 구분하는 방법
어떤 유형인지 확실하지 않다면 가장 간단한 방법은 링크를 브라우저 주소창에 붙여넣어 직접 접속해서 반환되는 원본 텍스트를 확인하는 것입니다. 아래 기준으로 판단하면 됩니다.
- 반환 내용이
proxies:,proxy-groups:,rules:로 시작하거나 이런 핵심 필드를 포함하며 읽을 수 있는 키-값 구조라면 — Clash 네이티브 YAML이므로 바로 사용하면 됩니다. - 반환 내용이 뒤섞인 영숫자 한 덩어리로, 길이가 4의 배수이고 끝에
=기호가 하나나 두 개 붙어 있다면 — Base64로 인코딩된 노드 목록일 가능성이 크므로 변환이 필요합니다. - 반환 내용에서
vmess://,ss://,trojan://접두사가 눈으로 바로 보인다면 — 인코딩되지 않은 범용 공유 링크 모음이므로 마찬가지로 변환이 필요합니다. - 응답 헤더의
Content-Type이text/yaml또는application/x-yaml이면 거의 Clash 직링크로 확인할 수 있고,text/plain이라면 내용을 직접 봐야 판단할 수 있습니다.
브라우저로 접속하기 번거롭다면 링크를 클라이언트에 직접 붙여넣어 한 번 시도해봐도 됩니다. 대부분의 클라이언트는 가져오기에 실패하면 "설정을 해석할 수 없음", "지원하지 않는 형식" 같은 안내를 표시하므로 이를 2차 확인 근거로 활용할 수 있습니다.
클라이언트별 가져오기 진입점
플랫폼마다 클라이언트 화면은 꽤 다르지만 구독을 가져오는 동작 흐름은 대체로 "URL 붙여넣기 → 이름 지정 → 저장 및 다운로드" 세 단계로 일치합니다.
Windows / macOS 데스크톱 클라이언트
설정 관리 또는 구독 관리 화면에서 추가 버튼을 찾아 구독 URL을 붙여넣고 알아보기 쉬운 이름을 입력합니다. 확인하면 클라이언트가 즉시 요청을 보내 내용을 가져옵니다. 클라이언트가 자동 업데이트 주기를 설정할 수 있다면 12~24시간 간격으로 설정해 두는 것이 좋습니다. 수동 업데이트를 놓쳐 노드 정보가 오래되는 상황을 막을 수 있습니다.
Android 클라이언트
안드로이드 클라이언트는 대개 메인 화면의 설정 또는 구독 목록에 추가 버튼이 있고, URL 붙여넣기와 구독 QR 코드 스캔 두 가지 방식을 지원합니다. QR 스캔은 PC에서 스마트폰으로 공유하는 상황에 적합하며 긴 링크를 손으로 입력하다가 실수하는 것을 막을 수 있습니다.
iOS 클라이언트
iOS 클라이언트는 대부분 시스템 공유 메뉴나 앱 내 붙여넣기 두 가지 경로를 사용하며, 일부 클라이언트는 Safari 확장 기능으로 페이지 안의 구독 링크를 인식해 원클릭으로 바로 가져올 수 있어 수동 복사 붙여넣기 과정을 줄여줍니다.
범용 공유 형식을 Clash 설정으로 변환하는 방법
가지고 있는 것이 vmess:///ss:// 같은 통합 링크라고 확인됐다면, 흔히 쓰는 처리 방식은 두 가지입니다.
첫 번째는 구독 변환 서비스를 이용하는 것입니다. 원본 구독 링크를 파라미터로 변환 백엔드에 전달하면 백엔드가 각 노드 정보를 해석해 Clash가 인식할 수 있는 YAML을 새로 생성하고, 생성된 결과의 접속 주소를 새 구독 URL로 클라이언트에 사용합니다. 이 방식은 수동 작업이 거의 필요 없지만 변환 서버가 장기간 정상 운영되어야 하며, 서비스가 멈추거나 요청 제한이 걸리면 구독도 함께 무효화됩니다.
두 번째는 수동으로 직접 변환하는 것입니다. Base64 내용을 디코딩해 평문 노드 목록으로 복원한 뒤 Clash의 proxies 필드 구조에 맞춰 하나씩 다시 작성합니다. Shadowsocks 노드를 예로 들면, 가장 간단한 Clash 프록시 항목은 대략 다음과 같습니다.
proxies:
- name: "예시 노드-01"
type: ss
server: example.example.com
port: 443
cipher: aes-256-gcm
password: "your-password"
udp: true
수동 변환의 장점은 제3자 서버에 의존하지 않는 것이지만, 노드 수가 많아지면 실수하거나 필드를 빠뜨리기 쉬워지므로 대개 노드 수가 적고 장기적인 안정성을 중요시하는 상황에서만 권장합니다. 일상적으로는 네이티브 Clash 직링크나 안정적인 변환 서비스를 우선 선택하는 것이 좋습니다.
여기서 특별히 짚고 넘어갈 점은 Clash Meta(mihomo 커널)입니다. 초기 Clash 커널에 비해 지원하는 프로토콜 범위가 훨씬 넓어 Hysteria, TUIC, VLESS 같은 신규 프로토콜 노드를 네이티브로 인식하며, 많은 경우 별도 변환 없이 바로 가져올 수 있습니다. 구형 커널 클라이언트에서 특정 노드가 계속 인식되지 않는다면, 사용 중인 클라이언트가 Meta 커널인지부터 확인해보는 것이 좋습니다.
가져온 뒤 노드 목록이 비어 있을 때의 점검 순서
링크 유형을 정확히 확인했고 필요한 변환도 마쳤는데도 가져오기 후 노드 목록이 여전히 비어 있다면, 아래 순서대로 하나씩 점검하면 대체로 원인을 찾을 수 있습니다.
- 링크 자체가 유효한지 확인합니다. 브라우저로 직접 접속해 404나 빈 페이지가 아니라 정상적으로 내용이 반환되는지 확인합니다. 서비스 이용 기간이 만료됐거나 트래픽이 모두 소진되면 구독 인터페이스가 곧바로 무효화됩니다.
- User-Agent 제한에 걸렸는지 확인합니다. 일부 구독 서버는 요청 헤더로 클라이언트 종류를 판별해 브라우저나 화이트리스트에 없는 클라이언트의 요청을 거부합니다. 이 경우 브라우저에서 링크가 열리지 않는다고 해서 구독 자체가 무효인 것은 아니므로, 클라이언트 내 업데이트 결과를 기준으로 판단해야 합니다.
- 설정 형식 버전을 확인합니다. 구독 내용에 클라이언트가 아직 지원하지 않는 새 필드나 새 프록시 유형이 쓰였다면 해석 과정에서 해당 부분 전체가 건너뛰어질 수 있으며, 클라이언트 버전을 업데이트하면 대체로 해결됩니다.
- 시스템 프록시 순환 문제를 확인합니다. 기기에서 이미 전체 프록시나 TUN 모드가 켜져 있다면 구독을 가져오는 요청 자체도 프록시를 거쳐 전달됩니다. 그 순간 프록시 노드가 사용할 수 없는 상태라면 구독 업데이트 요청도 함께 실패하므로, 프록시를 잠시 끈 뒤 다시 수동으로 구독을 업데이트해 확인해보세요.
- 업데이트 시각을 확인합니다. 클라이언트는 대개 구독의 마지막 업데이트 시각을 표시합니다. 시각이 바뀌지 않았다면 업데이트 요청이 실제로는 성공적으로 전송되지 않았다는 뜻이므로, 업데이트 버튼을 반복해서 누르기보다 앞의 네 단계를 하나씩 다시 확인해야 합니다.
구독을 장기적으로 안정적으로 유지하는 습관
구독 링크를 가져오는 데 성공했다고 끝난 것이 아니라, 오래 사용하려면 몇 가지 세부 사항을 챙겨야 합니다. 첫째, 구독마다 적절한 자동 업데이트 주기를 설정해 노드 정보가 뒤처지지 않도록 합니다. 둘째, 구독 링크 원문을 로컬 메모에 별도로 백업해 설정을 잘못 삭제했을 때 다시 찾지 못하는 상황을 막습니다. 셋째, 여러 기기를 동시에 사용한다면 각 기기의 업데이트 시각을 조금씩 겹치지 않게 조정해 동시 요청이 구독 서버에 주는 부담을 줄입니다. 넷째, 노드가 전부 작동하지 않을 때는 먼저 구독이 만료됐는지 확인하고, 그다음에야 서비스 제공자를 바꿀지 고민하세요. 클라이언트 자체를 먼저 의심하지 않는 것이 좋습니다.
이런 습관을 들이면 구독과 관련된 문제는 대부분 몇 분 안에 스스로 해결할 수 있어, 매번 처음부터 다시 헤맬 필요가 없습니다.