MANUAL · FULL-PLATFORM SETUP · REV.2026-07
Clash 전 플랫폼 설치 설정 가이드
이 페이지는 사이트 내 체계적인 참고 매뉴얼로, 플랫폼별로 장을 나눠 Windows, macOS, Android, iOS, Linux를 각각 한 장씩 다룹니다. 각 장은 「다운로드 → 설치 → 구독 가져오기 → 시스템 프록시 / TUN → 플랫폼별 주의사항」의 고정된 순서로 전개되며, 별도로 공통 준비 사항과 설정 관련 자주 묻는 문제 두 개의 장을 추가로 두었습니다. 10분 안에 첫 연결을 끝내는 것이 목표라면 먼저 사용 가이드의 빠른 시작 흐름을 읽으세요. 이 페이지는 각 단계의 원리, 파라미터, 문제 해결 방법을 필요할 때마다 찾아볼 수 있도록 빠짐없이 정리한 것입니다. 클라이언트 설치 파일은 모두 클라이언트 다운로드 페이지에서 받을 수 있습니다.
공통 준비 사항
CHAPTER / PREPARATION1.1시작 전에 확인해야 할 세 가지
첫째, 구독 링크입니다. Clash 클라이언트 자체는 규칙 엔진과 트래픽 스케줄러일 뿐이며 노드를 포함하지 않습니다. 노드 정보는 구독 링크를 통해 제공되며, 보통 구독 서비스 제공업체의 사용자 패널이나 직접 구축한 서버에서 내보낸 설정에서 얻을 수 있습니다. 구독 링크는 HTTPS 주소로, 접속하면 Clash 형식의 YAML 설정을 반환합니다. 설치를 시작하기 전에 이 링크를 미리 복사해 두세요. 이후 각 플랫폼의 가져오기 단계에서 계속 사용하게 됩니다.
둘째, 플랫폼과 아키텍처입니다. 데스크톱 플랫폼에서는 운영체제 버전과 CPU 아키텍처를 확인해야 합니다. Windows는 x64와 ARM64를 구분해야 하고, macOS는 Apple Silicon(M 시리즈 칩)과 Intel을 구분해야 하며 확인 경로는 「이 Mac에 관하여」입니다. Linux는 배포판의 패키지 형식(deb 또는 rpm)과 아키텍처를 확인해야 합니다. Android 주력 기기는 arm64-v8a이며, 구형 기기는 armeabi-v7a일 수 있습니다. 아키텍처를 잘못 선택하면 설치 파일이 실행되지 않거나 성능이 눈에 띄게 떨어집니다.
셋째, 권한입니다. 시스템 프록시는 사용자 수준 설정이라 일반 권한으로도 기록할 수 있습니다. TUN 모드는 가상 네트워크 어댑터를 생성해야 하므로 Windows에서는 관리자 권한으로 시스템 서비스를 설치해야 하고, macOS에서는 권한 승인이 필요하며, Linux에서는 root 권한 또는 해당 능력(capability) 비트가 필요합니다. MDM이나 그룹 정책으로 관리되는 회사 기기는 일부 설정이 잠겨 있을 수 있으므로, 설치 전에 기기가 네트워크 설정 변경을 허용하는지 먼저 확인하세요.
1.2용어 정의
이 페이지에서 반복적으로 등장하는 용어는 아래와 같이 통일하여 정의합니다. 더 상세한 용어 설명은 용어 사전을 참고하세요.
| 용어 | 의미 |
|---|---|
| 코어 | 실제로 트래픽을 처리하는 핵심 프로그램으로, 현재 주로 사용되는 것은 Mihomo(Clash Meta 코어)입니다. GUI 클라이언트에는 코어가 내장되어 있어 일반 사용자가 별도로 설치할 필요가 없습니다. |
| GUI 클라이언트 | 그래픽 인터페이스를 갖춘 래퍼 프로그램으로, 설정 관리, 노드 전환, 코어 제어를 담당합니다. 예: Clash Plus, Clash Verge Rev. |
| 구독 | 서비스 제공업체가 호스팅하는 원격 설정으로, 클라이언트가 주기적으로 가져와 업데이트합니다. 노드가 바뀌어도 파일을 직접 수정할 필요가 없습니다. |
| 시스템 프록시 | 운영체제의 프록시 설정에 기록되는 로컬 주소와 포트 조합으로, 이 설정을 따르는 프로그램(브라우저 등)의 트래픽이 Clash로 전달됩니다. |
| TUN 모드 | 가상 네트워크 어댑터를 통해 네트워크 계층에서 모든 트래픽을 가로채는 방식으로, 프로그램이 시스템 프록시 설정을 읽는지 여부와 무관하게 작동합니다. |
| 분기 규칙 | 설정 파일에서 위에서부터 아래로 매칭되는 규칙 목록으로, 각 연결이 프록시를 거칠지, 직접 연결할지, 거부할지를 결정합니다. |
1.3클라이언트 선택 가이드
각 플랫폼에서 선택 가능한 클라이언트와 권장 순서는 아래 표와 같으며, 다운로드 페이지의 배열과 동일합니다. 선택 기준은 활발히 유지보수되고 플랫폼 간 인터페이스와 설정 로직이 일관된 클라이언트를 우선하는 것입니다. 유지보수가 중단된 프로젝트는 참고용 기록으로만 남겨두며 새로 설치하는 것은 권장하지 않습니다.
| 플랫폼 | 우선 추천 | 대안 | 보관(유지보수 중단) |
|---|---|---|---|
| Windows | Clash Plus | Clash Verge Rev / FlClash / Clash Nyanpasu | Clash for Windows |
| macOS | Clash Plus | Clash Verge Rev / FlClash | ClashX Meta |
| Android | Clash Plus | Clash Meta for Android / FlClash / Surfboard | — |
| iOS | Clash Plus(App Store) | — | — |
| Linux | Clash Verge Rev | FlClash / Mihomo 코어(서버) | — |
Clash Plus는 다섯 개 플랫폼을 모두 지원하며, 설정 로직과 인터페이스 구조가 각 기기에서 일관되게 유지되므로 여러 기기를 사용하는 사용자는 하나의 사용법만 익히면 됩니다. 데스크톱 플랫폼의 최초 설치 과정을 비교한 내용은 《Windows와 macOS에서 Clash 처음 설치하기》 문서를 참고하세요.
구독과 설정 파일 기초
CHAPTER / CONFIG BASICS2.1설정 파일 구조
Clash 설정 파일은 YAML 문서로, 다섯 가지 주요 부분으로 구성됩니다: 기본 포트 설정, DNS 설정, 노드 목록(proxies), 정책 그룹(proxy-groups), 규칙 목록(rules). 구독을 통해 받는 것도 바로 이런 완전한 파일이며, 이 구조를 이해하면 이후 모든 플랫폼의 인터페이스 조작을 대응시켜 이해할 수 있습니다. 최소한으로 읽을 수 있는 골격은 다음과 같습니다:
mixed-port: 7890 # HTTP와 SOCKS5가 공유하는 혼합 인바운드 포트
allow-lan: false # LAN 내 다른 기기의 접속 허용 여부
mode: rule # 실행 모드: rule / global / direct
log-level: info
proxies: # 노드 목록, 구독에서 제공됨
- name: "노드A"
type: trojan
server: example-server.net
port: 443
password: "********"
proxy-groups: # 정책 그룹: 노드를 전환 가능한 그룹으로 묶은 것
- name: "노드 선택"
type: select
proxies: ["노드A", "DIRECT"]
rules: # 규칙은 위에서부터 아래로 매칭되며, 일치하면 멈춤
- DOMAIN-SUFFIX,example.com,노드 선택
- GEOIP,CN,DIRECT
- MATCH,노드 선택 # 기본 규칙, 반드시 맨 마지막에 배치
일상적인 사용에서는 이 파일을 직접 작성할 필요가 없습니다 — 구독에 이미 완전한 내용이 포함되어 있습니다. 하지만 「특정 사이트가 잘못된 경로로 나간다」, 「특정 규칙이 적용되지 않는다」와 같은 문제가 발생하면 rules 섹션을 이해하는 것이 문제 해결의 전제 조건입니다. 규칙은 위에서부터 아래로 매칭되며 첫 번째로 일치하는 규칙에서 멈추므로, 순서가 잘못되면 뒤쪽 규칙은 영원히 적용되지 않습니다. 규칙 작성법과 우선순위에 대한 자세한 설명은 《Clash 분기 규칙 우선순위 상세 설명》 문서를 참고하세요.
2.2세 가지 실행 모드
모든 클라이언트는 세 가지 실행 모드 전환을 제공하며, 의미는 고정되어 있습니다:
| 모드 | 동작 | 적합한 상황 |
|---|---|---|
| rule | 규칙에 따라 순서대로 매칭하여 서로 다른 출구로 분기 | 일상적인 기본값. 국내 사이트는 직접 연결하고 해외 사이트는 프록시를 경유하도록 하여 서로 영향을 주지 않음 |
| global | 규칙을 무시하고 모든 트래픽이 현재 선택된 노드를 거침 | 노드 연결 상태를 임시로 테스트하거나 규칙에 문제가 있을 때 대체용으로 사용 |
| direct | 모든 트래픽을 직접 연결하며 어떤 노드도 거치지 않음 | 「프록시로 인한 문제인지」를 판단할 때 대조군으로 사용 |
네트워크 문제를 진단할 때 이 세 모드는 자연스러운 대조군이 됩니다. direct 모드에서는 정상인데 rule 모드에서 이상이 있다면 문제는 규칙이나 노드에 있는 것이고, 세 모드 모두에서 이상이 있다면 로컬 네트워크 자체에 문제가 있는 것입니다.
2.3구독을 가져오는 세 가지 방법과 업데이트
모든 플랫폼의 클라이언트가 지원하는 가져오기 방식은 대체로 동일합니다: URL 가져오기(구독 링크를 붙여넣으면 클라이언트가 직접 다운로드, 가장 많이 사용됨), 클립보드 가져오기(링크를 복사하면 클라이언트가 자동으로 인식), 로컬 파일 가져오기(YAML을 직접 다운로드한 뒤 파일로 추가, 오프라인 환경에 적합). 세 가지 방식의 단계별 절차와 형식 차이는 《Clash 구독 링크 가져오기 가이드》 문서를 참고하세요.
URL로 가져온 구독은 자동 업데이트를 지원하며, 일반적인 기본 간격은 몇 시간에서 하루 사이이고 구독 항목의 설정에서 조정할 수 있습니다. 서비스 제공업체는 보통 구독 응답 헤더를 통해 트래픽과 만료 정보를 전달하며, 클라이언트는 이를 구독 카드에 표시합니다. 로컬 파일 가져오기는 업데이트 메커니즘이 없으므로 노드가 바뀌면 다시 다운로드해서 교체해야 합니다. 구독 업데이트 실패에 대한 문제 해결은 이 페이지의 8장을 참고하세요.
2.4포트 규칙
주류 설정은 mixed-port: 7890을 사용하여 혼합 인바운드를 제공하며, 같은 포트에서 HTTP와 SOCKS5 프로토콜을 동시에 받아들입니다. 예전 방식의 설정은 port: 7890(HTTP)과 socks-port: 7891(SOCKS5)을 따로 쓰는 경우도 있습니다. 시스템 프록시에 기록되는 주소는 항상 127.0.0.1과 위 포트의 조합입니다. 명령줄 도구나 다른 기기에 프록시를 직접 지정해야 할 때는 클라이언트 첫 화면에 표시된 실제 포트를 기준으로 하고, 기억에 의존해 입력하지 마세요 — 클라이언트마다 기본 포트가 다를 수 있습니다.
Windows 설치 및 설정
CHAPTER / WINDOWS3.1다운로드와 버전 선택
다운로드 페이지의 Windows 영역에서 설치 파일을 받으세요. 가장 추천하는 것은 Clash Plus이며, 대안으로 Clash Verge Rev(Rust + Tauri 기반, 메모리 사용량이 낮음), FlClash(Flutter 기반, 인터페이스가 간결함), Clash Nyanpasu가 있습니다. Clash for Windows는 유지보수가 중단되어 보관용으로만 제공되며, 새로 설치하는 사용자는 선택하지 마세요 — 내장된 오래된 코어가 새로운 프로토콜과 규칙 유형을 완전히 지원하지 못합니다. 시스템 요구 사항은 Windows 10 64비트 이상이며, ARM 노트북은 ARM64 패키지를 선택해야 합니다. x64 패키지는 ARM 기기에서 변환 레이어에 의존하므로 성능 손실이 뚜렷합니다.
3.2설치 단계
- 설치 파일을 더블클릭합니다. SmartScreen의 파란색 차단 창이 나타나면 「추가 정보」→「실행」을 클릭하세요. 이는 대량 배포 서명이 없는 설치 파일에 대해 Windows가 기본적으로 표시하는 안내로, 설치 파일 자체의 문제와는 무관합니다.
- 설치 경로는 기본값을 유지하는 것을 권장합니다. 경로를 직접 지정할 경우 한글이나 공백이 포함된 폴더는 피하세요. 일부 구성 요소는 ASCII 이외의 경로에 대한 호환성이 불안정합니다.
- 처음 실행할 때 Windows 방화벽에서 네트워크 접근 허용 여부를 물어볼 수 있습니다. 「사설 네트워크」에 체크하고 허용하세요. 허용하지 않으면 코어가 로컬 포트를 리슨하지 못합니다.
- 클라이언트 설정에 들어가 「부팅 시 자동 시작」과 「조용히 시작」 두 항목을 필요에 따라 켜 두면 재부팅 후 프록시를 켜는 것을 잊지 않을 수 있습니다.
3.3구독 가져오기
클라이언트의 「구독」 또는 「설정」 페이지를 열고 새로 만들기를 클릭한 다음 구독 링크를 붙여넣습니다. 확인을 누르면 클라이언트가 설정을 다운로드하고 항목을 생성합니다. 다운로드가 완료되면 항목에 노드 수나 트래픽 정보가 표시됩니다. 계속 로딩 상태에 머문다면 먼저 현재 네트워크에서 구독 주소에 직접 접속할 수 있는지 확인하세요 — 일부 구독 도메인은 접속하려면 이미 프록시가 필요한 경우가 있습니다. 이럴 때는 클립보드 가져오기를 사용하거나, 먼저 로컬 파일 가져오기로 첫 연결을 완료한 뒤 URL 구독으로 다시 전환하세요. 가져오기에 성공하면 「프록시」 페이지에서 지연 시간이 정상적인 노드를 선택합니다.
3.4시스템 프록시와 확인
클라이언트 첫 화면에서 「시스템 프록시」 스위치를 켜면 클라이언트가 127.0.0.1:7890(실제 포트 기준)을 Windows의 인터넷 프록시 설정에 기록합니다. 확인은 두 단계로 합니다. 첫째, 설정 확인 — 「설정 → 네트워크 및 인터넷 → 프록시」를 열어 「프록시 서버 사용」이 켜져 있고 주소와 포트가 클라이언트와 일치하는지 봅니다. 둘째, 트래픽 확인 — 브라우저로 프록시를 거치도록 분기된 사이트에 접속하면서 클라이언트의 연결 패널에 해당 기록이 나타나는지 확인합니다. 리슨 포트가 존재하는지 명령줄로 확인하려면:
netstat -ano | findstr 7890
결과가 출력되면 코어가 이미 리슨 중이라는 뜻이고, 아무것도 출력되지 않으면 코어가 시작되지 않았거나 포트가 변경된 것이므로 먼저 클라이언트 로그를 확인하세요.
3.5TUN 모드
시스템 프록시는 「시스템 프록시 설정을 읽는」 프로그램에만 적용됩니다. UWP 앱, 일부 게임 클라이언트, 명령줄 도구는 기본적으로 이 설정을 읽지 않으므로 이들의 트래픽은 TUN 모드로 가로채야 합니다. Windows에서 TUN을 켜는 고정된 절차는 다음과 같습니다: 먼저 클라이언트 설정에서 시스템 서비스를 설치합니다(관리자 권한으로 UAC 팝업을 확인해야 함), 서비스 설치가 성공하면 「TUN 모드」 스위치를 켭니다. 정상 작동의 표시는 장치 관리자나 「네트워크 연결」에 Mihomo 또는 유사한 이름의 가상 네트워크 어댑터가 나타나고, 시스템 프록시를 거치지 않는 프로그램도 연결 기록을 만들기 시작하는 것입니다. 원리 차원의 설명(가상 네트워크 어댑터와 시스템 프록시의 차이, DNS 하이재킹이 필요한 이유)은 《TUN 모드 원리와 활성화 방법》 문서를 참고하세요.
TUN과 다른 VPN류 소프트웨어의 가상 네트워크 어댑터는 기본 경로를 서로 두고 경쟁할 수 있습니다. TUN을 켜기 전에 다른 VPN이나 가속기를 종료하세요. 보안 소프트웨어가 서비스 설치를 막는다면 허용한 뒤 서비스를 다시 설치하세요.
3.6Windows 특유의 문제
- 포트 점유: 클라이언트가 포트 충돌을 알리면
netstat -ano | findstr 7890으로 점유 중인 프로세스의 PID를 찾아 작업 관리자에서 종료하거나, 클라이언트 설정에서 다른 포트로 변경하세요. 흔한 원인은 완전히 종료되지 않은 다른 프록시 프로그램 인스턴스입니다. - 종료 후 인터넷 연결 끊김: 클라이언트가 비정상적으로 종료되면 시스템 프록시 설정이 남아 있을 수 있으며, 모든 브라우저가 열리지 않는 증상으로 나타납니다. 「설정 → 프록시」에서 「프록시 서버 사용」을 수동으로 끄면 복구되며, 이후 클라이언트를 정상적으로 다시 실행하세요.
- 여러 프록시 소프트웨어가 동시에 실행됨: 두 개의 프록시 소프트웨어가 동시에 시스템 프록시를 켜면 나중에 켠 것이 먼저 켠 것을 덮어써서 연결 동작이 뒤섞입니다. 하나만 남기고 나머지는 완전히 종료하세요(트레이 영역 확인).
- 절전 모드 해제 후 네트워크 없음: TUN 모드에서 간혹 발생하며, TUN 스위치를 껐다가 다시 켜서 가상 네트워크 어댑터를 재생성하면 해결됩니다.
macOS 설치 및 설정
CHAPTER / MACOS4.1다운로드와 칩 구분
다운로드 페이지의 macOS 영역으로 이동하세요. 가장 추천하는 것은 Clash Plus이고, 대안은 Clash Verge Rev와 FlClash입니다. ClashX Meta는 유지보수가 중단되어 보관용으로만 남아 있습니다. 다운로드 전에 칩을 확인하세요: 왼쪽 위 애플 메뉴 →「이 Mac에 관하여」를 클릭하면 「칩」 항목에 Apple M 시리즈가 표시되면 Apple Silicon 패키지를, Intel 프로세서가 표시되면 Intel 패키지를 선택하세요. Apple Silicon 기기에 Intel 패키지를 설치하면 Rosetta를 통해 실행할 수 있지만 메모리와 전력 소모에 추가 부담이 있어 권장하지 않습니다.
4.2설치와 Gatekeeper 경고 처리
- 다운로드한 dmg 이미지를 열고 앱 아이콘을 Applications 폴더로 드래그한 다음 이미지를 꺼냅니다(추출).
- 처음 실행할 때는 더블클릭하지 말고, 아이콘을 마우스 오른쪽 클릭(또는 Control 키를 누른 채 클릭)한 뒤「열기」를 선택하고, 팝업 창에서 다시「열기」를 클릭하세요. 이는 App Store 이외의 경로로 배포된 앱에 대한 Gatekeeper의 최초 차단을 우회하는 표준적인 방법입니다.
- 「앱이 손상되어 열 수 없습니다」라는 메시지가 나타난다면 보통 다운로드한 파일에 시스템이 격리(quarantine) 속성을 추가한 것입니다. 설치 파일이 본 사이트의 다운로드 페이지에서 받은 것임을 확인한 후, 터미널에서 다음 명령을 실행해 격리 속성을 제거하고 다시 열어보세요:
sudo xattr -rd com.apple.quarantine /Applications/ClashPlus.app
경로는 실제로 설치된 앱 이름에 맞게 바꾸세요. 이 명령은 출처가 확실히 신뢰할 수 있는 앱에만 실행해야 한다는 것이 전제 조건입니다.
4.3구독 가져오기
절차는 Windows와 동일합니다: 구독 페이지에서 새로 만들기 → 링크 붙여넣기 → 다운로드 확인. macOS 클라이언트는 대부분 메뉴 바 아이콘 형태로 상주하며, 메인 창을 닫아도 프로그램은 계속 실행됩니다. 창을 찾을 수 없으면 메뉴 바 아이콘을 클릭해 다시 불러오세요. 가져온 후에는 프록시 페이지에서 노드를 선택하며, 정책 그룹 구조는 설정 파일의 proxy-groups와 하나씩 대응합니다.
4.4시스템 프록시와 권한 승인
「시스템 프록시」 스위치를 처음 켤 때 시스템이 비밀번호 입력을 요구하는 승인 대화상자를 표시합니다 — 클라이언트가 네트워크 설정의 「웹 프록시(HTTP)」, 「보안 웹 프록시(HTTPS)」, 「SOCKS 프록시」 세 항목에 기록할 권한이 필요하기 때문입니다. 한 번 승인하면 이후에는 계속 유효합니다. 확인 방법: 「시스템 설정 → 네트워크 → 현재 네트워크 → 자세히 → 프록시」에서 세 항목이 127.0.0.1과 클라이언트 포트를 가리키는지 확인하거나, 터미널에서 scutil --proxy를 실행해 출력 결과의 HTTPEnable이 1이고 포트가 일치하면 정상 작동 중임을 뜻합니다.
4.5TUN 모드
macOS에서 TUN을 켜려면 클라이언트가 특권 보조 구성 요소나 시스템 확장 프로그램을 설치해야 하며, 처음 켤 때 한두 차례 시스템 수준의 승인(비밀번호 입력, 일부 시스템 버전에서는 「시스템 설정 → 개인정보 보호 및 보안」에서 차단된 확장 프로그램을 수동으로 「허용」해야 함)이 나타납니다. 성공적으로 켜지면 터미널에서 ifconfig | grep utun을 실행해 새로 추가된 utun 인터페이스를 확인할 수 있습니다. Windows와 마찬가지로 시스템 프록시를 읽지 않는 명령줄 프로그램, 일부 클라이언트 소프트웨어는 TUN을 통해서만 프록시를 거칠 수 있습니다. 브라우저만 사용한다면 시스템 프록시로도 충분하므로 TUN을 켤 필요는 없습니다.
4.6macOS 특유의 문제
- 시스템 메이저 업그레이드 후 프록시 실패: 업그레이드로 인해 네트워크 설정이 초기화되거나 확장 프로그램 권한이 취소될 수 있습니다. 스위치는 켜져 있지만 트래픽이 프록시를 거치지 않는 증상으로 나타납니다. 처리 방법: 시스템 프록시 스위치를 껐다가 다시 켜서 재기록을 유도하세요. TUN 사용자는 「개인정보 보호 및 보안」에서 확장 프로그램을 다시 허용해야 합니다.
- 메뉴 바 아이콘이 밀려서 안 보임: 노치 화면 기기는 메뉴 바 공간이 제한적이어서 아이콘이 가려질 수 있으며, 이를 프로그램이 실행되지 않은 것으로 오해하기 쉽습니다. Finder의 「응용 프로그램」에서 앱을 다시 클릭하거나 메뉴 바 상주 항목을 줄이세요.
- Wi-Fi와 유선을 동시에 사용할 때 프록시가 한쪽 인터페이스에만 적용됨: 시스템 프록시는 네트워크 서비스별로 각각 설정되므로, 인터페이스를 전환한 뒤 프록시가 작동하지 않으면 시스템 프록시 스위치를 다시 켜서 현재 인터페이스에 재기록하도록 하세요.
- 회사 기기: MDM으로 관리되는 기기는 시스템 확장 프로그램 설치가 금지될 수 있어 TUN을 켤 수 없으며, 이 경우 시스템 프록시 방식만 사용할 수 있습니다.
Android 설치 및 설정
CHAPTER / ANDROID5.1클라이언트 선택
다운로드 페이지의 Android 영역으로 이동하세요. 가장 추천하는 것은 Clash Plus이고, 대안으로 Clash Meta for Android(커뮤니티에서 흔히 CMFA로 불리며 기능이 완전하고 설정 항목이 세밀함), FlClash(인터페이스가 직관적이라 처음 접하는 사용자에게 적합함), Surfboard가 있습니다. APK 아키텍처는 주로 arm64-v8a이며 2016년 이후 출시된 주력 기기라면 대부분 사용 가능합니다. 설치 시 「패키지 구문 분석 오류」나 「기기와 호환되지 않음」이라는 메시지가 나오면 대부분 아키텍처 불일치이므로 armeabi-v7a나 universal 패키지로 교체하세요.
5.2APK 설치
- 브라우저로 APK 파일을 다운로드하고 완료되면 클릭해서 설치합니다.
- 시스템이 「알 수 없는 앱 설치가 허용되지 않음」이라는 안내로 막을 수 있습니다. 안내창의 「설정」을 눌러 이동한 뒤 현재 브라우저에 대해 「이 소스의 앱 허용」 스위치를 켭니다. 수동 경로는 「설정 → 앱 → 특수 앱 권한 → 알 수 없는 앱 설치」입니다.
- 돌아가서 설치를 계속합니다. 일부 제조사 시스템(MIUI, ColorOS 등)은 「위험한 앱」 확인을 한 번 더 요구할 수 있는데, 계속 설치를 선택하면 됩니다. 이는 스토어 이외의 모든 경로로 설치되는 APK에 대해 시스템이 공통적으로 표시하는 안내입니다.
5.3구독 가져오기
앱을 열고 「설정」 또는 「구독」 페이지로 이동해 오른쪽 하단의 새로 만들기를 클릭한 뒤 「URL」 유형을 선택하고 구독 링크를 붙여넣어 저장하면 앱이 곧바로 설정을 다운로드합니다. 구독 항목을 길게 누르거나 클릭해서 열면 자동 업데이트 간격을 설정할 수 있으며 12시간 또는 24시간으로 설정하는 것을 권장합니다. 가져오기가 끝난 뒤 첫 화면으로 돌아오면 설정 항목이 체크된 상태로 표시되며 이는 활성화되었다는 뜻입니다.
5.4프록시 시작: VpnService 권한 승인
Android에는 데스크톱 개념의 「시스템 프록시 스위치」가 없으며, 클라이언트는 시스템의 VpnService 인터페이스를 통해 로컬 VPN 통로를 만들어 트래픽을 가로챕니다. 이는 데스크톱의 TUN 모드와 효과가 동일합니다. 첫 화면의 시작 버튼을 처음 클릭하면 시스템이 「연결 요청」 대화상자를 표시하며 반드시 「확인」을 선택해야 합니다. 승인 후 상태 표시줄에 열쇠 모양의 VPN 아이콘이 나타나면 실행 중이라는 뜻입니다. 동시에 하나의 앱만 VpnService를 점유할 수 있으므로 다른 VPN류 앱은 먼저 연결을 끊어야 합니다. 확인 방법: 「프록시」 페이지에서 정책 그룹에 지연 시간 테스트를 실행해 값이 반환되면 링크가 사용 가능한 상태입니다.
5.5Android 특유의 문제
- 백그라운드에서 종료됨: 국산 시스템의 절전 정책이 가장 흔한 문제로, 화면을 잠근 뒤 일정 시간이 지나면 프록시가 끊기는 증상으로 나타납니다. 처리 방법: 시스템 설정에서 클라이언트의 배터리 정책을 「제한 없음/백그라운드 실행 허용」으로 설정하고 최근 앱 목록에서 앱을 고정하세요. 제조사마다 메뉴 이름이 다르지만 공통된 방법은 「배터리 최적화 화이트리스트 + 자동 시작 허용」입니다.
- 개인 DNS 충돌: 「설정 → 네트워크 → 개인 DNS」에서 DoT 서버가 지정되어 있으면 DNS 조회가 클라이언트를 우회하게 되어 분기가 부정확해질 수 있습니다. 「자동」으로 되돌리는 것을 권장합니다.
- 앱별 프록시: 클라이언트의 「접근 제어」는 화이트리스트(목록 안의 앱만 프록시를 거침) 또는 블랙리스트(목록 안의 앱은 거치지 않음)를 지원합니다. 뱅킹 앱이 VPN 환경에 민감하다면 우회 목록에 추가하세요.
- 항상 켜짐 VPN: 「설정 → VPN」에서 클라이언트에 대해 「항상 켜짐」과 「사용되지 않는 VPN 연결 차단」을 켤 수 있습니다. 전자는 생존율을 높이고 후자는 프록시가 끊길 때 모든 네트워크를 차단하므로 필요에 따라 선택하세요.
iOS 설치 및 설정
CHAPTER / IOS6.1클라이언트 받기
iOS 플랫폼에서는 Clash Plus(App Store 페이지)를 사용합니다. 공식 사이트는 clashplus.io입니다. App Store에서 검색하거나 스토어 페이지를 직접 열어 설치하며, 업데이트는 스토어가 자동으로 배포하므로 버전을 직접 관리할 필요가 없습니다.
6.2첫 실행과 VPN 설정 승인
처음 실행해 연결을 시도하면 앱이 시스템에 VPN 설정을 추가하도록 요청하며, 시스템 팝업이 「허용」을 요구하고 화면 잠금 비밀번호나 Face ID로 확인합니다. 승인이 끝나면 「설정 → 일반 → VPN 및 기기 관리 → VPN」에 해당 항목이 나타납니다. 이 단계는 한 번만 하면 되며, 이후 연결과 해제는 앱 내부나 설정의 VPN 스위치에서 처리합니다.
6.3구독 가져오기
앱의 설정/구독 페이지로 이동해 새로 만들고 구독 링크를 붙여넣은 뒤 다운로드가 완료되면 해당 설정을 활성화합니다. Safari에서 링크를 복사한 뒤 앱으로 돌아오면 일부 상황에서 클립보드를 자동으로 인식해 가져올지 물어보며, 확인하면 됩니다. 구독은 마찬가지로 자동 업데이트를 지원하며, 업데이트 간격은 구독 항목 설정에서 조정할 수 있습니다.
6.4연결과 일상적인 사용
앱 내부의 연결 스위치를 클릭하면 상태 표시줄에 VPN 표시가 나타나며 이는 실행 중이라는 뜻입니다. 노드 전환, 정책 그룹 선택, 지연 시간 테스트는 모두 앱 내부에서 완료되며 논리는 데스크톱과 동일합니다: 정책 그룹은 설정 파일의 proxy-groups에 대응하며, 규칙 모드에서는 「노드 선택」 그룹 안의 출구만 선택하면 됩니다. iOS의 네트워크 확장 프로그램은 메모리 상한이 있어 노드 수가 매우 많은 구독은 메모리가 적은 구형 기기에서 연결에 실패할 수 있으므로, 서비스 제공업체에 간소화된 구독을 요청할 수 있습니다.
6.5iOS 특유의 문제
- 설정을 전환해도 적용되지 않음: 새 설정을 활성화한 뒤 연결을 끊고 다시 연결해야 네트워크 확장 프로그램이 새 파일을 불러옵니다.
- Wi-Fi와 셀룰러 전환 시 순간 끊김: 네트워크 인터페이스가 전환될 때 VPN 통로가 재생성되며, 몇 초간 끊기는 것은 정상적인 동작이고 앱이 자동으로 재연결합니다.
- 오래된 VPN 설정 잔존: 여러 프록시 앱을 사용해 온 기기는 「VPN 및 기기 관리」에 여러 설명 항목이 쌓일 수 있습니다. 더 이상 사용하지 않는 앱의 항목을 삭제해 시스템이 여러 VPN 설정 사이에서 잘못 전환하는 것을 방지하세요.
- 저전력 모드: 셀룰러 네트워크에서 「저데이터 모드」를 켜면 백그라운드 활동이 제한되어 구독 자동 업데이트가 지연될 수 있으므로, 필요할 때는 수동으로 업데이트하세요.
Linux 설치 설정과 Mihomo 코어
CHAPTER / LINUX & CORE7.1데스크톱 클라이언트 설치
데스크톱 환경에서는 Clash Verge Rev(deb와 rpm 패키지 제공)를 추천하며, 대안으로 FlClash가 있습니다. Debian/Ubuntu 계열에서 deb 패키지 설치:
sudo dpkg -i clash-verge-rev_amd64.deb
sudo apt-get install -f # 의존성 부족 메시지가 나오면 보완 후 자동으로 설치 완료
Fedora 등 rpm 계열은 sudo rpm -i 또는 sudo dnf install ./패키지명.rpm을 사용하세요. 설치 파일은 다운로드 페이지의 Linux 영역에서 받으며, amd64와 arm64를 구분해야 합니다. 설치 후 애플리케이션 메뉴에서 실행하고, 구독을 가져오는 절차는 다른 데스크톱 플랫폼과 동일합니다: 구독 페이지에서 새로 만들기 → 링크 붙여넣기 → 다운로드 → 노드 선택.
7.2시스템 프록시: 데스크톱 환경과 터미널은 별개
Linux에서 「시스템 프록시」는 데스크톱 환경 수준의 설정으로, GNOME과 KDE가 각각 별도의 방식을 가지고 있으며 클라이언트의 시스템 프록시 스위치는 보통 GNOME의 gsettings나 KDE의 해당 항목에만 기록합니다. GNOME 프록시를 수동으로 설정하는 동등한 명령:
gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host '127.0.0.1'
gsettings set org.gnome.system.proxy.http port 7890
gsettings set org.gnome.system.proxy.https host '127.0.0.1'
gsettings set org.gnome.system.proxy.https port 7890
핵심 차이는 터미널 프로그램은 데스크톱 프록시 설정을 읽지 않고 환경 변수만 인식한다는 점입니다. 현재 터미널 세션에 임시로 프록시를 적용하려면:
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
export all_proxy=socks5://127.0.0.1:7890
셸 설정 파일(예: ~/.bashrc)에 작성하면 계속 유효하지만, 프록시가 꺼졌을 때 이 변수들이 터미널의 인터넷 연결을 끊게 만들 수 있으므로 필요할 때만 켜고 끌 수 있는 함수 쌍으로 만들어 두는 것을 권장합니다. 환경 변수를 관리하고 싶지 않다면 TUN 모드를 바로 켜는 것이 한 번에 해결되는 방법입니다.
7.3TUN 모드와 권한
TUN 장치를 만들려면 CAP_NET_ADMIN 능력이 필요합니다. Clash Verge Rev는 「서비스 모드」를 제공합니다: 설정에서 시스템과 함께 실행되는 특권 서비스를 설치하면(한 번의 sudo 승인 필요) 이후에는 일반 권한의 인터페이스에서 TUN을 켜고 끌 수 있습니다. 서비스 모드를 사용하지 않는다면 코어 프로그램에 직접 능력 비트를 부여할 수도 있습니다:
sudo setcap 'cap_net_admin,cap_net_bind_service=+ep' /usr/bin/mihomo
켠 뒤 ip addr로 새로 추가된 TUN 인터페이스를 볼 수 있으며 기본 경로가 이를 가리킵니다. 데스크톱 사용자가 「TUN 스위치를 켜면 자동으로 다시 꺼진다」는 문제를 겪는다면 대부분 서비스가 설치되지 않았거나 승인에 실패한 경우이므로 서비스를 다시 설치하고 로그를 확인하세요.
7.4Mihomo 코어: 서버와 라우터 환경
그래픽 인터페이스가 없는 서버나 소프트웨어 라우터는 Mihomo 코어를 직접 실행합니다. 코어는 단일 실행 파일로, 다운로드 페이지의 코어 영역에서 아키텍처에 맞게(amd64 / arm64 / armv7 / mips-softfloat) 받아 압축을 풀고 /usr/local/bin/에 넣으며, 설정 파일은 /etc/mihomo/config.yaml에 둡니다(구독에서 받은 YAML을 이 파일로 저장). systemd로 관리하는 최소 unit 예시:
[Unit]
Description=Mihomo Daemon
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/mihomo
Restart=on-failure
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Team]
위 예시의 마지막 줄은 자리표시자일 뿐이며 실제로 저장할 때는 삭제해야 합니다. 파일을 /etc/systemd/system/mihomo.service로 저장한 뒤 sudo systemctl daemon-reload && sudo systemctl enable --now mihomo를 실행해 시작 및 자동 실행을 설정하고, journalctl -u mihomo -f로 로그를 추적할 수 있습니다. 코어에는 인터페이스가 없으므로 노드 전환은 설정에서 활성화한 외부 컨트롤 인터페이스(external-controller)와 웹 패널을 조합해 처리합니다. 일반 데스크톱 사용자는 이 방식을 사용할 필요가 없으며 GUI 클라이언트가 모든 요구를 이미 충족합니다.
7.5연결 확인
Linux에서 가장 직접적인 확인 방법은 curl이 명시적으로 로컬 프록시를 거치도록 하는 것입니다:
curl -x http://127.0.0.1:7890 -sS -o /dev/null -w '%{http_code}\n' https://www.example.com
200이 반환되면 「내 기기 → 코어 → 노드 → 목표」 전체 경로가 통한다는 뜻입니다. 멈추거나 연결 거부 오류가 나면 먼저 포트를 확인하고(ss -lntp | grep 7890), 그다음 코어 로그의 연결 오류를 확인하세요.
설정 관련 자주 묻는 문제
CHAPTER / TROUBLESHOOTING8.1구독을 가져왔는데도 인터넷이 안 됨
고정된 순서대로 하나씩 확인하며 단계를 건너뛰지 마세요: ① 시스템 프록시 또는 VPN 스위치가 실제로 켜져 있는지(데스크톱은 시스템 설정을, 모바일은 상태 표시줄 아이콘을 확인) ② 클라이언트에 표시된 포트가 시스템 프록시에 기록된 포트와 일치하는지 ③ 현재 선택한 노드의 지연 시간 테스트에 값이 반환되는지, 전부 타임아웃이면 먼저 노드를 바꿔볼 것 ④ 실행 모드가 direct가 아닌 rule인지 ⑤ 방화벽이나 보안 소프트웨어가 코어 프로세스를 차단하지 않는지. 각 항목의 확인 명령과 더 세부적인 분기 판단은 《Clash 연결 실패 체크리스트》 문서를 참고하세요.
8.2노드 지연 시간 테스트가 전부 타임아웃
가능성이 높은 순서대로 세 가지가 있습니다: 구독이 만료되었거나 트래픽을 다 사용함(구독 카드의 만료일과 트래픽 정보를 확인하거나 서비스 제공업체 패널에 로그인해 확인), 로컬 네트워크가 노드 포트를 방해함(휴대폰 테더링 등 다른 네트워크 환경으로 바꿔서 대조), 지연 시간 테스트 URL 자체에 접속할 수 없음(테스트 주소는 설정에서 변경 가능). 개별 노드의 타임아웃은 정상적인 변동이며, 전체 그룹이 타임아웃될 때만 문제를 확인해야 합니다.
8.3특정 사이트가 잘못된 출구로 나가거나 규칙이 적용되지 않음
먼저 클라이언트의 연결 패널에서 해당 사이트의 실제 연결 기록을 찾아 어떤 규칙에 일치했는지 확인하세요 — 이것이 판단의 유일한 근거이며 추측하지 마세요. 잘못된 출구로 나가는 흔한 원인: 사용자 정의 규칙이 더 광범위한 규칙 뒤에 배치됨(위에서부터 아래로 일치하면 멈추므로 MATCH 기본 규칙 뒤에 있는 어떤 규칙도 실행되지 않음), 도메인 규칙을 DOMAIN 정확 일치로 작성했지만 실제로는 서브도메인에 접속하는 경우(DOMAIN-SUFFIX로 바꿔야 함), 목표가 순수 IP 접속이라 도메인 규칙이 일치하지 않는 경우(IP-CIDR 규칙이 필요함). 규칙 유형과 배치 순서에 대한 완전한 예시는 《Clash 분기 규칙 우선순위 상세 설명》을 참고하세요.
8.4DNS 관련 이상
주류 설정은 기본적으로 fake-ip 모드를 사용합니다: 코어가 프록시 대상 도메인에 예약된 대역의 가짜 IP를 반환하고 실제 해석은 출구 쪽에서 완료됩니다. 이렇게 하면 로컬 DNS 오염을 피하고 해석 지연을 줄일 수 있습니다. 부작용은 두 가지이며 모두 예상된 동작입니다: 내 기기에서 ping이나 nslookup을 실행하면 198.18.x.x 대역의 주소가 보이는 것은 정상이며, 실제 IP에 의존하는 일부 LAN 프로그램은 관련 도메인을 fake-ip-filter 제외 목록에 추가해야 합니다. 또 다른 유형의 문제는 시스템 계층의 DNS 설정이 코어를 우회하는 경우입니다 — Android의 개인 DNS, 브라우저 내장 DoH 모두 분기를 부정확하게 만들 수 있으므로 문제를 진단할 때 먼저 이것들을 자동/끄기로 되돌리세요.
8.5구독 업데이트 실패
세 가지 경우로 나눠 처리합니다. 업데이트 요청 타임아웃: 구독 도메인이 이미 접속하는 데 프록시가 필요한 상태일 수 있으므로, 클라이언트 설정에서 「프록시를 통해 구독 업데이트」를 허용한 뒤 다시 시도하세요. 오류를 반환하거나 내용이 비어 있음: 구독 링크가 재설정되었을 수 있으므로 서비스 제공업체 패널에 로그인해 새 링크를 복사한 뒤 다시 가져오세요. 다운로드는 성공했지만 형식 오류가 표시됨: 해당 링크가 Clash 형식이 아닐 수 있으므로(다른 클라이언트 전용 형식일 수 있음) 서비스 제공업체에 Clash 구독 주소를 요청하거나 패널에서 올바른 형식 옵션을 선택했는지 확인하세요.
8.6문제가 여전히 해결되지 않을 때
이 장은 설정 차원에서 자주 발생하는 문제를 다루고 있습니다. 분류별로 정리된 더 많은 질문과 답변은 자주 묻는 질문 페이지(기본 개념/설치 설정/사용 팁/문제 해결 네 가지 분류)에서 확인할 수 있으며, 본문에 등장하는 프로토콜과 기능 용어는 모두 용어 사전에 개별 항목으로 정리되어 있습니다. 문제를 설명할 때는 세 가지 요소를 함께 전달하세요: 플랫폼과 클라이언트 이름, 실행 모드, 연결 패널에서 일치한 규칙. 대부분의 문제는 이를 바탕으로 바로 위치를 파악할 수 있습니다.