공유할 설정과 기기별 설정 구분하기
PC와 휴대폰에서 Clash 설정을 함께 사용하더라도 보통 공유할 것은 노드 제공처, 프록시 그룹 이름, 분기 규칙이지 클라이언트 데이터 폴더 전체가 아닙니다. Windows의 시스템 프록시, Android의 VPN 트래픽 처리, Linux의 라우팅 권한은 서로 다릅니다. 한 기기에서 사용 중인 파일을 통째로 다른 기기에 복사하면 호환되지 않는 네트워크 인터페이스 이름, 수신 주소, 실행 상태까지 옮겨질 수 있습니다.
클라이언트와 코어도 구분해야 합니다. 클라이언트는 구독 가져오기, 자동 업데이트, 설정 생성, 시스템 프록시 설정을 담당하고, Clash 또는 mihomo 코어는 최종 설정을 읽어 트래픽을 처리합니다. 클라이언트의 ‘오버라이드’, ‘병합’, ‘스크립트’ 기능은 모든 코어가 바로 읽을 수 있는 공통 설정 항목이 아닙니다.
| 설정 항목 | 공유하기 적합한 항목 | 기기별 확인이 필요한 항목 |
|---|---|---|
| 노드 및 규칙 | 구독 주소, 규칙 세트 출처, 프록시 그룹 이름 | 요금제의 기기 제한, 노드 프로토콜 지원 여부 |
| 코어 설정 | 호환되는 규칙과 기본 DNS 설정 | TUN, DNS 수신, 네트워크 인터페이스, 포트 사용 여부 |
| 클라이언트 상태 | 필요한 경우 선택한 프록시 그룹 이름 기록 | 시스템 프록시, 시작 시 실행, 백그라운드 권한, 화면 설정 |
방법 1: 모든 기기에서 같은 구독 링크 가져오기
구독 링크는 노드를 일괄 업데이트하기에 적합하며, 모바일과 데스크톱을 함께 사용할 때도 편리합니다. 각 클라이언트가 같은 주소에 따로 요청을 보내고 각자 사본을 저장하는 방식입니다. 한 기기의 변경 사항이 다른 기기에 즉시 반영되는 것은 아닙니다. 여러 기기 사용 허용 여부와 동시 연결 수 산정 방식은 서비스 제공자의 정책을 확인하세요.
가져오기 및 업데이트 절차
- 구독에서 제공하는 형식을 확인하세요. 완전한 Clash YAML에는 보통 노드, 프록시 그룹, 규칙이 포함됩니다. 노드만 포함된 구독은 클라이언트나 로컬 설정으로 나머지 항목을 보완해야 하며, URL 확장자만으로 형식을 판단할 수 없습니다.
- 각 기기의 구독 관리 화면에서 ‘URL에서 가져오기’와 같은 메뉴를 사용하세요. 클라이언트마다 메뉴 이름이 다릅니다. 가져온 뒤에는 설정 미리보기를 열어 웹페이지나 로그인 안내, 오류 문구가 아닌지 확인하세요.
- 기기별 업데이트 작업을 설정하세요. 예를 들어 데스크톱은 업데이트 간격을 24시간으로 설정할 수 있습니다. 휴대폰에서는 백그라운드 실행도 허용해야 하며, 예약한 시간이 반드시 실행 시각을 보장하지는 않습니다.
- 한 번 수동으로 업데이트하고 노드 수, 프록시 그룹 이름, 업데이트 시각을 확인한 다음 설정을 활성화하세요. 구독 항목이 표시된다는 이유만으로 코어 전환까지 성공했다고 판단하지 마세요.
서버에서 생성한 전체 구독 설정은 업데이트 과정에서 교체될 수 있습니다. 다운로드된 사본의 rules를 직접 수정하면 다음 업데이트 때 변경 내용이 사라질 수 있습니다. 계속 유지해야 할 규칙은 클라이언트가 지원하는 로컬 오버라이드에 넣거나 직접 관리하는 설정 소스에 보관하세요.
구독 동기화에 현재 선택한 노드는 포함되지 않습니다
이름이 같은 select 프록시 그룹이라도 휴대폰에서는 노드 A를, PC에서는 노드 B를 선택할 수 있습니다. 일부 코어는 profile.store-selected로 기기별 선택을 저장할 수 있지만, 기기 간 동기화를 의미하지는 않습니다. 자동 지연 테스트 그룹의 결과도 로컬 네트워크에 따라 달라지므로 가정용 인터넷과 모바일 네트워크에서 서로 다른 노드가 선택되는 것은 정상입니다.
구독 주소에는 보통 접근 인증 정보가 포함됩니다. 전체 링크를 공개 저장소나 스크린샷, 공개 문의에 올리거나 출처가 불분명한 온라인 변환 서비스에 입력하지 마세요. 유출된 경우 서버에서 구독 주소를 재발급한 뒤 모든 기기에 저장된 주소를 업데이트해야 합니다. 로컬 파일만 삭제해도 기존 링크의 접근 권한은 취소되지 않습니다.
방법 2: 클라우드 드라이브로 설정 원본 파일 동기화
클라우드 드라이브는 사용자 지정 YAML, 규칙 파일, 변경 내역을 관리하기에 적합하며, 특히 데스크톱 두 대 간 동기화에 유용합니다. 실행 중인 클라이언트 데이터 폴더 대신 별도의 ‘설정 원본 폴더’를 동기화하세요. 클라이언트 데이터 폴더에는 캐시, 로그, 데이터베이스, 잠금 파일, 클라이언트 전용 메타데이터가 함께 들어 있을 수 있습니다.
편집 기기는 하나만 지정해 동시 수정 방지하기
클라우드 드라이브에 다음과 같은 폴더를 만들 수 있습니다. 파일명은 용도를 구분하기 위한 것이며, 클라이언트가 해당 이름을 인식해야 하는 것은 아닙니다. 어떤 파일을 가져와야 하는지, 내부 폴더로 복사해야 하는지는 클라이언트별로 확인하세요.
clash-config-source/
shared-rules.yaml
desktop-source.yaml
mobile-source.yaml
change-notes.txt
- PC 한 대를 원본 파일 편집용으로 지정하세요. 다른 기기는 파일을 읽거나 가져오기만 하도록 해 오프라인 상태에서 수정한 파일이 서로 충돌하는 일을 방지합니다.
- 수정 후에는 편집 기기에서 YAML과 규칙 대상이 올바른지 확인한 다음 클라우드 드라이브 업로드가 완료될 때까지 기다리세요.
- 수신 기기에서 다운로드가 완료됐는지 확인한 뒤 설정을 다시 가져오거나 불러오세요. 파일이 클라우드 폴더에 도착했다고 해서 클라이언트가 새 내용을 읽은 것은 아닙니다.
- 사용 가능한 이전 파일과 변경 내역을 보관하세요. 이전 상태로 되돌릴 때는 원본 파일을 복원하고 클라이언트에서 다시 불러오면 됩니다.
클라우드 드라이브의 웹 공유 링크는 보통 미리보기 페이지를 반환하고 로그인이 필요할 수도 있으므로 구독 주소로 바로 사용할 수 없습니다. 클라이언트가 설정 내용을 직접 가져올 수 있는 주소가 필요합니다. 불가능하다면 로컬 파일을 가져오세요. 휴대폰의 시스템 파일 선택기로 가져오면 클라이언트가 일회성 사본만 저장할 수 있어 이후 클라우드 파일이 업데이트되어도 자동 반영되지 않을 수 있습니다.
민감한 설정은 접근 권한을 제한하세요
전체 설정에는 노드 비밀번호, 구독 인증 정보, 외부 제어 인터페이스 접근 키가 포함될 수 있습니다. 클라우드 드라이브 폴더의 공유 범위를 제한하고 더 이상 필요하지 않은 공개 공유는 해제하세요. 백업과 일상적인 배포도 분리해야 합니다. 장기 보관용 백업이 모든 기기에서 계속 읽는 운영 설정이 되어서는 안 됩니다.
방법 3: 구독에 로컬 오버라이드 파일 추가
노드는 구독에 따라 업데이트하면서 포트, DNS, 규칙을 계속 유지해야 한다면 오버라이드가 적합합니다. 클라이언트가 구독을 가져온 뒤 자체 병합 또는 스크립트 규칙에 따라 최종 설정을 생성하고 코어에 전달합니다. 오버라이드 메뉴, 형식, 실행 순서는 클라이언트마다 다르므로 특정 클라이언트의 병합 파일을 모든 기기에 그대로 가져오면 안 됩니다.
기기별 설정은 로컬에 유지하기
아래는 데스크톱 기기에 적용할 일부 설정 예시이며 단독으로 실행할 수 있는 완전한 구독 설정은 아닙니다. 노드와 프록시 그룹은 포함되어 있지 않습니다. 최상위 필드 병합을 지원하는 클라이언트의 오버라이드 메뉴에 넣거나 완성된 설정에 직접 병합해야 합니다.
mixed-port: 7890
allow-lan: false
bind-address: 127.0.0.1
mode: rule
log-level: info
mixed-port: 7890은 같은 포트에서 HTTP와 SOCKS 프록시 연결을 모두 받는다는 뜻입니다. 로컬에서 다른 프로그램이 7890을 사용 중이라면 7893으로 바꾸고 해당 포트를 가리키는 시스템 프록시나 앱 프록시 설정도 함께 수정하세요. allow-lan: false는 LAN 접근을 차단하는 설정이며, 기기 간 프록시 서비스 공유를 의미하는 것으로 오해하면 안 됩니다.
휴대폰에서 시스템 VPN 인터페이스로 트래픽을 처리한다면 보통 PC의 시스템 프록시 포트 설정을 그대로 적용할 필요가 없습니다. Android의 앱별 프록시와 백그라운드 배터리 정책, 데스크톱의 TUN 설정과 관리자 권한은 기기별로 확인하세요.
규칙 목록이 자동으로 병합된다고 가정하지 마세요
YAML은 데이터 형식일 뿐, 공통 오버라이드 알고리즘을 제공하지 않습니다. 어떤 클라이언트는 로컬 rules로 전체 목록을 교체하고, 다른 클라이언트는 ‘우선 규칙’ 기능을 제공합니다. 규칙을 추가하기 전에 병합 방식을 확인하세요. 규칙 두 개만 있는 목록으로 기존 구독을 덮어써서 다른 모든 분기 규칙이 사라지는 상황에 유의해야 합니다.
# 규칙 순서 예시일 뿐입니다. 대상 PROXY는 최종 설정에 미리 정의되어 있어야 합니다
rules:
- DOMAIN-SUFFIX,example.com,PROXY
- MATCH,DIRECT
위 예시에서는 example.com과 하위 도메인을 PROXY로 보내고 나머지 연결은 DIRECT로 보냅니다. 일반적인 일상 분기 설정으로 사용할 수 있는 예시는 아닙니다. 실제 규칙을 추가할 때는 해당 규칙과 일치할 수 있는 기본 규칙보다 앞에 배치하세요. 최종 설정에 ‘노드 선택’이라는 프록시 그룹만 있다면 존재하지 않는 PROXY를 참조할 수 없습니다.
크로스 플랫폼 호환성: 코어, DNS, TUN 확인하기
같은 YAML을 데스크톱 클라이언트에서 불러올 수 있다고 해서 모바일에서도 모든 필드를 지원하는 것은 아닙니다. Clash와 mihomo의 기능은 완전히 같지 않으며, 클라이언트가 설정 일부를 제거하거나 다시 생성할 수도 있습니다. 불러오기에 실패하면 각 기기의 클라이언트 버전과 실제 코어 버전을 기록한 다음 첫 번째 파싱 오류를 확인하세요. 앱 이름만 비교해서는 원인을 찾기 어렵습니다.
- 노드 프로토콜: 구독에 포함된 각 노드 유형을 대상 코어가 지원하는지 확인하세요. 특정 기기에서 일부 노드가 보이지 않는다면 동기화 누락이 아니라 호환성 문제일 수 있습니다.
- DNS 수신: 예를 들어
127.0.0.1:1053은 로컬 수신 주소입니다. 이 설정 줄만 복사한다고 운영체제가 DNS 쿼리를 자동으로 1053에 보내거나 휴대폰에서 DNS 트래픽 처리가 자동으로 설정되는 것은 아닙니다. - TUN 및 네트워크 인터페이스: 네트워크 인터페이스 이름이나 특정 기기 전용 경로를 고정해 공유하지 마세요. TUN에 필요한 권한, 경로 설정 방법, DNS 가로채기 방식은 대상 시스템에 맞게 설정해야 합니다.
- 파일 참조:
proxy-providers또는rule-providers의 로컬 경로는 대상 기기에서 읽을 수 있어야 합니다. 기본 설정 파일만 복사하고 참조된 파일을 누락하면 불러오기나 업데이트가 실패합니다.
노드 제공처만 공유하면 되는 경우 각 플랫폼에서 자체 기본 설정을 관리하고 호환되는 proxy-providers로 노드 제공자를 불러올 수 있습니다. 단, 제공자는 지정된 콘텐츠 형식을 요구합니다. 임의의 전체 구독 YAML을 url에 넣는다고 호환되는 것은 아닙니다. 먼저 구독 서비스가 제공하는 출력 형식과 대상 코어의 파싱 요구사항을 확인하세요.
동기화 후 최종 적용 설정 확인하기
확인해야 할 것은 ‘파일이 같은가’가 아니라 ‘공유할 부분은 일치하고 기기별 차이는 유지되는가’입니다. 설정 원본, 오버라이드 파일, 클라이언트가 생성한 실행 설정은 서로 다른 파일일 수 있습니다. 문제를 확인할 때는 클라이언트가 제공하는 최종 설정 미리보기나 코어가 실제로 불러온 파일을 먼저 살펴보세요.
- 입력 확인: 구독을 수동으로 업데이트하고 업데이트 시각과 노드 수를 기록하세요. 클라우드 드라이브를 사용한다면 파일이 모두 다운로드됐는지 확인한 뒤 다시 가져오세요.
- 구조 확인: 프록시 그룹 이름, 규칙 대상, 기본 규칙을 확인하세요. 로그에 존재하지 않는 프록시 그룹이나 YAML 파싱 오류가 표시되면 먼저 설정 구조를 수정해야 합니다.
- 트래픽 처리 확인: 데스크톱에서는 시스템 프록시 또는 TUN이 활성화됐는지 확인하세요. 휴대폰에서는 VPN 연결 상태와 프록시를 적용할 앱이 처리 대상에 포함됐는지 확인하세요.
- 연결 확인: 확인이 필요한 도메인에 접속하고 연결 기록에서 적용된 규칙, 프록시 그룹, 실제 노드를 확인하세요. 속도 테스트에 성공했다고 해서 웹사이트 접속까지 확인된 것은 아닙니다.
- 유지 여부 확인: 구독을 다시 업데이트하고 클라이언트를 재시작한 뒤 사용자 지정 규칙이 남아 있는지, 기기별 포트가 올바른지 확인하세요. 업데이트로 설정이 덮어써지는 문제를 찾을 수 있습니다.
자주 발생하는 동기화 문제 세 가지
| 증상 | 우선 확인할 항목 | 해결 방법 |
|---|---|---|
| PC는 업데이트됐지만 휴대폰 노드는 그대로임 | 휴대폰 업데이트 로그, 백그라운드 제한, 구독 주소 | 앱을 foreground로 전환해 수동 업데이트하고 응답 내용과 업데이트 시각 확인 |
| 업데이트할 때마다 규칙이 사라짐 | 구독 사본을 직접 수정했는지, 오버라이드가 연결되어 있는지 | 수정 사항을 지원되는 오버라이드 메뉴로 옮기고 병합 순서를 확인 |
| 클라우드 파일은 같은데 동작이 다름 | 활성 설정, 코어 버전, 프록시 그룹 선택, 트래픽 처리 방식 | 클라우드 원본만 비교하지 말고 최종 실행 설정 비교 |
기기 조합에 맞는 동기화 방식 선택하기
휴대폰과 PC에서 노드를 공유할 때는 같은 구독을 사용해 기기별로 업데이트하고 각 기기의 트래픽 처리 설정은 따로 유지하는 것이 좋습니다. 데스크톱 두 대에서 사용자 지정 규칙을 통일해야 한다면 클라우드 드라이브에 원본 파일을 보관하되 편집 기기를 하나로 지정하고 실행 디렉터리를 직접 동기화하지 마세요. 구독 업데이트가 잦으면서 사용자 지정 규칙도 유지해야 한다면 구독과 로컬 오버라이드를 함께 사용하고 목록 병합 순서를 명확히 하세요.
기기를 추가할 때는 ‘출처 가져오기, 기기별 설정, 최종 설정 확인, 연결 테스트’ 순서로 진행하세요. 노드와 규칙은 추적 가능하게 관리하고 포트, TUN, 권한은 기기별로 유지하는 편이 모든 파일을 똑같이 맞추는 것보다 관리하기 쉽습니다.