Clash 멀티 디바이스 설정 동기화 방법: WebDAV·구독 링크·수동 내보내기 비교

PC와 스마트폰에서 Clash 설정을 일치시키는 방법을 비교합니다. 구독 링크, WebDAV 백업·복원, YAML 수동 이전의 적합한 상황과 비용, 주의점을 정리했습니다.

먼저 설정 동기화·구독 업데이트·클라이언트 백업을 구분하기

Clash 멀티 디바이스 동기화는 단순한 단일 스위치가 아닙니다. Windows, macOS, Android, Linux 클라이언트가 모두 mihomo 커널을 사용할 수 있지만, 각 클라이언트가 저장하는 데이터는 완전히 같지 않습니다. 실제로 동기화할 내용은 보통 세 계층으로 나뉩니다. 원격에서 제공하는 노드와 규칙, 직접 작성한 YAML 설정, 클라이언트 자체의 화면 설정과 실행 상태입니다.

세 가지 데이터는 서로 혼동하면 안 됩니다

예를 들어 PC에서 시스템 프록시를 활성화하고 127.0.0.1:7890을 수신하도록 설정한 것은 PC 클라이언트의 실행 설정일 뿐입니다. 같은 설정을 Android에 가져와도 스마트폰이 동일한 시스템 프록시 상태를 얻는 것은 아니며, Android VPN 인터페이스를 통해 트래픽을 처리합니다. 마찬가지로 데스크톱의 TUN 네트워크 인터페이스 이름, 라우팅 제외 항목, 관리자 권한 설정도 휴대폰에 그대로 적용해서는 안 됩니다.

동기화 전에 네 가지 기준 정보부터 기록하기

  1. 각 기기에서 사용하는 커널 이름과 버전을 확인하세요. 예를 들어 mihomo 1.19.x처럼 기록하면 이전 커널이 새 필드를 인식하지 못하는 문제를 피할 수 있습니다.
  2. 혼합 포트, 컨트롤 포트, LAN 수신 설정을 기록하세요. 흔히 혼합 포트는 7890, 외부 컨트롤러는 127.0.0.1:9090을 사용하지만 실제 값은 현재 설정을 기준으로 해야 합니다.
  3. 설정에 포함된 로컬 절대 경로를 확인하세요. 예를 들어 Windows의 C:\Users\...나 Android 전용 디렉터리 등이 있습니다. 이러한 경로는 플랫폼 간에 그대로 사용할 수 없습니다.
  4. 정상 작동하는 현재 설정을 복사해 보관하고 날짜, 기기, 클라이언트 버전을 표시하세요. 예: home-win-2026-08-16.yaml.

방법 1: 구독 링크로 노드와 규칙을 중앙 관리하기

구독 링크는 멀티 디바이스 환경에서 관리 비용이 가장 낮은 방법입니다. PC와 스마트폰이 같은 URL을 각각 저장하고, 업데이트할 때 각 기기에서 서버의 최신 내용을 가져옵니다. 기기끼리 파일을 복사하는 방식이 아니라 모든 기기가 같은 데이터 소스를 읽는 구조이므로 ‘어느 기기의 사본이 최신인가’라는 충돌이 생기지 않습니다.

일반적인 가져오기 절차

일반적인 클라이언트 화면을 기준으로 하면 데스크톱에서는 보통 「구독」→「새로 만들기」→「URL」로 이동해 구독 주소와 자동 업데이트 주기를 입력합니다. Android 클라이언트에서는 보통 「프로필」→「+」→「URL에서 가져오기」로 이동합니다. 메뉴 이름은 클라이언트 버전에 따라 달라질 수 있지만, 핵심은 URL 저장, 설정 다운로드, 해당 설정 선택, 커널 시작입니다.

  1. 첫 번째 기기에서 구독을 가져온 뒤 다운로드가 정상적으로 완료되는지 확인하고 노드 수와 프록시 그룹 이름을 점검합니다.
  2. 규칙 모드로 전환한 뒤 직접 연결할 사이트와 프록시가 필요한 사이트를 각각 테스트합니다.
  3. 두 번째 기기에서 같은 URL을 가져오세요. 첫 번째 기기에서 생성된 캐시 파일을 먼저 복사하지는 마세요.
  4. 각 기기에서 업데이트 주기를 따로 설정합니다. 일반적인 사용이라면 1440분마다 업데이트하도록 설정할 수 있습니다. 노드 변경이 잦다면 360분으로 줄일 수 있지만 몇 분마다 요청할 필요는 없습니다.
  5. 업데이트 후 클라이언트 로그를 확인해 응답 상태와 설정 파싱이 모두 성공했는지 확인합니다.

구독 방식의 장점과 한계

항목 동작 주의할 점
노드 업데이트 각 기기가 최신 노드를 직접 가져옵니다 구독 주소가 만료되면 모든 기기에 영향을 줍니다
규칙 동기화 구독과 함께 업데이트할 수 있습니다 로컬에서 직접 수정한 내용이 다음 업데이트 때 덮어써질 수 있습니다
기기별 차이 각 기기에서 노드를 독립적으로 선택합니다 TUN, 시스템 프록시 등은 플랫폼별로 따로 설정해야 합니다
복구 비용 URL을 다시 가져오면 됩니다 클라이언트 환경 설정과 권한을 다시 구성해야 합니다

가장 흔한 문제는 구독으로 다운로드한 YAML을 직접 편집하는 것입니다. 많은 클라이언트가 이 파일을 원격 캐시로 취급하므로 ‘업데이트’를 누르면 로컬 수정 사항을 덮어씁니다. 장기간 유지할 DNS, 규칙, 프록시 그룹 변경은 클라이언트가 지원하는 오버라이드, 확장 스크립트, 병합 설정에 넣어야 합니다. 이러한 기능이 없다면 구독 캐시를 주 설정 파일로 사용하지 말고 별도의 설정 파일을 관리하세요.

provider로 변경 가능한 콘텐츠 분리하기

YAML에 익숙한 사용자는 메인 설정을 안정적으로 유지하고 노드나 규칙만 원격 provider에 둘 수 있습니다. 아래 구조는 기본 관계를 보여주는 예시이며 URL과 경로는 실제로 접근 가능한 값으로 바꿔야 합니다.

mixed-port: 7890
mode: rule
allow-lan: false

proxy-providers:
  remote-nodes:
    type: http
    url: "https://example.net/profile/nodes.yaml"
    path: "./providers/remote-nodes.yaml"
    interval: 21600
    health-check:
      enable: true
      url: "https://www.gstatic.com/generate_204"
      interval: 600

rule-providers:
  private-rules:
    type: http
    behavior: classical
    format: yaml
    url: "https://example.net/rules/private.yaml"
    path: "./rules/private.yaml"
    interval: 86400

interval: 21600은 노드 provider를 6시간마다 한 번 확인한다는 의미이고, 규칙의 86400은 하루에 한 번 확인한다는 뜻입니다. provider의 로컬 path는 캐시 위치이므로 특정 기기의 절대 경로에 의존해서는 안 됩니다. mihomo 버전에 따라 format, 규칙 동작, provider 필드 지원 여부가 다를 수 있으므로 가져온 뒤 먼저 파싱 로그를 확인하세요.

방법 2: WebDAV로 백업하고 복원하기

WebDAV는 ‘클라이언트 자료를 원격에 묶어 저장한 뒤 다른 기기에서 복원하는’ 방식에 가깝습니다. 여러 설정, 오버라이드 스크립트, 규칙 파일, 일부 클라이언트 환경 설정을 저장하기에 적합하지만, 양쪽 클라이언트가 호환되는 WebDAV 백업 형식을 구현해야 합니다. WebDAV는 파일 접근 방식만 규정할 뿐, Clash 클라이언트가 동일한 백업 구조를 사용하도록 정하지는 않습니다.

WebDAV가 적합한 상황

클라이언트가 이 기능을 제공한다면 메뉴는 보통 「설정」→「백업 및 복원」→「WebDAV」 또는 「설정」→「데이터」→「WebDAV」에 있습니다. 서버 주소, 사용자 이름, 비밀번호, 원격 디렉터리를 입력한 뒤 먼저 ‘연결 테스트’를 실행하고 첫 백업을 생성하세요. 주소는 서비스 루트 경로일 수도 있고 전체 디렉터리일 수도 있습니다. 예: https://dav.example.net/remote.php/dav/files/user/clash/. 정확한 형식은 서버 안내를 따르세요.

안전한 첫 동기화 순서

  1. 주 기기에서 자동 복원을 끄고 시간 정보를 포함한 원격 백업을 수동으로 생성합니다.
  2. WebDAV 서비스에 로그인해 파일이 생성되었는지 확인하고 파일 크기를 기록하세요. 예를 들어 정상 백업이 2.8 MB인데 수십 바이트에 불과하다면 오류 페이지가 업로드된 것은 아닌지 확인해야 합니다.
  3. 두 번째 기기에 동일한 클라이언트의 같은 메이저 버전을 설치한 뒤 WebDAV 연결을 구성합니다.
  4. 먼저 백업 목록을 내려받고 양방향 자동 동기화는 바로 활성화하지 마세요.
  5. 시간이 명확한 백업을 선택해 복원하고 클라이언트를 재시작한 다음 구독, 규칙 모드, DNS, TUN 스위치를 항목별로 점검합니다.
  6. 두 번째 기기가 정상적으로 작동하는 것을 확인한 뒤 예약 백업을 활성화할지 결정합니다.

연결에 실패하면 HTTP 상태 코드로 범위를 좁힐 수 있습니다. 401은 보통 인증 정보가 통과되지 않았다는 뜻이고, 403은 계정에 디렉터리 권한이 없다는 의미입니다. 404는 경로 오류에서 흔히 발생하며, 409는 상위 디렉터리가 아직 생성되지 않았을 가능성이 있습니다. 507은 원격 저장 공간 부족을 뜻합니다. 클라이언트에 ‘백업 실패’만 표시될 때는 WebDAV 서버 로그도 함께 확인해야 합니다.

WebDAV는 실시간 양방향 병합이 아닙니다

PC와 스마트폰에서 같은 설정을 각각 수정한 뒤 동일한 파일명으로 업로드하면 나중에 업로드한 쪽이 앞선 파일을 덮어쓸 수 있습니다. 대부분의 클라이언트는 협업 문서처럼 YAML을 필드별로 병합하지 않으며, 프록시 그룹 변경과 DNS 변경을 모두 보존해야 하는지도 판단하지 못합니다.

클라이언트 간 복원은 특히 신중해야 합니다. 클라이언트 A는 설정을 YAML과 JSON 인덱스로 저장하고 클라이언트 B는 데이터베이스에 설정 ID를 기록할 수 있습니다. 둘 다 mihomo를 사용하더라도 WebDAV 백업이 서로 호환된다는 보장은 없습니다. 클라이언트를 바꿀 때는 다른 클라이언트의 전체 데이터 묶음을 직접 복원하기보다 표준 YAML을 내보내거나 구독을 다시 가져오는 편이 안전합니다.

방법 3: YAML 수동 내보내기 및 가져오기

수동 내보내기는 이해하기 쉽고 자주 하지 않는 이전 작업에 적합합니다. 현재 클라이언트에서 설정 파일을 내보내고 LAN 파일 전송, 데이터 케이블, 개인 저장 공간 등을 이용해 다른 기기로 옮긴 뒤 파일에서 가져옵니다. 자동 업데이트는 되지 않지만 매번 전달되는 내용이 명확해 보관과 비교가 쉽습니다.

표준 작업 절차

  1. 클라이언트에서 「프로필」 또는 「구독」으로 이동해 현재 활성 항목을 찾은 다음 「내보내기」 또는 「설정 폴더 열기」를 선택합니다.
  2. 메인 YAML 파일을 복사합니다. 설정이 로컬 provider, 스크립트, 규칙 파일을 참조한다면 해당 디렉터리도 함께 복사해야 합니다.
  3. 텍스트 편집기로 절대 경로, LAN 주소, 기기 전용 네트워크 인터페이스 이름을 검색합니다.
  4. 용도와 날짜가 포함된 이름으로 파일을 지정합니다. 예: travel-phone-2026-08-16.yaml.
  5. 대상 기기에서 「프로필」→「+」→「파일에서 가져오기」로 이동합니다. 완료 후 먼저 파싱 오류를 확인하고 프록시를 시작하세요.

플랫폼 간 이전 시 중점적으로 확인할 필드

external-controller: 127.0.0.1:9090
secret: "replace-with-device-specific-secret"
allow-lan: false

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53

이 설정은 점검용 예시일 뿐 모든 플랫폼에서 그대로 활성화해야 한다는 뜻은 아닙니다. Android 클라이언트는 보통 시스템 VPN 권한으로 실행되고, 데스크톱에서는 TUN 네트워크 인터페이스 생성에 관리자 권한이 필요할 수 있습니다. 가져온 뒤 ‘설정은 유효하지만 인터넷에 연결되지 않는’ 문제가 발생하면 먼저 TUN을 끄고 시스템 프록시나 앱 내 VPN만 활성화해 기본 노드가 작동하는지 확인한 다음 항목별로 복원하세요.

수동 이전에서 가장 자주 빠뜨리는 파일

메인 설정의 proxy-providersrule-providers가 HTTP 유형이라면 대상 기기에서 캐시를 다시 다운로드할 수 있습니다. 하지만 type: file을 사용한다면 로컬 파일도 함께 이전해야 합니다. 설정에서 참조하는 스크립트, 사용자 지정 GEO 데이터, 인증서 파일도 YAML에 자동으로 포함되지 않습니다.

또 다른 흔한 오해는 실행 캐시를 원본 설정으로 착각하는 것입니다. cache.db, profiles.json, state와 비슷한 이름의 파일은 현재 클라이언트에서만 유효할 수 있습니다. 플랫폼 간 이전에서는 프로그램 데이터 디렉터리 전체를 복사하기보다 클라이언트가 명시적으로 제공하는 ‘설정 내보내기’ 기능을 우선 사용하세요.

세 가지 동기화 방식 중 무엇을 선택할까

사용 목적 우선할 방법 이유
PC와 스마트폰에서 같은 노드 묶음을 사용 구독 링크 각 기기에서 독립적으로 업데이트하면서 관리 지점은 하나로 유지
새 PC에서 기존 클라이언트 환경 복원 WebDAV 여러 설정과 클라이언트 데이터를 한 번에 복원할 수 있음
가끔 설정 하나를 다른 기기로 복사 수동 내보내기 절차가 투명하고 클라이언트 동기화 형식에 의존하지 않음
여러 기기에서 사용자 지정 규칙을 장기간 관리 구독 또는 provider + 로컬 오버라이드 공통 부분과 기기별 차이를 분리할 수 있음
서로 다른 클라이언트 간 이전 구독 링크 또는 표준 YAML 전체 백업 형식은 보통 클라이언트 간 복원을 지원하지 않음

권장 조합 방식

대부분의 사용자는 셋 중 하나만 고를 필요가 없습니다. 더 안정적인 구조는 구독 링크가 노드와 공통 규칙을 담당하고, 클라이언트 오버라이드가 기기별 DNS·TUN·LAN 설정을 담당하며, WebDAV 또는 수동 내보내기로 복구 지점을 보관하는 방식입니다. 특정 기기의 설정이 손상되어도 구독을 다시 가져온 뒤 기기 전용 매개변수만 복원하면 됩니다.

  1. 공통 계층: 노드, 프록시 그룹, 공통 규칙은 구독 또는 provider에서 가져옵니다.
  2. 기기 계층: 포트, TUN, 시스템 프록시, LAN 접근, 컨트롤 인터페이스는 로컬 기기에서 설정합니다.
  3. 백업 계층: 큰 변경을 하기 전 날짜가 포함된 WebDAV 백업을 만들거나 YAML을 내보냅니다.
  4. 검증 계층: 업데이트 후 설정 파싱, DNS 조회, 규칙 매칭, 실제 연결 상태를 확인합니다.

예를 들어 Windows 데스크톱에서는 혼합 포트 7890과 시스템 프록시를 사용할 수 있고, Android에서는 VPN 모드로 실행할 수 있습니다. 두 기기는 프록시 노드와 규칙을 공유하되 실행 상태까지 공유할 필요는 없습니다. 현재 선택한 노드도 달라도 됩니다. PC는 지연 시간이 짧은 노드를 선택하고 스마트폰은 모바일 네트워크 안정성에 따라 다른 노드를 선택할 수 있습니다.

동기화 후 작동하지 않을 때의 점검 순서

1단계: 설정이 정상적으로 파싱되었는지 확인

먼저 클라이언트 로그를 확인하고 문제를 바로 노드 탓으로 돌리지 마세요. field not found, yaml unmarshal, 중복 키 메시지가 나타난다면 대개 커널 버전이 해당 필드를 지원하지 않거나 YAML 들여쓰기가 잘못되었거나 병합 설정에서 충돌이 발생한 경우입니다. YAML은 공백으로 들여쓰고 Tab은 피해야 합니다. 같은 수준의 필드를 두 번 정의하지 마세요.

2단계: 원격 리소스 확인

3단계: DNS·규칙·TUN을 분리해 테스트

  1. TUN을 잠시 끄고 클라이언트가 지원하는 기본 프록시 방식만 사용해 노드 연결을 테스트합니다.
  2. 모드를 잠시 글로벌로 전환해 문제가 노드에서 비롯된 것인지 규칙 매칭에서 비롯된 것인지 판단합니다.
  3. 규칙 모드로 되돌린 뒤 로그에서 요청이 어떤 규칙과 정책 그룹에 매칭되었는지 확인합니다.
  4. DNS 수신과 하이재킹 설정을 확인합니다. 로컬 서비스가 이미 53, 7890, 9090 포트를 사용 중이라면 포트를 변경하거나 충돌하는 프로세스를 중지해야 합니다.
  5. 마지막으로 TUN을 다시 활성화하고 시스템 권한, 기본 경로, 네트워크 인터페이스 자동 감지가 정상인지 확인합니다.

멀티 디바이스를 장기적으로 관리하는 방법

기기가 많을수록 각 기기에서 직접 편집하는 일을 줄여야 합니다. 공통 규칙은 하나의 관리 출처만 두고 기기 전용 설정은 로컬에 명확히 남겨두세요. PC, 태블릿, 스마트폰에 버전 표시도 없이 조금씩 다른 전체 설정을 각각 저장하면 몇 달 뒤 어느 파일에 최신 변경 사항이 들어 있는지 판단하기 어려워집니다.

간단한 버전 기록 만들기

최종 선택은 간단합니다. 여러 기기에서 같은 노드 묶음을 사용하려면 구독 링크, 같은 클라이언트 환경 전체를 이전하려면 WebDAV, 임시 복사나 클라이언트 간 이전에는 수동 내보내기를 선택하세요. 규칙을 자주 수정하는 고급 사용자는 ‘원격 공통 설정 + 로컬 기기 오버라이드 + 정기 백업’ 구조를 사용하면 유지 관리 비용이 낮고 동기화 후 이상도 쉽게 추적할 수 있습니다.

Clash 클라이언트 다운로드 플랫폼별 사용 가능 버전 확인