Clash 클라이언트에 설정을 추가할 때 가장 헷갈리는 부분은 버튼 위치가 아니라 현재 가진 데이터가 어떤 형식인지입니다. 구독 URL, 로컬 YAML 설정, 단일 노드 공유 링크, 프록시 제공자 파일에는 모두 서버 정보가 들어갈 수 있지만 용도와 가져오기 경로, 업데이트 방식은 서로 다릅니다. 단일 노드 링크를 구독 입력란에 붙여 넣거나 웹 주소를 YAML 파일로 저장하면 대개 “형식 오류”, “설정 구문 분석 실패”, “프록시 그룹을 찾을 수 없음”과 같은 메시지가 표시됩니다.
그래픽 클라이언트마다 메뉴 이름은 조금씩 다르지만, 일반적인 경로는 “설정”, “구독”, “Profiles” 또는 “설정 파일”입니다. 최종적으로는 모두 데이터를 Clash 호환 코어에 전달해 구문을 분석합니다. 데이터 형식을 이해하면 클라이언트 화면이 달라져도 URL을 붙여 넣을지, 로컬 파일을 선택할지, 먼저 전체 설정으로 변환할지 판단할 수 있습니다.
구독 URL, 노드 링크, YAML 파일의 차이
구독 URL: 원격 서버가 설정 내용을 반환
구독 URL은 일반적으로 https://로 시작하는 주소입니다. 클라이언트는 주소를 저장한 뒤 네트워크 요청을 보내고, 서버 응답을 원격 설정으로 저장합니다. 이후 “구독 업데이트”를 누르면 같은 주소에 다시 접속해 노드 변경, 정책 그룹 조정, 규칙 업데이트를 가져옵니다.
주소 자체는 설정 본문이 아닙니다. 실제로 가져오기가 가능한지는 HTTP 응답 내용에 달려 있습니다. 정상적으로 보이는 구독 주소라도 전체 Clash YAML, 노드만 포함한 인코딩 텍스트, 로그인 페이지, 오류 페이지 또는 JSON을 반환할 수 있습니다. 브라우저에서 URL이 열린다고 해서 Clash 코어가 이를 해석할 수 있다는 뜻은 아닙니다.
https://example.com/api/client/subscribe?token=example-token
구독 매개변수는 계정을 식별하거나 클라이언트 형식을 선택하는 데 사용되는 경우가 많습니다. 복사할 때는 전체 쿼리 매개변수를 유지하고 물음표 뒤의 내용을 빠뜨리지 마세요. 서비스 페이지에 “Clash”, “Clash Meta” 또는 “Mihomo” 전용 항목이 있다면 범용 링크의 호환성을 추측하지 말고 현재 사용하는 코어에 맞는 형식을 우선 선택하세요.
단일 노드 공유 링크: 하나의 프록시 노드만 설명
단일 노드 링크는 일반적으로 프로토콜 이름으로 시작합니다. 예를 들면 ss://, trojan://, vmess://, vless:// 등이 있습니다. 서버, 포트, 인증 매개변수, 전송 설정 등 하나의 노드에 필요한 정보는 담고 있지만, Clash 실행에 필요한 전체 정책 그룹, 규칙, 기본 출구는 보통 포함하지 않습니다.
일부 클라이언트는 “클립보드에서 노드 가져오기” 기능을 제공해 공유 링크를 노드 항목으로 변환할 수 있지만, 다른 클라이언트는 전체 설정만 허용합니다. 이 경우 단일 노드 링크를 구독 URL 입력란에 붙여 넣어도 작동하지 않습니다. 해당 입력란은 원격 HTTP 주소에 접속하는 용도이기 때문입니다. 노드가 변환되더라도 proxies에 추가하고 proxy-groups와 rules에서 참조해야 합니다.
로컬 YAML: 코어가 직접 읽을 수 있는 설정
YAML 파일은 보통 .yaml 또는 .yml 확장자로 끝나며, 포트, 실행 모드, 노드, 프록시 그룹, 규칙, DNS, TUN 설정을 포함할 수 있습니다. 전체 설정은 “로컬 설정 가져오기” 또는 “설정 파일 열기”로 불러올 수 있습니다. 원격 구독과 달리 로컬 파일은 원래 주소에서 자동으로 업데이트되지 않으므로, 파일을 수정한 뒤에는 다시 불러오거나 클라이언트에서 새로 고쳐야 합니다.
다음은 최소한의 구조를 보여 주는 예시입니다. 실제 노드 매개변수는 신뢰할 수 있는 출처에서 제공받아야 하며, 이 예시는 각 블록의 관계를 설명하기 위한 용도입니다.
mode: rule
proxies:
- name: Example
type: ss
server: 192.0.2.10
port: 443
cipher: aes-128-gcm
password: example-password
proxy-groups:
- name: PROXY
type: select
proxies:
- Example
- DIRECT
rules:
- MATCH,PROXY
proxies는 연결할 수 있는 노드를 정의하고, proxy-groups는 사용자가 선택할 출구를 결정하며, rules는 트래픽을 해당 정책으로 전달합니다. proxies만 있고 사용할 규칙과 정책 그룹이 없으면 설정이 문법 검사를 통과하더라도 의도한 라우팅이 이루어지지 않을 수 있습니다.
Clash 클라이언트에서 구독 링크를 가져오는 표준 절차
-
클라이언트에서 사용하는 코어를 확인합니다.
기본 설정은 원본 Clash, Clash Meta, mihomo 사이에 상당한 호환성이 있지만, 확장 프로토콜, 규칙 유형, DNS 필드, TUN 옵션은 완전히 동일하지 않습니다. 현재 널리 사용되는 클라이언트는 대부분 mihomo 코어를 사용하므로, 가져올 때 서버에서 제공하는 Clash Meta 또는 mihomo 설정 형식을 선택하는 것이 좋습니다.
-
전체 구독 주소를 복사합니다.
구독 관리 페이지에서 복사 버튼을 사용하고 주소 앞뒤에 공백, 줄바꿈, 설명 문구가 섞이지 않았는지 확인하세요. 화면에 일부만 생략되어 표시된 주소를 복사하지 말고, 브라우저 주소창의 로그인 페이지 주소를 구독 주소로 사용하지도 마세요.
-
설정 또는 구독 페이지로 이동합니다.
“새 구독 만들기”, “URL에서 가져오기” 또는 “Download Remote Profile”과 같은 메뉴를 찾습니다. 설정 이름을 알아보기 쉽게 입력한 다음 URL을 원격 주소 입력란에 붙여 넣으세요. 화면에 파일 선택기가 함께 있다면 YAML 파일은 파일 가져오기 메뉴로 처리하고 URL 입력란에 넣지 마세요.
-
다운로드를 실행하고 상태를 확인합니다.
클라이언트가 원격 주소에 접속해 응답을 분석합니다. 성공하면 보통 설정 이름, 업데이트 시간, 노드 수 또는 파일 크기가 표시됩니다. 설정 카드가 생성되었지만 내용이 비어 있다면 즉시 시스템 프록시를 활성화하지 말고 업데이트 로그를 먼저 확인하세요.
-
현재 설정으로 지정하고 정책을 선택합니다.
가져오기에 성공했다고 해서 설정이 활성화된 것은 아닙니다. 해당 설정을 선택한 뒤 프록시 페이지에서 정책 그룹의 출구를 선택해야 합니다. 규칙 모드에서는
rules에 따라 트래픽이 배분되고, 전역 모드에서는 대부분의 트래픽이 지정된 전역 정책으로 전달됩니다. -
마지막으로 시스템 프록시 또는 TUN을 활성화합니다.
시스템 프록시는 시스템 프록시 설정을 따르는 앱에 적합합니다. TUN 모드는 가상 네트워크 인터페이스를 통해 더 넓은 범위의 트래픽을 가로채며, 시스템 권한이 필요한 경우가 많습니다. 처음 설정할 때는 일반 시스템 프록시부터 확인한 뒤 앱 적용 범위에 따라 TUN 활성화 여부를 결정하는 것이 좋습니다.
Clash YAML의 주요 블록과 형식 요구 사항
YAML은 들여쓰기로 계층을 표현하므로 일반적으로 공백을 사용하며 탭 문자를 섞으면 안 됩니다. 콜론 뒤에는 공백을 넣고, 목록 항목은 하이픈으로 시작해야 합니다. 특수 문자가 포함된 값은 따옴표로 감쌀 수 있습니다. 편집기가 반각 문장 부호를 자동으로 바꾸는 경우에도 구문 분석이 실패할 수 있습니다.
노드와 프록시 그룹 이름이 일치해야 합니다.
정책 그룹은 이름을 사용해 노드나 다른 정책 그룹을 참조합니다. 노드 이름을 “도쿄 01”에서 “도쿄 메인”으로 변경했다면 기존 이름을 참조하는 모든 위치도 함께 수정해야 합니다. 그렇지 않으면 코어가 프록시를 찾을 수 없다고 알리거나 설정을 불러올 때 정책 그룹 생성을 거부할 수 있습니다.
proxy-groups:
- name: AUTO
type: url-test
proxies:
- Tokyo-01
- Singapore-01
url: https://www.gstatic.com/generate_204
interval: 300
select 그룹은 사용자가 직접 선택하고, url-test 그룹은 테스트 결과에 따라 사용 가능한 노드를 선택하며, fallback은 순서대로 사용 가능한 노드로 전환하는 데 중점을 둡니다. 지원 범위는 코어 버전과 클라이언트 구현에 따라 달라집니다. 테스트 주소, 간격, 허용 오차도 자동 선택 결과에 영향을 주므로 한 번의 지연 시간만으로 장기적인 품질을 판단해서는 안 됩니다.
규칙은 순서대로 일치 여부를 확인합니다.
Clash 규칙은 일반적으로 위에서 아래로 확인하며, 일치하는 규칙을 찾으면 더 이상 진행하지 않습니다. 정확한 도메인, 도메인 접미사, IP 대역, 규칙 집합은 설정 목적에 맞는 위치에 배치하고, 기본 처리 규칙은 보통 마지막에 둡니다. 예를 들어 DOMAIN-SUFFIX,example.com,DIRECT는 지정한 도메인 접미사를 직접 연결 정책으로 보내고, MATCH,PROXY는 앞에서 일치하지 않은 트래픽을 처리합니다.
규칙에 지정한 정책 이름은 프록시 그룹이나 내장 정책에 존재해야 합니다. 구독 변환 서비스가 프록시 그룹 이름을 변경했지만 규칙의 참조를 함께 수정하지 않았다면 설정 가져오기가 실패할 수 있습니다. 이런 문제가 발생하면 노드 목록만 보지 말고 proxy-groups와 rules를 함께 확인하세요.
프록시 제공자는 전체 구독 설정이 아닙니다.
proxy-providers는 원격 파일에서 여러 노드를 불러온 다음 정책 그룹이 use로 참조하도록 합니다. 제공자 파일은 보통 노드 목록만 담당하며 전체 설정의 DNS, 규칙, 포트 설정은 포함하지 않습니다. provider 주소를 전체 설정으로 직접 가져오면 클라이언트에서 필수 필드가 없다는 메시지가 표시될 수 있습니다.
proxy-providers:
remote-nodes:
type: http
url: https://example.com/provider.yaml
path: ./providers/remote-nodes.yaml
interval: 3600
proxy-groups:
- name: PROXY
type: select
use:
- remote-nodes
이 원격 파일은 기본 설정에서 참조합니다. 클라이언트는 먼저 기본 YAML을 불러온 뒤, 그 안의 provider 정의에 따라 노드 목록을 다운로드합니다. 두 단계의 업데이트 방식은 다릅니다. 기본 설정을 업데이트해도 모든 제공자가 즉시 갱신되는 것은 아니며, 실제 동작은 클라이언트가 별도의 provider 새로 고침 기능을 제공하는지에 따라 달라집니다.
구독 가져오기에 실패했을 때 확인할 순서
1단계: 요청으로 설정을 받아왔는지 확인
먼저 클라이언트 로그에서 HTTP 상태 코드와 오류 유형을 확인합니다. 401 또는 403은 인증 정보 만료, 접근 권한 변경, 요청 매개변수 누락으로 발생하는 경우가 많습니다. 404는 경로가 변경되었을 가능성을 나타내고, 시간 초과가 발생하면 현재 네트워크, DNS 확인, 시스템 시간을 점검해야 합니다. 응답이 HTML이라면 로그인 페이지, 인증 페이지 또는 오류 안내 페이지로 이동했을 가능성이 큽니다.
일부 구독 주소는 브라우저의 로그인 상태에 의존하지만 클라이언트 요청에는 브라우저 세션이 자동으로 포함되지 않습니다. 서비스의 구독 관리 페이지에서 전용 URL을 가져오고, 먼저 로그인해야 접근할 수 있는 일반 웹페이지 주소는 복사하지 마세요.
2단계: 반환된 콘텐츠의 형식 확인
전체 Clash YAML에는 proxies, proxy-groups, rules와 같은 필드가 표시되는 경우가 많습니다. 긴 인코딩 텍스트만 있다면 다른 클라이언트용 응답일 수 있고, 프로토콜 링크가 여러 개만 있다면 노드 목록에 가깝습니다. 이때는 서비스 페이지에서 출력 형식을 바꾸거나 클라이언트가 명확히 지원하는 가져오기 방식을 사용하세요.
파일 확장자만으로 응답 유형을 확실히 판단할 수는 없습니다. URL 끝에 .yaml이 없어도 서버가 YAML을 반환할 수 있고, YAML이라는 단어가 들어간 주소라도 인증 실패로 웹페이지를 반환할 수 있습니다. 실제 응답과 로그를 기준으로 판단해야 합니다.
3단계: YAML 문법 및 필드 오류 확인
로그에 행과 열 번호가 표시되면 먼저 해당 위치 주변의 들여쓰기, 콜론, 따옴표, 목록 구조를 확인합니다. 오류 원인이 표시된 행보다 앞에 있을 수도 있습니다. 예를 들어 이전 행의 따옴표가 닫히지 않으면 파서가 다음 행에서야 문제를 발견합니다. 설정을 수정하기 전에 원본 사본을 보관하고, 한꺼번에 많은 내용을 삭제하기보다 항목별로 조정해야 원인을 쉽게 찾을 수 있습니다.
“지원되지 않는 필드”는 대개 코어 간 차이에서 발생합니다. 설정에 mihomo 확장 규칙, 최신 프로토콜 필드, 변경된 DNS 구조가 사용되었지만 현재 클라이언트 코어가 오래된 것일 수 있습니다. 호환되는 클라이언트로 업데이트하거나 해당 구독 형식을 선택하거나 현재 코어 문서에 맞게 필드를 조정하세요. 이해하지 못하는 설정 항목을 무작정 삭제한 뒤 바로 실행하는 것은 바람직하지 않습니다.
4단계: 설정 간 덮어쓰기 여부 확인
일부 클라이언트는 구독 설정, 전역 덮어쓰기, 병합 설정, 스크립트 처리를 서로 다른 계층으로 구분합니다. 원격 YAML 자체는 올바르더라도 로컬 덮어쓰기가 중복 포트, 잘못된 프록시 그룹, 오래된 DNS 필드를 추가하면 최종 설정이 시작되지 않을 수 있습니다. 문제를 확인할 때는 덮어쓰기 기능을 잠시 끄고 원본 구독만 불러올 수 있는지 확인한 뒤 사용자 설정을 하나씩 다시 적용하세요.
가져오기는 성공했지만 인터넷에 연결되지 않는다면 “설정 구문 분석 문제”와 “연결 문제”를 구분해야 합니다. 전자는 보통 로딩 단계에서 명확한 오류가 발생하고, 후자는 노드 시간 초과, 도메인 확인 실패, 시스템 프록시 미활성화, TUN 라우팅 설정 오류로 나타날 수 있습니다. 로그가 어느 단계에서 발생했는지 먼저 확인하면 같은 구독을 반복해서 삭제하고 다시 가져오는 일을 피할 수 있습니다.
구독 업데이트, 설정 저장 및 마이그레이션 시 주의 사항
원격 구독은 노드와 규칙 변경을 지속적으로 받을 수 있어 편리하지만, 로컬에서 직접 편집한 내용은 다음 업데이트 때 덮어써질 수 있습니다. 유지해야 할 사용자 규칙은 클라이언트가 제공하는 덮어쓰기, 병합 설정 또는 스크립트 처리 기능에 넣는 것이 좋습니다. 이러한 기능이 없다면 별도의 로컬 YAML을 관리하고 노드 출처만 수동으로 업데이트하세요.
구독 URL에는 접근 인증 정보가 포함되는 경우가 많으므로 계정 키처럼 보관해야 합니다. 스크린샷, 로그, 문의 내용에 주소를 포함할 때는 쿼리 매개변수를 가리세요. 전체 주소를 공개 페이지에 게시하지 말고, 기기를 바꿀 때는 공개 채팅 기록으로 주소를 전달하는 대신 새 기기에서 구독을 다시 복사하세요.
한 Clash 클라이언트에서 다른 클라이언트로 이동할 때는 먼저 대상 클라이언트가 사용하는 코어와 설정 디렉터리 규칙을 확인하세요. 기본 YAML은 대체로 재사용할 수 있지만 그래픽 클라이언트에 저장된 구독 목록, 정책 선택, 덮어쓰기 스크립트, TUN 권한은 클라이언트 상태에 해당하며 YAML에 포함되지 않을 수 있습니다. 마이그레이션 후에는 현재 설정을 다시 선택하고 정책 그룹을 확인한 뒤 시스템 프록시 또는 가상 네트워크 인터페이스 권한을 다시 부여해야 합니다.
구독 업데이트 간격을 지나치게 짧게 설정하지도 마세요. 노드 제공자와 기본 설정에는 보통 적절한 업데이트 시간이 이미 지정되어 있습니다. 잦은 요청은 실제 개선 효과가 거의 없을 뿐 아니라 원격 서버의 접근 제한을 유발할 수 있습니다. 평소에는 서비스 권장 주기에 따라 업데이트하고, 노드 목록이 크게 바뀌었거나 설정이 만료되었다는 안내가 표시되거나 규칙을 새로 고쳐야 할 때 수동 업데이트를 한 번 실행하세요.
빠른 판단: 현재 가진 콘텐츠를 어디에 넣어야 할까
- HTTPS로 시작하고 구독 관리 페이지에서 제공된 주소: 우선 “URL에서 가져오기” 또는 “원격 설정” 메뉴에 입력합니다.
- 프로토콜 이름으로 시작하는 단일 텍스트: 클라이언트의 노드 가져오기 기능을 사용하거나 변환한 뒤 전체 YAML에 추가합니다.
- 컴퓨터나 휴대폰에 이미 있는 .yaml, .yml 파일: 로컬 파일 가져오기를 사용하고 온라인 구독 입력란에 파일 경로를 입력하지 마세요.
- 노드 목록만 포함한 provider 파일: 기본 설정의
proxy-providers에서 참조해야 하며, 전체 실행 설정을 대신할 수 없습니다. - 열었을 때 웹페이지, 로그인 안내 또는 오류 설명이 표시되는 주소: 반환된 콘텐츠는 바로 분석할 수 있는 Clash 설정이 아니므로 전용 구독 주소를 다시 받아야 합니다.
- 가져오기는 되지만 프록시 페이지에 정책 그룹이 없는 경우: 설정에 노드만 있는지, 정책 그룹이 올바르게 참조하는지, 현재 설정이 활성화되어 있는지 확인하세요.
Clash 구독 가져오기의 핵심은 다른 버튼을 반복해서 눌러 보는 것이 아니라 먼저 입력 형식을 식별하고 클라이언트 코어와 설정 내용이 일치하는지 확인하는 데 있습니다. 구독 URL은 원격 업데이트를 담당하고, YAML은 전체 실행 구조를 설명하며, 단일 노드 링크는 하나의 연결 항목만 제공하고, proxy provider는 기본 설정이 관리하는 노드 출처입니다. “요청 결과, 콘텐츠 형식, YAML 구조, 코어 호환성, 실행 상태” 순서로 점검하면 대부분의 가져오기 문제를 정확히 찾을 수 있습니다.