응답 내용을 확인한 뒤 가져오기 방식을 선택하세요

Clash 구독 링크는 설정을 가져오는 주소이고, YAML이나 Base64는 주소가 반환하는 콘텐츠 형식입니다.브라우저에서 열리더라도 Clash 애플판에 바로 가져올 수 있는 것은 아닙니다. 먼저 서비스 제공업체가 Clash 또는 mihomo용으로 표시한 구독을 사용하세요. 일반 노드 구독만 제공되는 경우에 한해 변환을 고려하면 됩니다. Apple Silicon Mac에서 arm64 클라이언트를 사용해도 구독 형식 요건은 달라지지 않습니다. iPhone과 iPad에서는 앱이 지원하는 프로토콜과 설정 항목도 확인해야 합니다.

링크에 .yaml 확장자가 있는지만 보지 말고 응답 본문을 확인하세요. 같은 주소라도 쿼리 매개변수나 요청의 User-Agent에 따라 다른 콘텐츠를 반환할 수 있습니다. 브라우저에 표시되는 페이지가 클라이언트가 실제로 받는 설정이 아니라 로그인 페이지일 수도 있습니다.

응답 콘텐츠일반적인 특징적합한 처리 방법
전체 Clash YAML프록시, 정책 그룹, 규칙 등 설정 항목 포함클라이언트의 설정 구독 메뉴에서 가져오기
프록시 목록 YAML최상위에 proxies: 항목만 있는 경우가 많음프록시 제공자로 불러오거나 전체 설정에 병합
Base64 노드 문자열디코딩하면 보통 한 줄에 하나씩 노드 URI가 표시됨신뢰할 수 있는 변환기로 원하는 형식 생성
평문 노드 URI한 줄씩 ss://, vmess:// 등이 표시됨해당 형식을 지원하는 앱에서 파싱하거나 먼저 변환
HTML 또는 오류 JSON로그인 안내, 접근 거부, 만료된 토큰구독 접근 문제를 해결해야 하며 형식 변환으로는 해결할 수 없음

YAML 설정: 노드, 정책 그룹, 규칙의 역할

YAML은 구조화된 텍스트입니다. 노드를 한 줄씩 나열하는 것만으로 설정이 완성되지는 않습니다. Clash 계열 코어는 보통 proxies에 프록시 노드를 정의하고, proxy-groups로 선택 가능한 출구를 구성한 다음, rules로 연결 경로를 지정합니다. 외부 노드 목록은 proxy-providers로 불러오고, 외부 규칙 목록은 rule-providers로 선언한 뒤 규칙에서 참조합니다.

구조를 파악하기 쉬운 최소 예시

아래 설정은 구성 계층만 보여주는 예시이며 모든 연결은 직접 연결되고 원격 프록시 노드는 포함하지 않습니다. 7890은 이 예시에서 지정한 혼합 프록시 포트로, 모든 클라이언트의 기본 포트는 아닙니다. allow-lan: false와 루프백 주소를 함께 사용하면 로컬 네트워크 기기가 이 연결 지점을 이용하지 못하도록 제한할 수 있습니다.

mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info

proxies: []

proxy-groups:
  - name: 수동 선택
    type: select
    proxies:
      - DIRECT

rules:
  - DOMAIN-SUFFIX,example.com,수동 선택
  - MATCH,DIRECT
  • proxies: 노드 유형, 서버 주소, 포트, 인증 및 TLS 정보를 저장합니다. 사용 가능한 항목은 코어에 따라 다릅니다.
  • proxy-groups: 선택 정책을 정의합니다. 규칙이 참조하는 그룹 이름이 실제로 있어야 하며, 노드나 그룹 이름을 바꾸면 참조하는 부분도 함께 수정해야 합니다.
  • rules: 일반적으로 위에서 아래 순서로 일치 여부를 확인하고, 먼저 일치하는 규칙의 정책을 적용합니다. 마지막의 MATCH는 나머지 연결에 적용되는 기본 규칙입니다.
  • dns와 tun: 각각 DNS 확인과 가상 네트워크 인터페이스 동작을 제어합니다. 모든 구독에 반드시 필요한 항목은 아니므로, 설정을 '완성'하려고 무작정 추가하지 마세요.

YAML 들여쓰기에는 공백을 사용하고 탭은 사용하지 마세요. 노드 이름에 #이나 콜론 뒤 공백 같은 특수한 내용이 있으면 문자열을 올바른 따옴표로 감싸세요. YAML 파서가 읽을 수 있다는 것은 문법적으로 해석된다는 뜻일 뿐입니다. 프록시 유형과 필드 값, 정책 참조는 코어에서 추가로 확인해야 합니다.

Base64 구독: 인코딩은 설정도 암호화도 아닙니다

일반적인 구독은 여러 노드 URI를 줄바꿈으로 연결한 다음, 전체 텍스트를 Base64로 인코딩합니다. 디코딩 결과에는 Shadowsocks, VMess, Trojan 등의 노드 정보가 들어 있을 수 있습니다. 출처에 따라 형식은 서로 다릅니다. URI 목록이 그대로 반환되기도 하고, URL-safe Base64를 사용하거나 끝의 패딩 문자를 생략하기도 합니다. 알파벳이 길게 이어져 보인다는 이유만으로 형식을 판단할 수는 없습니다.

macOS에서 저장된 콘텐츠 확인하기

  1. 확인할 원본 응답을 로컬 텍스트 파일로 저장하고 파일 이름을 nodes.b64로 지정하세요. 로그인 페이지를 구독 본문으로 저장하지 마세요.
  2. Finder에서 파일이 있는 폴더를 연 다음 터미널에서 해당 폴더로 이동하세요. 공유 폴더에 파일을 저장하지 않았는지도 확인합니다.
  3. 표준 Base64 콘텐츠는 아래 명령으로 디코딩한 뒤 다른 파일에 저장하세요. 원본 응답을 덮어쓰지 않도록 합니다.
base64 -D < nodes.b64 > nodes.txt

이 옵션은 macOS에 기본 포함된 base64의 디코딩 매개변수입니다. 명령이 오류를 내면 출력 파일에 일부 내용만 저장되었을 수 있으므로 그대로 가져오지 마세요. 먼저 원본 파일이 이미 평문 URI인지, URL-safe 문자를 사용했는지, 끝의 패딩이 생략되었는지 확인합니다. 호환 처리가 필요하면 해당 변형을 명시적으로 지원하는 로컬 도구를 사용하고 임의로 문자를 삭제하지 마세요.

디코딩에 성공해도 노드가 유효하다는 뜻은 아닙니다. Base64는 정보를 보호하지 않습니다. 디코딩한 nodes.txt에 비밀번호, UUID, 서버 정보가 포함되어 있을 수 있습니다. 확인이 끝나면 원본과 디코딩 파일을 안전하게 관리하고 클라우드 드라이브 공유나 문의 첨부 파일을 통해 유출되지 않도록 주의하세요.

구독 변환 절차와 주요 옵션

변환기는 보통 원본 구독 가져오기, 노드 파싱, 필터링 및 이름 변경, 대상 프로토콜 필드 매핑, 템플릿 적용, 설정 출력 순서로 작동합니다. 코어를 업그레이드하는 도구가 아니므로 구형 코어에 새 프로토콜을 추가할 수 없으며, 노드 목록만으로 서비스 제공업체가 공개하지 않은 규칙을 복원할 수도 없습니다.

대상 코어를 먼저 확인한 다음 출력 형식을 선택하세요

  1. 클라이언트 코어를 확인하세요.앱의 '정보' 또는 코어 정보 화면에서 코어 이름과 버전을 확인합니다. 앱 버전과 코어 버전은 별개의 정보입니다. 앱이 macOS나 iOS를 지원한다는 사실만으로는 충분하지 않습니다.
  2. 가능하면 원본 구독을 사용하세요.서비스 제공업체가 Clash와 mihomo 전용 구독을 모두 제공한다면 대상 코어에 맞는 구독을 선택해 중간 변환을 줄이세요.
  3. 변환이 필요하다면 신뢰할 수 있는 환경을 선택하세요.가능하면 로컬 기기나 직접 관리하는 서버에서 변환하세요. 제삼자 변환 서비스는 원본 구독과 노드 인증 정보를 읽을 수 있습니다. HTTPS는 전송 과정만 보호합니다.
  4. 출력 범위를 확인하세요.'전체 설정'과 '프록시 목록만' 출력을 구분한 다음 설정 가져오기 메뉴와 프록시 제공자 메뉴 중 맞는 항목을 선택합니다.
  5. 원본 설정을 보관하고 테스트하세요.사용 중인 파일을 바로 덮어쓰지 말고 새 설정으로 추가하세요. 노드 수, 정책 그룹, 마지막 규칙과 연결 로그를 확인한 뒤 전환합니다.

일반적인 subconverter 인터페이스를 예로 들면

아래는 자주 쓰이는 옵션의 의미이며 모든 변환 서비스에 적용되는 공통 표준은 아닙니다. 선택 가능한 값은 사용 중인 서비스 인스턴스의 문서와 버전을 확인하세요. 특히 아무 인스턴스나 mihomo 출력 대상을 지원한다고 단정하지 마세요.

옵션용도확인할 사항
target출력 형식 선택예: clash. 대상 형식 이름만으로 모든 확장 필드와 호환된다고 볼 수는 없음
url원본 구독 주소 입력다른 URL 안에 넣을 때는 퍼센트 인코딩을 올바르게 적용해야 함
config외부 설정 템플릿 선택템플릿에 규칙, 정책 그룹, 원격 규칙 출처가 정의될 수 있음
include / exclude이름으로 노드 필터링정규식을 자주 사용하며 필터 설정이 잘못되면 노드가 하나도 나오지 않을 수 있음
list프록시 목록만 출력할지 설정흔히 사용하는 list=true 출력은 전체 설정과 다름
emoji / sort노드 이름 표시와 순서 조정이름을 바꾸면 이름 기반 필터링이나 로컬 선택 기록에 영향을 줄 수 있음

원본 주소에 &가 있으면 변환 요청의 url= 뒤에 그대로 붙였을 때 이후 내용이 변환기 옵션으로 잘못 해석될 수 있습니다. 신뢰할 수 있는 도구로 매개변수를 한 번만 올바르게 인코딩하고, 직접 이어 붙이거나 중복 인코딩하지 마세요. 변환 주소 자체에도 원본 토큰이 포함될 수 있으므로 민감 정보로 취급해야 합니다.

변환 후 규칙이 사라졌다면 출력, 템플릿, 덮어쓰기 순서부터 확인하세요

“노드는 연결되지만 모든 사이트가 같은 출구를 사용한다”고 해서 규칙이 반드시 삭제된 것은 아닙니다. 프록시 목록만 출력되었거나 설정이 활성화되지 않았거나 현재 모드가 전역 모드일 수 있습니다. 원래 규칙이 템플릿으로 교체되었을 가능성도 있습니다. 노드를 계속 바꾸기보다 아래 항목을 나누어 확인하세요.

1단계: 변환 결과 확인

  • 최상위의 rules:와 proxy-groups:를 검색하세요. proxies:만 있다면 목록만 출력하도록 설정했는지 먼저 확인합니다.
  • 규칙에 RULE-SET이 있으면 해당 rule-providers 이름이 정의되어 있는지, 원격 리소스가 정상적으로 다운로드되었는지 확인하세요.
  • 규칙이 참조하는 정책 이름과 정책 그룹 이름이 공백, 대소문자, 이름 변경 후 문자열까지 완전히 일치하는지 확인합니다.
  • 기본 규칙의 위치를 확인하세요. MATCH,DIRECT가 너무 앞에 있으면 뒤에 있는 규칙은 일치 여부를 확인하지 못합니다.

2단계: 변환 템플릿이 상위 규칙을 교체했는지 확인

전체 YAML을 변환해도 출력 규칙이 입력과 같다는 보장은 없습니다. 일부 변환 과정에서는 노드만 추출한 뒤 자체 템플릿으로 설정을 다시 생성합니다. 변환 전후 텍스트를 각각 저장해 rules, proxy-groups, dns, 제공자 선언을 비교하세요. 상위 출처에서 이미 사용할 수 있는 전체 설정을 제공한다면 직접 가져오는 편이 기존 설정의 의미를 보존하기 쉽습니다.

3단계: 클라이언트에서 실제로 실행 중인 설정 확인

방금 가져온 설정이 선택되어 있고 실행 모드가 전역이나 직접 연결이 아닌 규칙 모드인지 확인하세요. 클라이언트의 덮어쓰기, 병합, 스크립트 또는 확장 설정 기능도 살펴봅니다. 이러한 로컬 설정은 구독을 다운로드한 뒤 내용을 다시 바꿀 수 있습니다. 캐시에 있는 구독 파일만 수정하면 다음 업데이트 때 덮어써질 수 있으므로, 계속 유지할 로컬 변경 사항은 클라이언트가 지원하는 영구 덮어쓰기 기능에 넣으세요.

마지막으로 연결 로그를 열고 특정 도메인에 적용된 규칙과 최종 출구를 확인하세요. 웹사이트에 표시되는 지역, 노드 지연 시간, 페이지가 열리는지만으로는 규칙이 적용되었다고 판단할 수 없습니다. 로그에서 올바른 규칙이 적용된 것으로 나오는데도 접속 문제가 있다면 DNS, 노드 연결 상태, 대상 서비스의 제한을 추가로 점검하세요.

Mac·iPhone·iPad 가져오기 후 확인 목록

Apple 기기에서 같은 구독 출처를 사용할 수는 있지만 모든 클라이언트가 동일한 설정의 모든 항목을 지원하는 것은 아닙니다. 특히 mihomo 확장 프로토콜, 규칙, DNS 옵션은 파일 확장자가 YAML이라는 이유만으로 호환된다고 판단하면 안 됩니다.

  1. 가져오기 유형을 확인하세요.전체 설정은 원격 설정 메뉴에서 가져오고, 프록시 목록은 앱이 지원하는 노드 또는 프록시 제공자 메뉴에서 불러오세요. 메뉴 이름은 클라이언트마다 다릅니다. 규칙 세트 URL을 노드 구독으로 가져오지 마세요.
  2. 설정 출처를 확인하세요.구독 주소가 복사 과정에서 잘리지 않았는지, 한글 문장 부호가 덧붙지 않았는지, 접근 토큰이 만료되지 않았는지 확인하세요. HTTP 401이나 403 오류가 발생하면 YAML을 수정하기 전에 인증 문제부터 해결합니다.
  3. 수신 포트를 확인하세요.이 예시에서는 127.0.0.1:7890을 사용하지만 실제 앱은 다른 포트를 사용할 수 있습니다. 시스템 프록시를 켜기 전에 앱에 표시된 수신 주소를 확인해 브라우저가 연결되지 않는 포트를 사용하지 않도록 하세요.
  4. 트래픽 전달과 분기를 각각 확인하세요.macOS 시스템 프록시는 프록시 설정을 따르는 앱에 주로 적용됩니다. TUN은 가상 인터페이스를 통해 라우팅된 트래픽을 전달받습니다. iOS는 보통 시스템 VPN 설정으로 트래픽을 처리합니다. 구독을 변환해도 이러한 권한이 자동으로 부여되지는 않습니다.
  5. 원격 업데이트를 한 번 확인하세요.처음 가져오기에 성공한 뒤 수동 업데이트를 실행해 로컬 덮어쓰기가 유지되는지, 노드 필터링으로 목록이 비워지지 않았는지, 정책 참조가 유효한지 확인합니다.

구독 형식 관련 자주 묻는 질문

Base64 디코딩 후 파일 이름만 .yaml로 바꿔 바로 가져와도 되나요?

파일 이름만 바꿔서는 변환할 수 없습니다. 디코딩 결과가 노드 URI 목록이라면 프로토콜 필드를 파싱해 YAML 구조를 생성해야 합니다. 도메인별로 트래픽을 분기하려면 알맞은 정책 그룹과 규칙도 추가해야 합니다. 원래 콘텐츠가 대상 클라이언트에서 지원하는 YAML일 때만 확장자 변경으로 파일 인식 문제를 해결할 수 있습니다.

Clash Meta, mihomo, 구형 Clash에서 같은 구독을 사용할 수 있나요?

기본 설정은 서로 겹치는 부분이 있지만 호환성이 양방향으로 보장되지는 않습니다. mihomo는 Clash Meta의 발전을 이어가며 지원하는 확장 필드와 프로토콜은 버전에 따라 달라집니다. 구형 코어에서는 이러한 항목을 거부할 수 있습니다. 이름에 Clash가 들어간 출력이 모두 완전히 같다고 보지 말고 실제 코어 버전을 기준으로 확인하세요.

Mac에서는 가져와지는데 iPhone에서는 설정이 지원되지 않는다고 표시되는 이유는 무엇인가요?

두 기기에서 서로 다른 코어, 구독 파서 또는 설정 모델을 사용할 수 있습니다. 먼저 iPhone 앱이 전체 YAML과 노드 목록 중 무엇을 요구하는지 확인한 다음 프로토콜 지원 여부를 확인하세요. 오류 메시지를 없애려고 알 수 없는 필드를 삭제하지 마세요. TLS나 전송 관련 매개변수를 지우면 노드가 올바르게 연결되지 않을 수 있습니다.

구독을 업데이트하면 모든 원격 규칙도 자동으로 새로고침되나요?

항상 그런 것은 아닙니다. 기본 설정 구독, 프록시 제공자, 규칙 제공자는 각각 업데이트 주기와 캐시가 다를 수 있습니다. 기본 구독 다운로드가 성공해도 모든 원격 리소스가 갱신된 것은 아닙니다. 제공자 상태와 로그를 각각 확인하세요. 네트워크 연결 실패, 리소스 형식 불일치, 잘못된 참조 이름도 최종 트래픽 분기에 영향을 줄 수 있습니다.