Clash에서 “구독”이 의미하는 것

구독(subscription)은 서비스 제공자가 호스팅하는 원격 설정 주소(URL)를 Clash·mihomo 클라이언트에 등록해 두면, 주기적으로 또는 수동으로 그 주소에서 최신 proxies 목록을 내려받아 로컬 프로필에 반영하는 방식을 말합니다. 단일 노드를 하나씩 붙여 넣는 것보다 한 번에 목록을 동기화할 수 있어 유지보수가 쉽고, 제공자가 노드를 교체해도 사용자는 URL만 갱신하면 됩니다. 개념과 기본 흐름은 문서 허브의 구독·프로필 안내와 함께 읽으면 전체 그림이 빠르게 잡힙니다.

구독 URL은 사실상 계정 자격에 가까운 비밀입니다. 링크가 유출되면 타인이 동일한 노드 풀을 쓰거나, 제공자 정책에 따라 계정이 제한될 수 있습니다. 그래서 “붙여 넣기 편한 도구”보다 어디에 저장하고 누가 볼 수 있는지를 먼저 생각하는 것이 안전한 사용의 출발점입니다.

자동 업데이트: 주기와 실패 대응

대부분의 GUI 클라이언트는 구독마다 갱신 간격(시간·분·시간 단위)을 둘 수 있습니다. 너무 짧게 두면 제공자 CDN에 부담을 주고 불필요한 실패 로그가 늘 수 있고, 너무 길면 노드 교체 직후 한동안 느리거나 끊긴 서버를 붙잡고 있을 수 있습니다. 일반적으로 12~24시간 안팎은 많은 사용자에게 무난한 타협점이며, 출퇴근 전에만 쓰는 기기라면 수동 갱신 위주로 두는 편이 부담도 적습니다.

자동 갱신이 반복해서 실패하면 원인은 대개 세 가지 중 하나입니다. 첫째, URL 오타·만료·재발급으로 원격이 더 이상 YAML을 주지 않는 경우입니다. 둘째, 일부 제공자는 특정 User-Agent만 허용하므로 클라이언트의 “구독 요청 UA” 옵션을 맞춰야 합니다. 셋째, 현재 네트워크가 구독 호스트에 직접 접속되지 않는 경우인데, 이때는 정책상 허용되는 범위에서만 다른 경로를 검토해야 합니다. 실패 시 로그에 찍힌 HTTP 상태 코드와 응답 본문이 HTML 오류 페이지인지 확인하면 원인 좁히기가 빨라집니다.

팁: 중요한 변경 전에는 로컬 config.yaml 또는 프로필을 복사해 두고 진행하세요. 구독 한 번 잘못 덮어쓴 뒤 규칙 섹션까지 날아가면 복구 시간이 길어질 수 있습니다.

형식 이해하기: Base64 목록과 Clash YAML

현장에서 말하는 “구독”은 내용물 형태가 두 갈래로 갈립니다. 하나는 여러 줄의 공유 가능한 노드 문자열을 Base64로 감싼 텍스트이고, 다른 하나는 처음부터 proxies: 아래에 이름·서버·포트·프로토콜이 정리된 YAML입니다. Clash 계열 코어는 최종적으로 프록시 정의 블록이 필요하므로, 클라이언트나 코어가 첫 번째 형식을 내부적으로 파싱해 노드로 펼치기도 합니다.

반대로 말하면, 브라우저로 구독 URL을 열었을 때 HTML 로그인 페이지나 짧은 오류 메시지만 보인다면 그 링크는 이미 무효이거나, 인증이 필요한 상태일 수 있습니다. “텍스트가 길게 보인다”고 해서 무조건 정상은 아니므로, 맨 앞 몇 글자가 proxies:인지, 아니면 Base64 덩어리인지 한 번 구분해 보는 습관이 좋습니다.

# Conceptual fragment — real files include more fields
proxies:
  - name: example-node
    type: ss
    server: example.com
    port: 443
    cipher: aes-256-gcm
    password: "***"

형식 변환과 다중 구독 통합

여러 제공자에서 받은 링크를 하나의 Clash 프로필로 묶고 싶다면, 로컬에서 돌리는 변환기(converter)Sub-Store 같은 메타 구독 도구를 쓰는 패턴이 흔합니다. 이런 도구는 원격에서 각 소스를 받아 병합·중복 제거·이름 규칙 적용 후, 다시 단일 구독 URL이나 로컬 파일로 뱉어 줍니다. 운영 부담은 줄지만, 중간 서버가 구독 내용을 볼 수 있다는 점은 동일하므로, 가능하면 자신이 제어하는 환경에서만 돌리고, 공개 인터넷의 “무료 변환” 페이지에 링크를 붙여 넣는 행위는 피하는 것이 좋습니다.

변환 파이프라인을 쓸 때는 출력 타겟이 mihomo/Clash.Meta 계열인지, 구형 코어와 키 이름이 맞는지도 확인하세요. 프로토콜 이름·암호화 스위트·udp 기본값 등은 코어 버전에 따라 미묘하게 다를 수 있습니다. 코어를 올린 뒤에는 마이그레이션 가이드와 맞춰 두면 예기치 않은 파싱 오류를 줄일 수 있습니다.

보안: 링크·로그·스크린샷 습관

구독 URL은 비밀번호와 같은 취급이 맞습니다. 메신저·게시판·공개 GitHub 저장소·스크린샷 한 장에 전체가 노출되면, 봇이 긁어 가거나 타인이 무분별하게 사용할 수 있습니다. 문제가 생기면 제공자 대시보드에서 링크 재발급·토큰 회전을 지원하는지 확인하고, 유출이 의심되면 즉시 교체하는 편이 안전합니다.

외부 웹 변환기에 URL을 입력하는 순간, 해당 운영자의 서버 로그에 목적지와 인증 정보가 남을 수 있습니다. 반드시 필요하다면 신뢰할 수 있는 자체 호스팅이나 공식 문서가 있는 도구를 선택하고, “한 번만 써 보자” 식의 무작위 사이트는 피하세요. 또한 Clash의 외부 컨트롤러0.0.0.0에 열어 두면 같은 LAN의 다른 기기에서 API를 탈취당할 위험이 있으니, 로컬호스트 바인딩과 방화벽 규칙을 함께 점검합니다.

Clash는 로컬 프록시 엔진일 뿐, 서버를 제공하지 않습니다. 구독은 신뢰할 수 있는 제공자로부터 직접 받고, 불법적인 우회 목적이나 제3자 권리를 침해하는 용도로 사용해서는 안 됩니다.

노드 목록만 최신이어도, 어떤 트래픽에 어떤 노드를 쓸지rulesproxy-groups가 결정합니다. 구독을 여러 개 두었다면 이름 충돌을 피하기 위해 접두어를 붙이거나, 변환기에서 그룹별 접두 규칙을 쓰는 방식이 일반적입니다. 규칙 문법·GEOIP·전략 그룹의 동작을 더 깊게 다루려면 규칙 심화 가이드를 이어서 읽는 것을 권합니다. 데스크톱에서 처음 프로필을 구성한다면 Windows 튜토리얼의 구독·프로필 절차와도 연결해 보면 흐름이 자연스럽습니다.

정리: 갱신·형식·신뢰를 한 세트로

잘 관리된 구독은 “한 번 넣고 잊는 링크”가 아니라, 주기·형식·보안 습관이 묶인 운영 루틴입니다. 자동 갱신 간격을 현실적으로 두고, 받은 텍스트가 진짜 YAML인지 확인하며, 변환이 필요할 때는 신뢰 경로만 쓰는 것이 핵심입니다. 같은 조건에서도 클라이언트가 안정적이고 규칙 편집이 수월하면 일상적인 마찰이 줄어듭니다. 여러 GUI 중에서 Clash·mihomo 기반 클라이언트는 규칙 표현력과 커뮤니티 자료 면에서 균형이 잘 잡힌 편이라, 구독 이후 단계까지 한 흐름으로 배우기에도 좋습니다.

→ Clash 공식 클라이언트 무료 다운로드 — 구독을 넣고 자동 갱신·규칙·TUN까지 한곳에서 다루어 보고 싶다면, 최신 빌드를 받아 직접 맞춰 보는 것이 가장 빠릅니다.