이 글의 목차
Clash 원본 구성을 그대로 공유하지 말고 문제 해결용 사본부터 만들기
전체 YAML, 로그와 화면에는 구독 token, 노드 비밀번호, 컨트롤러 secret과 내부망 주소가 함께 포함되는 경우가 많습니다. 복구용 원본 백업은 자신이 관리하는 암호화 저장소에 보관하세요. 다른 사람에게 문제 해결을 요청할 때는 원본 파일에서 필드 몇 개를 대충 가리지 말고 빈 파일에서 최소 사본을 만들어야 합니다.
공유 전에 항목별로 찾기
| 위치 또는 필드 | 노출될 수 있는 내용 | 처리 방법 |
|---|---|---|
| 구독 URL 쿼리 매개변수 | 전체 구성을 직접 가져올 수 있는 token | 전체 URL을 삭제하고 도메인과 상태 코드만 남김 |
| proxies 노드 | server、UUID、password、PSK、private-key | example.com과 REDACTED로 대체 |
| external-controller / secret | 로컬 제어 주소와 API 키 | 필드 구조는 유지하고 실제 값은 교체 |
| 로그와 화면 | Authorization, Cookie, 사용자 이름과 QR 코드 | 관련 없는 화면을 잘라내고 다시 전체 확인 |
| LAN과 회사 도메인 | 내부망 주소, 호스트 이름과 토폴로지 | 문제에 반드시 필요한 최소 범위만 유지 |
전체 백업과 도움 요청용 첨부 파일은 처음부터 분리
전체 백업은 복구용이므로 실제 구독, 노드와 로컬 덮어쓰기를 보존해야 하며 자신이 관리하는 암호화 저장소에만 둘 수 있습니다. 다른 사람이 읽을 문제 해결용 사본은 새 파일에서 시작하고 문제를 재현하는 데 필요한 필드만 추가하세요. 원본 파일에서 계속 삭제하는 방식은 긴 URL, Provider header와 스크립트 매개변수를 빠뜨리기 쉽습니다.
백업 파일 이름에 클라이언트, 코어와 날짜를 포함할 수 있습니다. 예를 들면 verge-macos-2026-07-16-private.zip입니다. 압축 파일 자체는 암호화되지 않습니다. 클라우드 저장소에 보관하려면 플랫폼의 종단 간 암호화 또는 암호화 아카이브를 사용하고 공유 권한을 제한하세요.
자리표시자 값으로 구조를 이해할 수 있는 최소 구성 만들기
mixed-port: 7890
external-controller: 127.0.0.1:9090
secret: REDACTED
proxies:
- name: test-node
type: socks5
server: example.com
port: 1080
username: REDACTED
password: REDACTED
proxy-groups:
- name: Test
type: select
proxies: [test-node, DIRECT]
rules:
- DOMAIN,example.org,Test
- MATCH,DIRECTDNS 문제라면 DNS, 테스트 정책 그룹 하나와 관련 규칙만 남기세요. YAML 파싱 문제라면 오류 줄 앞뒤의 계층을 보존합니다. 값을 대체한 뒤에도 로컬에서 같은 오류를 유발하는지 확인해야 합니다. 그렇지 않으면 다른 사람이 보는 것은 이미 원래 문제가 아닙니다.
보내기 전에 텍스트 검색으로 수동 검사 한 번 더 수행
rg -n -i 'token|secret|password|passwd|uuid|private-key|authorization|cookie' .
git diff --staged
git log --all -- path/to/config.yaml검색은 일반적인 필드만 알려 줄 뿐 사용자 header, QR 코드와 이름을 바꾼 인증 정보는 식별하지 못합니다. 검색 결과를 확인한 뒤에도 공유할 파일을 줄마다 읽고 터미널 프롬프트, 브라우저 탭과 화면 알림을 검사해야 합니다.
실제 구성을 이미 보냈다면 계속 가리지 말고 인증 정보 교체
원본 파일이 이미 그룹 채팅, 지원 요청 또는 공개 저장소에 들어갔다면 민감 정보를 제거한 버전을 다시 보내는 것만으로 이후 오용을 줄일 수 있을 뿐 기존 인증 정보를 무효화할 수는 없습니다. 이미 유출된 파일을 계속 편집하지 말고 인증 정보를 교체해야 합니다.
| 유출된 내용 | 즉시 처리 |
|---|---|
| 전체 구독 URL | 서비스 관리 페이지에서 token/구독 주소를 재설정하고 모든 기기 업데이트 |
| external-controller secret | 새 secret을 만들고 제어 포트가 신뢰할 수 없는 네트워크에 열려 있지 않은지 확인 |
| 노드 인증 정보 | 서버 관리자가 비밀번호, UUID, PSK 또는 개인 키를 교체 |
| Git 기록 | 기록을 다시 작성하고 모든 인증 정보를 교체하세요. 최신 파일만 삭제해서는 부족합니다. |
| 공개 로그 또는 화면 | 확산을 줄이기 위해 철회하고 그 안에 노출된 실제 인증 정보를 하나씩 교체 |
교체 후 로그인하지 않은 창에서 기존 구독 주소에 접근하거나 기존 secret으로 제어 인터페이스에 요청해 실제로 무효화되었는지 확인합니다. 클라이언트 표시 이름을 바꾸거나 공개 게시물을 삭제하는 것으로 이 검증을 대신할 수 없습니다.
첨부 파일 전송 전 마지막 화면 검사
문제 해결용 첨부 파일이 작을수록 다른 사람이 이해하기 쉽고 인증 정보를 빠뜨릴 가능성도 낮아집니다. 보내기 전 마지막으로 전체를 읽고 이 파일이 현재 문제에만 필요한 내용인지 확인하세요.
전송 가능한 조건
- 최소 사본으로도 로컬에서 같은 오류를 재현할 수 있음
- 모든 URL 쿼리 매개변수, 노드 인증과 secret을 교체함
- 로그에 Authorization, Cookie, 로컬 사용자 이름과 절대 경로가 없음
- 화면에 QR 코드, 계정, 알림과 관련 없는 탭이 없음
- 원본 전체 백업이 공개 저장소 또는 공유 링크에 들어간 적이 없음
