PROFILE INPUT
구독 링크, 노드 링크, YAML 설정은 서로 다른 입력 형식입니다
Clash 클라이언트는 프록시 노드, 프록시 그룹, 분할 라우팅 규칙, DNS 매개변수와 실행 옵션 등이 포함된 설정을 읽어야 합니다. 사용자가 받은 ‘구독’은 원격 주소일 수도 있고, 이미 로컬에 내려받은 YAML 파일일 수도 있습니다. 최종 목적은 같지만 가져오기와 업데이트 방식, 오류가 나타나는 형태는 완전히 같지 않습니다.
구독 링크는 일반적으로 https://로 시작합니다. 클라이언트가 해당 주소에 접속하면 서버가 인식 가능한 설정 내용을 반환합니다. 주소 자체는 진입점일 뿐이므로 브라우저에서 항상 정리된 텍스트가 표시되는 것은 아닙니다. 어떤 API는 바로 다운로드를 시작하고, 어떤 API는 인코딩된 노드 목록을 반환하며, 또 다른 API는 요청 정보에 따라 Clash 또는 mihomo 코어에 맞는 YAML 설정을 출력합니다.
단일 노드 링크는 특정 프로토콜 이름으로 시작하는 경우가 많으며, 보통 한 개의 노드만 설명합니다. 단일 노드 링크를 ‘구독 주소’ 입력란에 붙여 넣는다고 해서 클라이언트가 이를 완전한 설정으로 읽는 것은 아닙니다. 완전한 설정에는 노드뿐 아니라 프록시 그룹과 규칙 같은 구조도 필요합니다. 일부 클라이언트는 단일 노드 가져오기를 지원하지만, 이 메뉴는 설정 구독 가져오기와 구분해서 확인해야 합니다.
로컬 YAML 파일은 이미 생성된 설정 스냅샷입니다. 오프라인 점검과 수동 편집에 적합하지만 원격 구독이 변경되어도 자동으로 동기화되지 않습니다. 클라이언트가 원격 구독과 로컬 사본을 함께 저장하는 경우, 업데이트는 대개 원격 설정 항목에만 적용되며 별도로 가져온 로컬 파일을 자동으로 덮어쓰지는 않습니다.
URL FORMAT
구독 주소 형식과 복사 상태 점검
클라이언트가 직접 요청할 수 있는 구독 주소에는 완전한 프로토콜, 도메인, 경로와 서버가 요구하는 쿼리 매개변수가 포함되어야 합니다. 일반적인 구조는 다음과 같이 나타낼 수 있습니다.
https://config.example.net/api/profile?token=example-token&format=clash
여기서 프로토콜은 연결 방식을 결정하고, 도메인과 경로는 구독 API를 지정하며, 물음표 뒤의 매개변수는 접근 자격 증명이나 출력 형식을 전달합니다. 실제 주소의 매개변수 이름은 구독 제공자가 정하므로 임의로 수정하면 안 됩니다. 자격 증명, 기기 정보 또는 출력 옵션이 URL 인코딩되어 주소가 매우 길어지는 경우도 있습니다. 주소 길이만으로 유효성을 판단할 수는 없습니다.
복사할 때 가장 흔한 문제는 마지막 문자가 빠지거나 줄바꿈이 섞이는 것, 메신저에 표시된 줄임표까지 함께 복사하는 것, 또는 물음표 앞까지만 복사하는 것입니다. 화면에서 잘린 텍스트를 직접 옮겨 적지 말고 ‘링크 주소 복사’ 기능으로 원본을 가져오세요. 붙여 넣은 뒤 시작 부분이 http:// 또는 https://인지, 중간에 공백이 없는지, 끝에 마침표나 닫는 괄호 같은 본문 구두점이 붙지 않았는지 확인하세요.
URL 쿼리 매개변수에서 &는 여러 매개변수를 구분하는 데 사용됩니다. 웹페이지 소스에서는 &로 보일 수 있지만, 복사한 실제 주소에는 일반 &만 포함되어야 합니다. 서식 있는 텍스트, 이메일 또는 웹페이지 코드 조각에서 주소를 복사했다면 HTML 이스케이프 문자가 주소 본문으로 저장되지 않았는지 확인하세요.
구독 주소에는 보통 접근 자격 증명이 포함되므로 계정 비밀번호처럼 취급해야 합니다. 전체 주소를 공개 로그, 스크린샷 또는 공개 질문 페이지에 게시하지 마세요. 문제를 확인할 때는 도메인과 경로 구조만 남기고 토큰 매개변수의 주요 부분은 가리는 것이 좋습니다.
| 입력 유형 | 일반적인 형태 | 적합한 가져오기 메뉴 |
|---|---|---|
| 원격 구독 | HTTP 또는 HTTPS로 시작하는 완전한 주소 | URL에서 가져오기, 원격 설정 |
| 로컬 설정 | 파일명이 .yaml 또는 .yml로 끝남 | 파일에서 가져오기, 로컬 설정 |
| 단일 노드 정보 | 특정 프록시 프로토콜 이름으로 시작 | 노드 가져오기 또는 완전한 설정으로 변환 |
| 웹 관리 주소 | 열면 로그인 페이지 또는 제어판이 표시됨 | 먼저 페이지에서 실제 구독 주소 확인 |
IMPORT SEQUENCE
Clash 클라이언트에서 원격 구독 가져오기
그래픽 클라이언트마다 메뉴 이름은 ‘설정’, ‘구독’, ‘Profiles’ 또는 ‘프로필’로 표시될 수 있지만 처리 순서는 대체로 같습니다. 아래 단계는 Clash Meta(mihomo) 등 호환 코어를 기반으로 하는 일반적인 데스크톱 클라이언트에 적용됩니다. 구체적인 버튼 위치는 현재 사용 중인 클라이언트 화면을 기준으로 확인하세요.
- 설정 관리 페이지를 여세요. 프록시 노드 선택 페이지가 아니라 설정 또는 구독 영역에 들어갔는지 확인하세요. 노드 페이지는 기존 프록시 그룹을 전환하는 곳이며 새 원격 설정을 만들 수 없습니다.
- URL에서 가져오기를 선택하세요. 화면에 로컬 파일, 클립보드, 원격 주소 옵션이 함께 있다면 원격 주소를 선택하세요. 전체 구독 링크를 붙여 넣고 설정을 쉽게 식별할 수 있는 이름을 입력하세요.
- 다운로드 또는 추가를 실행하세요. 클라이언트가 원격 주소에 요청을 보내 응답을 분석합니다. 성공하면 새 설정 카드, 업데이트 시간 또는 노드 수가 표시되는 경우가 많습니다. 항목이 나타났다고 해서 이미 활성화된 것은 아니므로 계속해서 해당 설정을 선택해야 합니다.
- 현재 설정으로 지정하세요. 설정 항목을 클릭하거나 ‘활성화’를 사용해 코어가 설정을 다시 불러오게 하세요. 전환 중 파싱 오류가 보고되면 먼저 기존의 정상 설정을 유지한 뒤 새 설정 내용을 확인하세요.
- 프록시 그룹을 확인하세요. 프록시 페이지에서 설정에 정의된 그룹이 표시되는지 확인하고, 필요에 따라 노드나 자동 테스트 그룹을 선택하세요. 프록시 그룹이 없다면 완전한 Clash 설정이 아니라 노드 목록을 가져왔을 가능성이 있습니다.
- 시스템 프록시 또는 TUN을 활성화하세요. 시스템 프록시는 일반적인 브라우저와 시스템 프록시 설정을 따르는 프로그램에 적합합니다. TUN은 더 많은 네트워크 트래픽을 가로채며 추가 권한이 필요한 경우가 많습니다. 처음 확인할 때는 시스템 프록시부터 사용하고, 설정이 정상 작동하는 것을 확인한 뒤 TUN을 설정하세요.
모바일 클라이언트의 가져오기 흐름도 비슷합니다. 원격 설정 추가, 설정 선택, 연결 시작 순서로 진행합니다. 운영체제가 네트워크를 가로챌 수 있도록 VPN 설정 생성을 요구할 수 있으며, 이는 표준 권한 부여 단계입니다. 시스템이 권한을 거부하면 클라이언트가 구독을 가져왔더라도 해당 네트워크 인터페이스를 만들 수 없습니다.
PROFILE UPDATE
수동 업데이트, 자동 업데이트 및 로컬 수정
원격 구독을 저장하면 클라이언트는 보통 원본 URL을 기록하고 업데이트 버튼을 제공합니다. 수동 업데이트를 실행하면 해당 주소에 다시 요청해 최신 설정을 내려받고 원격 설정의 캐시 내용을 교체합니다. 노드 추가·삭제, 이름 변경, 프록시 그룹 변경 및 규칙 업데이트는 업데이트를 완료하고 설정을 다시 불러온 뒤에야 화면에 반영되는 경우가 많습니다.
자동 업데이트 간격은 클라이언트 설정으로 정해질 수도 있고 설정의 메타데이터 안내를 따를 수도 있습니다. 간격이 너무 짧으면 불필요한 네트워크 요청이 발생하고, 너무 길면 이미 변경된 노드 정보를 계속 사용할 수 있습니다. 일반적인 사용에서는 클라이언트의 적절한 기본값을 유지하고, 노드 목록과 구독 관리 페이지가 일치하지 않을 때 수동 업데이트를 실행하세요.
‘구독 업데이트’와 ‘지연 시간 테스트’는 반드시 구분해야 합니다. 구독 업데이트는 설정 내용을 가져오고, 지연 시간 테스트는 현재 불러온 노드에만 탐색 요청을 보내며 새 노드를 다운로드하지 않습니다. 지연 시간을 반복해서 테스트해도 만료된 구독이 복구되거나 접근 자격 증명이 갱신되지는 않습니다.
원격 설정에서 생성된 YAML을 직접 편집할 때는 덮어쓰기 관계도 고려해야 합니다. 일부 클라이언트는 다음 업데이트에서 로컬 내용을 완전히 교체하므로 수동으로 추가한 규칙, DNS 또는 노드가 사라질 수 있습니다. 사용자 지정 내용을 장기간 유지해야 한다면 클라이언트가 제공하는 오버라이드, 병합, 스크립트 또는 확장 설정 기능을 사용하세요. 이러한 기능을 지원하지 않는 클라이언트라면 별도의 로컬 설정으로 복사하되 이후 업데이트는 직접 관리해야 합니다.
업데이트 후 기존에 선택한 노드가 계속 존재한다는 보장은 없습니다. 프록시 그룹 이름이 같으면 클라이언트가 그룹 선택 상태를 유지할 수 있지만, 노드가 삭제되거나 이름이 변경되거나 다른 그룹으로 이동하면 코어가 그룹의 기본 동작에 따라 다시 선택합니다. 업데이트가 끝난 뒤 주요 프록시 그룹과 현재 모드를 확인해 ‘설정 업데이트 완료’를 ‘기존 노드가 계속 선택됨’으로 오해하지 않도록 하세요.
FAULT ISOLATION
구독 링크를 인식하지 못할 때의 문제 해결 순서
가져오기에 실패하면 ‘주소, 네트워크 응답, 콘텐츠 형식, 코어 호환성’ 순서로 확인하세요. 먼저 클라이언트가 내용을 받았는지 판단한 다음, 해당 내용을 설정으로 파싱할 수 있는지 확인합니다. 이렇게 하면 네트워크 요청 실패 상황에서 YAML을 반복해서 수정하는 일을 피할 수 있고, 형식 오류를 네트워크 환경 변경만으로 해결하려는 실수도 줄일 수 있습니다.
1. 주소가 완전하고 아직 유효한지 확인
구독 관리 페이지에서 주소를 다시 복사하고, 메신저로 전달되었거나 직접 줄바꿈한 텍스트는 사용하지 마세요. 서버가 브라우저 접속을 허용한다면 반환 결과가 설정 텍스트인지, 파일 다운로드인지, 로그인 페이지인지, 오류 페이지인지 확인할 수 있습니다. 로그인 페이지가 나타나면 관리 페이지 주소를 복사했을 가능성이 높고, 권한 안내가 나타나면 자격 증명 만료, 구독 기간 종료 또는 접근 정책 제한일 수 있습니다.
2. 클라이언트가 구독 서버에 연결할 수 있는지 확인
첫 가져오기는 사용 가능한 프록시가 아직 연결되기 전에 이루어지므로 현재 네트워크에서 구독 서버에 접속할 수 있어야 합니다. DNS 조회 실패, TLS 연결 실패, 요청 시간 초과 또는 네트워크 정책 차단이 발생하면 클라이언트는 설정을 가져올 수 없습니다. 먼저 시스템 시간이 정확한지, 브라우저에서 같은 도메인에 접속할 수 있는지, 클라이언트 로그의 호스트명과 오류 시간이 이번 작업과 일치하는지 확인하세요.
3. 반환된 내용이 설정인지 확인
서버의 응답 상태가 정상이라고 해서 본문이 YAML이라는 뜻은 아닙니다. API가 JSON 오류, HTML 로그인 페이지, 인증 페이지 또는 일반 텍스트 안내를 반환할 수 있습니다. 그러면 클라이언트는 YAML 파싱 실패, 필드 누락 또는 형식 인식 불가 오류를 보고합니다. 이때는 프록시 포트를 조정할 것이 아니라 구독 권한이나 출력 형식을 확인해야 합니다.
4. 출력 대상이 현재 코어와 호환되는지 확인
구독 출력은 Clash, mihomo 또는 다른 클라이언트를 대상으로 제공될 수 있습니다. mihomo는 Clash 설정 문법을 기반으로 일부 프록시 프로토콜, 규칙 및 DNS 기능을 확장했으므로 구형 코어가 최신 필드나 노드 매개변수를 인식하지 못할 수 있습니다. 로그에 알 수 없는 프록시 유형, 지원되지 않는 필드 또는 설정 검증 실패가 표시되면 클라이언트 코어에 맞는 구독 형식을 선택하거나 계속 유지 관리되는 호환 클라이언트로 업데이트하세요.
5. 중복된 이름과 비정상적인 내용 확인
설정 파일의 프록시 이름과 프록시 그룹 참조는 서로 일치해야 합니다. 프록시 그룹이 존재하지 않는 노드를 참조하거나, 같은 계층에 예상하지 못한 중복 이름이 있거나, 규칙 세트 경로를 사용할 수 없는 경우 로드에 실패할 수 있습니다. 일부 문제는 파일 다운로드를 막지 않지만 코어 시작 또는 설정 전환 시 나타납니다.
YAML PARSE
로컬 YAML 가져오기에 실패했을 때 확인할 구조
YAML은 들여쓰기로 계층을 표현합니다. 들여쓰기에는 공백을 사용하고 같은 계층에서는 일관된 간격을 유지해야 합니다. Tab, 누락된 콜론, 목록 항목 앞의 하이픈 누락, 닫히지 않은 따옴표는 모두 파서가 잘못된 위치 부근에서 중단되는 원인이 됩니다. 로그에 표시된 줄 번호는 시작점일 뿐이며 실제 문제는 바로 앞 줄에 있을 수도 있습니다.
간소화한 설정 골격에는 보통 포트 설정, 프록시 노드, 프록시 그룹과 규칙이 포함됩니다. 아래 내용은 계층 관계를 설명하기 위한 예시일 뿐, 그대로 연결할 수 있는 완전한 설정은 아닙니다.
mixed-port: 7890
mode: rule
proxies:
- name: example-node
type: socks5
server: 127.0.0.1
port: 1080
proxy-groups:
- name: PROXY
type: select
proxies:
- example-node
- DIRECT
rules:
- MATCH,PROXY
proxies는 노드 목록이고, proxy-groups는 노드 선택 방식을 정의하며, rules는 연결을 어느 프록시 그룹이나 직접 연결 정책으로 보낼지 결정합니다. 규칙이 참조하는 정책 이름은 프록시 그룹 이름 또는 내장 정책과 일치해야 합니다. 노드 이름을 프록시 그룹 이름이 필요한 위치에 직접 입력했다면 현재 코어와 규칙 유형에서 해당 사용법을 허용하는지 확인하세요.
콜론, 샵 기호, 특수문자 또는 앞뒤 공백이 포함된 이름은 따옴표로 감싸는 것이 좋습니다. 샵 기호는 따옴표로 보호되지 않으면 주석의 시작으로 해석될 수 있습니다. 파일 인코딩은 클라이언트가 정상적으로 읽을 수 있는 텍스트 인코딩을 사용하고, 문서 편집 프로그램에서 복잡한 서식의 문서로 저장하지 않도록 주의하세요.
원격 구독은 다운로드되지만 로드되지 않는다면 클라이언트 로그에서 첫 번째 파싱 오류를 먼저 찾으세요. 뒤이어 표시되는 많은 오류는 첫 번째 구조 문제로 인한 연쇄 결과일 수 있습니다. 마지막 오류부터 역추적하기보다 첫 번째 문제를 수정한 뒤 다시 검증하는 편이 효과적입니다.
RUNTIME CHECK
가져오기에 성공했지만 연결되지 않을 때: 규칙, DNS 및 TUN 점검
설정이 정상적으로 로드되었다면 연결 문제는 실행 단계로 넘어간 것입니다. 먼저 클라이언트 실행 모드를 확인하세요. 규칙 모드는 rules를 위에서 아래로 매칭하고 일치하는 규칙을 찾으면 더 이상 확인하지 않습니다. 전역 모드는 일반적으로 트래픽을 지정된 프록시 그룹으로 보내고, 직접 연결 모드는 프록시를 우회합니다. 직접 연결 모드라면 노드가 정상적으로 표시되어도 대상 트래픽이 프록시를 통과하지 않습니다.
다음으로 프록시 그룹 선택을 확인하세요. 자동 테스트 그룹은 설정에 정의된 탐색 주소와 간격에 따라 노드를 선택하지만, 탐색에 성공했다고 해서 모든 웹사이트에 접속할 수 있는 것은 아닙니다. 수동 선택 그룹에서는 특정 노드를 직접 선택해야 합니다. 그룹의 현재 항목이 DIRECT로 표시된다면 관련 규칙이 해당 그룹과 일치할 때 직접 연결이 실행됩니다.
DNS 문제는 도메인에 접속할 수 없지만 일부 IP 주소에 직접 연결하면 응답이 오는 형태로 나타나는 경우가 많습니다. 설정에서 DNS 모듈이 활성화되어 있는지, 수신 주소가 충돌하지 않는지, 향상 모드가 현재 네트워크 구성과 맞는지 확인하세요. Fake IP 모드는 예약 주소를 반환한 뒤 코어에서 원래 도메인으로 매핑합니다. 트래픽이 계속 Clash 코어를 통과해야 하므로 요청이 코어를 우회하면 조회 결과를 제대로 사용하지 못할 수 있습니다.
TUN 모드는 가상 네트워크 인터페이스를 만들고 라우팅을 조정해야 합니다. 시작에 실패하면 시스템 권한이 부족하지 않은지, 인터페이스를 다른 네트워크 도구가 사용 중인지, 관련 서비스 구성 요소가 설치되어 있는지, 시스템에 충돌하는 라우팅이 있는지 확인하세요. TUN을 켠 뒤에도 트래픽이 없으면 라우팅 가로채기 범위, DNS 하이재킹 설정과 로컬 네트워크 우회 규칙을 점검하세요. 원래 상태를 기록하지 않은 채 TUN, DNS, 규칙과 노드를 동시에 변경하면 어떤 변경이 영향을 주었는지 판단하기 어렵습니다.
최소 변경 방식으로 진행하는 것이 좋습니다. 먼저 파싱이 확인된 설정을 로드하고 명확한 노드 하나를 선택한 다음 시스템 프록시로 브라우저 트래픽을 검증하세요. 이후 규칙 모드를 테스트하고, 마지막으로 TUN을 활성화해 시스템 프록시를 따르지 않는 프로그램을 확인합니다. 각 단계에서 실시간 로그의 대상 도메인, 일치한 규칙, 선택된 정책과 연결 결과를 확인하면 구독 문제와 실행 문제를 분리할 수 있습니다.
QUICK CHECKLIST
구독 가져오기 점검 목록
- 입력이 원격 구독 주소인지, 로컬 YAML 파일인지, 단일 노드 링크인지 확인합니다.
- 전체 URL을 다시 복사하고 프로토콜, 쿼리 매개변수, 공백과 끝의 구두점을 확인합니다.
- 반환된 내용이 로그인 페이지, 권한 안내 또는 일반 웹페이지가 아닌지 확인합니다.
- Clash 또는 mihomo 코어와 호환되는 구독 출력 형식을 선택합니다.
- 가져온 뒤 설정을 현재 설정으로 지정하고 프록시 그룹이 표시되는지 확인합니다.
- 구독 업데이트 후 노드 선택, 실행 모드와 규칙 그룹이 변경되지 않았는지 확인합니다.
- 파싱에 실패하면 로그의 첫 번째 YAML 또는 필드 오류부터 처리합니다.
- 실행에 실패하면 노드, 규칙, DNS, 시스템 프록시와 TUN을 차례로 확인합니다.
‘구독 요청’, ‘설정 파싱’, ‘코어 로드’, ‘트래픽 가로채기’를 네 단계로 나누면 대부분의 가져오기 문제를 구체적인 단계에서 찾을 수 있습니다. 주소를 요청할 수 없으면 네트워크와 권한을 확인하고, 본문을 파싱할 수 없으면 형식과 호환성을 확인하세요. 설정은 로드되지만 접속할 수 없다면 프록시 그룹, 규칙, DNS와 시스템 가로채기 상태를 점검하면 됩니다.
클라이언트 다운로드 및 구독 가져오기
기기 플랫폼에 맞는 호환 클라이언트를 선택해 설치한 뒤, 사용 안내에 따라 설정 가져오기, 프록시 그룹 선택과 연결 확인을 완료하세요.