clash / 오픈소스 허브 / faq

자주 묻는 질문

20개 문답을 4개 분류로 구성했습니다: 개념은 먼저 명확히 정리하고, 설치는 플랫폼별로 나누고, 사용법은 명령어를 제시하고, 문제 해결은 순서대로 점검합니다. 접힌 항목은 클릭하면 펼쳐지고, 분류 내비게이션으로 바로 이동할 수 있습니다. 다루지 않은 문제는 전체 문서시작 가이드를 먼저 확인하세요.

faq/basic.md

기본 개념

Clash와 mihomo 커널은 어떤 관계인가요?
Clash는 규칙 기반 프록시 도구를 통칭하는 이름입니다. 오리지널 Clash 커널은 2023년에 유지보수가 중단되었고, 현재 활발히 개발되는 후속 커널은 mihomo(구 명칭 Clash Meta)입니다. 기존 설정 형식과 호환되며 더 많은 프로토콜을 지원합니다. 실제로 사용하는 Clash Verge Rev, FlClash 같은 그래픽 클라이언트는 본질적으로 mihomo 커널에 인터페이스를 씌운 것으로, 구독 관리, 노드 전환, 시스템 프록시 설정을 담당합니다.
규칙 모드, 전역 모드, 직결 모드는 어떻게 다른가요?
규칙 모드(Rule)는 설정된 규칙을 순서대로 매칭해 트래픽을 처리하며, 매칭된 규칙을 따라가는 일상적으로 권장되는 모드입니다. 전역 모드(Global)는 모든 트래픽을 현재 선택된 노드로 전송하며 분기 처리를 하지 않아 임시 테스트에 주로 사용합니다. 직결 모드(Direct)는 모든 트래픽이 어떤 노드도 거치지 않고 바로 나가며, 프록시를 일시적으로 끄는 것과 같습니다. 세 모드는 클라이언트 메인 화면에서 바로 전환할 수 있고 즉시 적용되며 재시작이 필요 없습니다.
클라이언트가 너무 많은데, 어떤 걸 설치해야 하나요?
우선 추천은 Clash Plus로, 전체 플랫폼을 지원하며 유지보수가 활발합니다. Clash Verge Rev와 FlClash도 주류 선택지로, 커널이 동일하게 mihomo이기 때문에 설정이 서로 호환되어 클라이언트를 바꿔도 구독을 다시 설정할 필요가 없습니다. Clash for Windows와 ClashX Meta는 유지보수가 중단되어 아카이브 목적으로만 남아 있으며 신규 설치는 권장하지 않습니다. 각 클라이언트의 적용 범위와 설치 파일은 다운로드 페이지에서 확인하세요.
구독 링크란 무엇인가요? 구독이 없어도 사용할 수 있나요?
구독 링크는 서비스 제공자가 생성한 HTTP(S) 주소로, 접속하면 노드와 규칙이 포함된 설정 내용을 반환합니다. 클라이언트가 이 주소를 주기적으로 가져오면 노드 목록이 자동으로 업데이트됩니다. 구독이 없을 때는 로컬 config.yaml 파일을 직접 가져오거나, 설정 안에 자체 구축한 노드의 접속 정보를 하나씩 입력해도 클라이언트 기능에는 문제가 없습니다.
config.yaml에는 무엇이 들어있나요? 직접 작성해야 하나요?
config.yaml은 커널의 유일한 설정 소스로, 포트(mixed-port), 실행 모드(mode), DNS, 노드(proxies), 정책 그룹(proxy-groups), 규칙(rules) 여섯 가지 핵심 항목으로 구성됩니다. 구독을 사용할 때는 이 파일이 구독 내용으로부터 생성되므로 직접 작성할 필요가 없습니다. 사용자 정의 규칙 추가나 포트 변경 같은 고급 설정을 할 때만 직접 편집하면 되며, 수정 후 저장하고 클라이언트에서 설정을 다시 불러오면 됩니다.
faq/install.md

설치 설정

Windows 설치 후 프록시가 정상 작동하는지 어떻게 확인하나요?
세 단계로 확인합니다. 첫째, 클라이언트에서 시스템 프록시 스위치를 켭니다. 둘째, Windows 설정의 네트워크 및 인터넷 아래 프록시 페이지를 열어 수동 프록시가 127.0.0.1:7890을 가리키는지 확인합니다. 셋째, 클라이언트의 연결 또는 로그 페이지에서 임의의 웹페이지를 새로고침해 새 연결 기록이 나타나면 트래픽이 커널을 정상적으로 거치고 있다는 뜻입니다. 세 단계 모두 정상인데도 웹페이지가 열리지 않으면 문제 해결 분류의 문답을 참고하세요.
macOS에서 「확인되지 않은 개발자이므로 열 수 없습니다」라는 메시지가 뜨면 어떻게 하나요?
이는 App Store 외 앱에 대한 Gatekeeper의 기본 차단입니다. 해결 방법: 시스템 설정의 개인정보 보호 및 보안을 열고 페이지 하단에서 차단된 알림을 찾아 「그래도 열기」를 클릭하거나, 터미널에서 xattr -cr /Applications/클라이언트명.app을 실행해 격리 속성을 제거한 뒤 다시 실행합니다. Apple Silicon과 Intel 기종은 칩 종류에 맞는 설치 파일을 다운로드해야 하며, 아키텍처를 잘못 설치하면 실행되지 않습니다.
Android에서 처음 실행할 때 어떤 권한을 허용해야 하나요?
두 가지입니다. 하나는 VPN 연결 권한으로, Android에서 클라이언트는 VpnService를 통해 트래픽을 가로채며 처음 실행할 때 시스템 권한 요청 창이 뜨면 반드시 허용해야 합니다. 다른 하나는 백그라운드 실행 및 배터리 최적화 예외 설정으로, MIUI, ColorOS 등 국내 커스텀 ROM은 기본적으로 백그라운드 프로세스를 정리하므로 시스템 설정에서 클라이언트를 자동 시작 및 배터리 최적화 제외 목록에 추가해야 합니다. 그렇지 않으면 화면을 잠근 지 얼마 지나지 않아 프록시 연결이 끊깁니다.
iOS에서는 어떻게 설치하나요?
iOS는 App Store를 통해 Clash Plus를 설치합니다. 스토어에서 검색하거나 다운로드 페이지 iOS 영역의 스토어 링크로 바로 이동할 수 있습니다. 처음 실행할 때 시스템 팝업에서 VPN 설정 추가를 허용해야 하며, 이후 앱 안에서 구독을 가져오면 바로 사용할 수 있습니다.
설정 파일은 어느 디렉터리에 저장되나요?
Windows는 보통 %USERPROFILE%\.config\ 아래의 클라이언트 디렉터리 또는 설치 디렉터리의 profiles 하위 폴더에 저장됩니다. macOS는 ~/Library/Application Support/클라이언트명/, Linux는 ~/.config/클라이언트명/입니다. 각 클라이언트는 설정 페이지에서 「설정 디렉터리 열기」 항목을 제공하므로 경로가 확실하지 않을 때는 화면에서 바로 열어보는 것이 가장 안전합니다.
faq/usage.md

사용법

노드 지연은 어떻게 측정하나요? 표시되는 숫자는 무엇을 의미하나요?
프록시 페이지에서 정책 그룹 우측 상단의 속도 측정 아이콘을 클릭하면, 클라이언트가 설정에 지정된 테스트 주소(기본값은 대부분 http://www.gstatic.com/generate_204)로 HTTP 요청을 한 번 보냅니다. 표시되는 밀리초 값은 전체 요청의 왕복 시간입니다. 이 숫자는 현재 링크 상태만 반영하며, 수십에서 300밀리초 정도는 정상 사용 가능한 범위입니다. timeout이 표시될 때만 해당 노드가 현재 접속 불가능하다는 뜻입니다.
TUN 모드는 언제 켜야 하나요?
시스템 프록시는 프록시 설정을 직접 읽어오는 애플리케이션만 커버할 수 있어, 커맨드라인 도구, 게임, 일부 클라이언트 소프트웨어는 적용되지 않습니다. TUN 모드는 가상 네트워크 카드를 생성해 네트워크 계층에서 모든 트래픽을 처리하므로 애플리케이션의 협조가 필요 없습니다. 대신 더 높은 권한이 필요한데, Windows는 관리자 권한으로 실행하거나 시스템 서비스를 설치해야 하고, macOS와 Linux는 root 권한이 필요합니다. 일상적인 웹 서핑은 시스템 프록시로 충분하며, 프록시를 타지 않는 프로그램을 만났을 때 TUN을 켜면 됩니다.
특정 사이트를 강제로 직결시키고 싶은데, 규칙을 어떻게 작성하나요?
rules 목록 맨 위에 DOMAIN-SUFFIX,example.com,DIRECT 한 줄을 추가하면 됩니다. 강제로 프록시를 타게 하려면 DIRECT를 정책 그룹 이름으로 바꾸면 됩니다. 규칙은 위에서 아래로 매칭되며 먼저 매칭된 규칙이 먼저 적용되므로, 사용자 정의 항목은 구독에 포함된 규칙보다 앞에 배치해야 합니다. Clash Verge Rev는 전역 확장 설정의 prepend 방식으로 추가할 수 있어 구독이 업데이트될 때마다 덮어써지는 것을 방지할 수 있습니다.
구독을 자동 업데이트로 설정하는 방법은?
각 클라이언트의 구독 또는 설정 페이지에서 업데이트 주기를 설정할 수 있습니다. 일반적으로 구독 항목을 편집해 업데이트 주기를 1440분, 즉 하루에 한 번으로 입력합니다. 설정 파일의 proxy-provider 안에 interval 필드를 설정해도 됩니다. 업데이트가 실패해도 기존 노드에는 영향이 없으며, 클라이언트는 로컬에 캐시된 이전 버전 설정을 계속 사용합니다.
mixed-port 7890은 무엇을 하는 포트인가요? 커맨드라인 도구는 어떻게 프록시를 타나요?
mixed-port는 커널이 리스닝하는 혼합 포트로, HTTP와 SOCKS5 프로토콜을 동시에 받아들이며 기본값은 7890입니다. 커맨드라인 도구가 가장 간단하게 프록시를 타는 방법은 환경 변수를 설정하는 것입니다: export https_proxy=http://127.0.0.1:7890 http_proxy=http://127.0.0.1:7890 all_proxy=socks5://127.0.0.1:7890, 이후 git, curl, pip 등이 자동으로 이 값을 읽습니다. 환경 변수는 현재 터미널 세션에만 적용되므로 장기적으로 적용하려면 셸 설정 파일에 작성해야 합니다.
faq/debug.md

문제 해결

구독 업데이트가 실패하거나 가져오기 오류가 나면 어떻게 확인하나요?
순서대로 확인합니다. 첫째, 구독 링크를 브라우저에 붙여넣어 직접 열어보고 base64나 YAML 텍스트가 반환되는지 확인합니다. 오류 페이지가 나오면 링크가 만료되었거나 실효된 것이므로 서비스 제공자에게 재설정을 요청합니다. 둘째, 정상적으로 반환되었지만 클라이언트가 파싱 오류를 표시한다면 대부분 형식이 맞지 않는 경우로, 구독이 Clash 형식인지 다른 클라이언트 전용 형식인지 확인하고 필요하면 구독 변환 서비스를 통해 Clash 형식으로 바꿔줍니다. 셋째, 업데이트 요청 자체가 실효된 노드를 경유해 타임아웃이 발생한 경우이므로 업데이트 방식을 직결로 전환해 다시 시도합니다.
프록시 스위치는 켜져 있는데 웹페이지가 열리지 않아요?
쉬운 것부터 어려운 순서로 확인합니다: 현재 노드의 지연을 측정해 타임아웃이면 노드를 바꿉니다; 전역 모드로 전환해 규칙 오판 여부를 배제합니다; 시스템 프록시 포트와 mixed-port가 일치하는지 확인합니다(기본값은 모두 7890입니다); 브라우저에 SwitchyOmega 같은 프록시 확장 프로그램이 설치되어 있으면 먼저 비활성화해 이중 프록시 충돌을 방지합니다; 로그 페이지에 DNS 오류가 대량으로 나타나면 설정의 dns 섹션에서 fallback을 활성화합니다. 이 항목들을 차례로 확인하면 대부분 문제 지점을 찾을 수 있습니다.
실행 시 bind: address already in use 오류가 나면 어떻게 하나요?
7890 포트가 다른 프로그램에 이미 점유되어 있다는 뜻으로, 다른 프록시 클라이언트를 동시에 켜두었거나 이전 프로세스가 완전히 종료되지 않았을 때 흔히 발생합니다. 확인 방법: Windows는 netstat -ano | findstr 7890을 실행해 PID를 확인한 뒤 작업 관리자에서 해당 프로세스를 종료합니다. macOS와 Linux는 lsof -i :7890을 실행합니다. 프로세스를 종료하기 곤란하다면 클라이언트 설정에서 mixed-port를 7891 같은 빈 포트로 바꾸면 시스템 프록시 포트도 자동으로 따라 변경됩니다.
시스템 프록시를 켰는데 스토어 앱이나 일부 소프트웨어가 프록시를 타지 않아요?
Windows의 UWP 앱은 기본적으로 로컬 루프백 주소 연결이 금지되어 있어 시스템 프록시가 적용되지 않습니다. 두 가지 해결 방법: 하나는 관리자 권한으로 CheckNetIsolation LoopbackExempt -a -n=패키지명을 실행해 개별 앱을 허용하는 것으로, 일부 클라이언트 설정에는 UWP 루프백 예외 도구가 내장되어 있습니다. 다른 하나는 TUN 모드를 켜서 네트워크 계층에서 트래픽을 처리해 루프백에 의존하지 않는 것입니다. UWP가 아닌 소프트웨어가 프록시를 타지 않는다면 대부분 해당 소프트웨어 자체에 별도 프록시 설정이 있는 경우이므로 소프트웨어 안에서 직접 127.0.0.1:7890을 지정하면 됩니다.
노드 목록 전체가 타임아웃으로 표시돼요?
목록 전체가 타임아웃이면 보통 단일 노드의 문제가 아닙니다. 먼저 직결 모드로 전환해 로컬 네트워크가 정상인지 확인합니다. 다음으로 구독이 만료되었는지 확인하는데, 트래픽을 다 쓰거나 기간이 만료되면 서버가 모든 연결을 거부합니다. 테스트 주소가 차단되어도 전체 타임아웃으로 표시될 수 있으므로 테스트 URL을 http://cp.cloudflare.com/generate_204로 바꿔 다시 측정해봅니다. 시스템 시간이 크게 어긋나면 일부 암호화 프로토콜의 핸드셰이크가 실패할 수 있으므로 시간을 맞춘 뒤 다시 시도합니다.

문제가 해결되지 않았나요?

플랫폼별 체계적인 설치 및 설정 안내는 전체 문서에서, 구독 파싱, 포트 충돌, 연결 끊김 해결의 단계별 가이드는 기술 노트에서 확인하세요.

클라이언트 다운로드