보안 및 개인정보 보호 · Clash 기술 블로그

Clash 구독 링크를 가져오는 방법: 형식 확인, 업데이트 실패 및 유출 대응

Profiles에 구독 이름이 보여도 구성이 로드됐다는 뜻은 아닙니다. 형식과 HTTP 오류를 확인하고 업데이트한 뒤 현재 구성으로 선택하세요. Proxies와 Connections에서 노드와 요청을 확인하세요. 유출된 링크는 재설정하고 기기에 저장된 사본도 교체해야 합니다.

  • 구독 가져오기
  • 설정 업데이트
  • 링크 보안
이 글의 목차

구독 주소를 얻거나 저장한 뒤에도 클라이언트가 해당 설정을 다운로드하고 활성화해야 그 안의 노드와 규칙을 사용할 수 있습니다. 기존 설정으로 아직 연결할 수 있다면 정상 작동하는 사본을 보관한 뒤 새 주소가 반환하는 내용과 로드 결과를 확인하세요. 업데이트 오류를 점검하다가 기존에 잘 되던 설정까지 지우지 않도록 해야 합니다.

Profiles에서 구독 저장, 업데이트, 활성화

완전한 원격 가져오기 한 번

  1. 서비스 제공자가 Clash 또는 Mihomo용으로 표시한 링크 복사

    처음의 https부터 마지막 매개변수까지 빠짐없이 복사하고 불필요한 공백을 넣지 않습니다.

  2. Profiles 또는 설정 페이지에서 원격 구독 추가

    본인이 출처를 알아볼 수 있는 이름을 쓰고 token을 이름에 넣지 않습니다.

  3. 즉시 업데이트 클릭

    상태 코드, 구문 분석 안내, 새 업데이트 시각을 확인합니다.

  4. 이 설정을 현재 사용 항목으로 지정

    Proxies 페이지에서 정책 그룹과 노드가 나타났는지 확인합니다.

클라이언트에 직접 링크, 설정 링크, URL Scheme 같은 여러 진입점이 있다면 일반 원격 링크부터 사용하세요. 특정 방식에서 client error(Connect)가 나면 클라이언트 문서에 안내된 다른 가져오기 메뉴를 사용할 수 있지만 "유효하지 않은 인증서 허용"을 계속 켜 두지는 마세요.

응답 내용으로 구독 형식 판단

Clash가 직접 가져올 수 있는 것은 아무 웹 주소나 아니라 서비스 제공자가 제공한 Clash 또는 Mihomo 호환 구독입니다. 클라이언트가 링크에 접속하면 서버가 proxies, proxy-groups, rules가 포함된 YAML을 반환할 수도 있고 인코딩된 텍스트, 로그인 페이지 또는 오류 페이지를 반환할 수도 있습니다. 응답 내용에 따라 구문 분석 가능 여부가 결정됩니다.

HTTP 상태 코드와 응답 내용 읽기

업데이트 결과 읽는 방법

표시된 결과의미와 해결 방법
401 / 403token 만료, 비정상 계정 상태 또는 서버의 접근 거부
404주소 경로가 바뀌었거나 링크를 완전하게 복사하지 않음
200이지만 콘텐츠가 <html로 시작함설정이 아니라 로그인 페이지, 검증 페이지 또는 오류 웹페이지를 반환함
200이며 proxies / proxy-groups / rules가 포함됨Clash/Mihomo YAML로 보이며 계속 구문 분석할 수 있음
download failed / timeout제한 시간 안에 클라이언트가 응답을 받지 못했으므로 네트워크와 서버를 확인

일부 구독 서비스는 User-Agent에 따라 다른 형식을 반환합니다. 브라우저에서 직접 열었을 때 문자열이 보인다고 Clash 요청도 반드시 같은 것은 아닙니다. 반대로 브라우저에 웹페이지가 보인다고 링크가 무효화된 것도 아닙니다. 설정을 반복해서 삭제하는 것보다 클라이언트 버전, 업데이트 시각, 상태 코드를 제공자에게 전달하는 편이 유용합니다.

parse error: 형식과 코어 호환성 문제

parse, yaml: unmarshal, field not found 같은 오류는 네트워크 요청이 대체로 끝났고 클라이언트가 콘텐츠를 읽는 단계에서 막혔다는 뜻입니다. 서버가 다른 클라이언트 형식을 반환했거나 YAML 들여쓰기가 손상되었거나 설정이 현재 커널에서 지원하지 않는 필드를 사용한 경우가 흔합니다.

이때 노드를 바꿔도 보통 도움이 되지 않습니다. 첫 번째 구체적인 오류와 행 번호를 보관하고 클라이언트의 Mihomo 버전을 확인한 뒤 구독 제공자에게 호환 형식을 생성해 달라고 요청하세요. 다음 업데이트가 모든 내용을 덮어쓰므로 원격 설정의 수십 곳을 수동으로 고치지 마세요.

unexpected character '<'

응답이 HTML 페이지일 가능성이 큽니다. 로그인, 검증 또는 서버 오류를 확인하세요.

mapping values are not allowed

YAML 들여쓰기 또는 기호가 손상되었습니다. 제공자에게 다시 생성해 달라고 요청하세요.

unsupported proxy type / field not found

커널 버전과 설정 필드가 맞지 않습니다. 지원되는 버전으로 업그레이드하거나 호환 구독으로 바꾸세요.

업데이트에 성공했지만 Proxies가 비어 있다

원격 업데이트는 성공했지만 Proxies 페이지에 노드가 없다면 응답에 규칙만 있거나 모든 노드가 필터링됐거나 이전 구성이 계속 선택되어 있을 수 있습니다.

Profiles의 선택 표시를 확인하고 구성에 proxies 또는 proxy-providers가 있으며 proxy-groups가 이를 참조하는지 확인하세요. 덮어쓰기 스크립트가 모든 노드를 제거했는지도 확인하세요.

노드가 있어도 사용되지 않는 그룹 하나에만 들어 있으면 주 정책이 DIRECT에 머물 수 있습니다. 실제 노드가 포함된 정책 그룹을 선택해 노드 하나를 고정하고 Connections에서 요청을 관찰하세요. 지연 시간 버튼만 보는 것보다 설정 연결 여부를 더 정확히 알 수 있습니다.

이전 구성으로 여전히 연결되는 이유

Clash는 대개 마지막으로 다운로드에 성공한 로컬 사본을 계속 사용합니다. 구독이 만료되었거나 서버에서 오류가 나도 기존 노드를 잠시 사용할 수 있습니다. 업데이트 상태는 웹페이지가 열리는지가 아니라 "마지막 업데이트 시각"과 이번 오류로 판단하세요.

기존 설정이 작동한다면 성급히 삭제하지 마세요. 오류 정보를 내보내고 계정과 링크 상태를 확인한 뒤 새 주소 업데이트에 성공하면 이전 기록을 제거합니다. 유일하게 사용 가능한 사본을 바로 삭제하면 진단할 수 있던 문제가 즉시 인터넷 끊김으로 바뀝니다.

기존 노드는 정상이고 새 업데이트는 401
서버가 현재 자격 증명을 거부했습니다. 서비스 패널에 로그인해 구독 주소를 확인하세요.
가정용 네트워크에서는 업데이트 시간 초과, 휴대전화 핫스폿에서는 성공
YAML 형식보다 현재 네트워크 경로에 가까운 문제입니다.
여러 클라이언트가 같은 시각에 실패함
기기별로 다시 설치하지 말고 서비스 공지와 구독 상태부터 확인하세요.

가져온 뒤 노드와 Connections 확인

새 Profile을 선택하고 Proxies에서 노드 하나를 고정한 뒤 Rule 모드를 유지하세요. Windows/macOS 데스크톱 클라이언트에서는 시스템 프록시를 켜세요. Android에서는 클라이언트의 연결 기능으로 VPN을 시작하고 권한을 승인하세요. 익숙한 페이지를 열고 Connections에서 도메인, 규칙, 연결 경로를 확인하세요. 지연 시간 테스트는 실제 요청을 대신하지 못합니다.

요청이 Clash에 들어온 뒤 timeout이 발생하면 다른 노드를 사용하세요. 기록이 없다면 데스크톱 시스템 프록시 또는 Android VPN이 적용됐는지 확인하고, DIRECT가 표시되면 규칙을 살펴보세요. 페이지가 정상이고 기록이 선택과 일치해야 구독의 다운로드, 해석, 활성화, 요청 전달이 완료됐다고 확인할 수 있습니다.

구독 주소의 token은 대개 읽기용 인증 정보와 같습니다. 문제를 점검할 때는 오류 상태, 응답 유형, 시각만 필요하며 전체 URL을 공개할 필요는 없습니다. 대화 캡처, 화면 녹화, 로그를 공유하기 전에 경로나 매개변수에 있는 인증 정보를 가리세요. 어느 부분이 민감한지 확실하지 않다면 구독 주소 전체를 가립니다.

Profile의 표시 이름만 바꿔도 기존 인증 정보는 무효화되지 않습니다. 전체 구독이 공개됐다면 서비스 관리 화면에서 주소를 초기화한 뒤 아래 절차에 따라 기기의 이전 링크를 교체하세요.

  1. 새 구독 주소 생성

    서비스 제공자가 제공하는 재설정 또는 token 새로 고침 기능을 사용합니다.

  2. 통제 중인 기기 업데이트

    기기별로 기존 URL을 교체하고 새 업데이트 시각과 노드 목록을 확인합니다.

  3. 기존 주소 무효화 확인

    기존 링크를 대화에 다시 보내지 말고 서비스 패널에 표시된 상태만 확인하세요.

  4. 비정상 사용량 확인

    알 수 없는 기기 또는 트래픽 변화를 발견하면 서비스 제공자의 계정 보안 절차에 따라 처리하세요.