Clash for Linux 클라이언트 다운로드 및 설치 명령어 모음
Clash 전체 플랫폼 클라이언트 다운로드와 Linux 설치 명령어 모음. Mihomo 커널과 Ubuntu / Debian / Fedora / Arch 4대 배포판을 다루며, 구독 가져오기, 규칙 분리, TUN 모드 관련 한국어 문서를 함께 제공합니다.
$sudo apt install ./clash-verge_2.3.2_amd64.deb
$sudo dpkg -i clash-verge_2.3.2_amd64.deb
$sudo dnf install ./clash-verge-2.3.2-1.x86_64.rpm
$yay -S clash-verge-rev-bin
규칙 분리
규칙 분리는 "어떤 트래픽을 프록시로 보내고 어떤 트래픽을 직접 연결할지"를 결정하는 가장 핵심적인 기능입니다. Clash는 rules 목록을 위에서 아래로 순서대로 매칭하며, 도메인 접미사, 정확한 도메인, IP 대역, GeoIP 위치, 프로세스 이름 등 다양한 기준으로 규칙을 작성할 수 있습니다. 첫 번째로 일치하는 규칙이 즉시 적용되고, 맨 끝의 MATCH가 나머지를 처리합니다. 브라우저 확장 프로그램에서 화이트리스트를 일일이 관리하는 방식과 달리, 설정 파일에 작성된 규칙은 구독과 함께 배포되어 여러 기기에서 재사용할 수 있습니다. 국내(한국) 트래픽은 우회 없이 직결되고 해외 트래픽만 필요에 따라 프록시를 거치므로 지연 시간과 대역폭 낭비를 줄일 수 있습니다. 작성 방식 자체가 한 줄에 한 규칙인 순수 텍스트 형태라서, 문제가 생기면 로그의 rule match 기록만 확인하면 바로 원인을 찾을 수 있습니다.
rules:
- DOMAIN-SUFFIX,github.com,PROXY
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
TUN 모드
시스템 프록시는 프록시 설정을 따르는 애플리케이션에만 적용되기 때문에, 명령줄 도구나 일부 게임, 시스템 프록시를 무시하는 프로그램은 그대로 우회 없이 나가버립니다. TUN 모드는 시스템에 가상 네트워크 카드를 만들어 전체 기기의 트래픽을 네트워크 계층에서 가로챈 뒤 규칙 엔진으로 넘기는 방식으로, auto-route로 라우팅 테이블을 자동 설정하고 dns-hijack으로 평문 DNS 쿼리를 가로채면 진정한 전역 트래픽 제어가 가능합니다. Linux에서는 커널에 CAP_NET_ADMIN 권한을 부여하거나 특권 서비스로 실행해야 하며, GUI 클라이언트는 보통 원클릭 권한 부여 기능을 제공합니다. stack 항목에서는 system / gvisor / mixed 중 원하는 프로토콜 스택 구현을 선택할 수 있습니다.
tun:
enable: true
stack: system
auto-route: true
dns-hijack:
- any:53
구독 관리
노드 정보는 보통 서비스 제공자가 구독 링크 형태로 배포하므로, 일일이 수동으로 옮겨 적으면 번거롭고 금방 만료됩니다. proxy-providers에 구독을 원격 소스로 등록하면 클라이언트가 interval 주기에 맞춰 최신 노드 목록을 자동으로 가져와 실행 중인 정책 그룹에 즉시 반영하므로, 노드 추가·삭제나 주소 변경에 사람이 손댈 필요가 없습니다. GUI 클라이언트는 여기에 더해 여러 구독 동시 관리, 원클릭 업데이트, 로컬 편집, 업데이트 실패 시 롤백 등의 기능을 제공합니다. 구독 가져오기가 실패해도 이전 설정이 계속 유효하기 때문에 일시적인 네트워크 오류로 프록시 전체가 끊기는 일은 없습니다. 구독 문제를 진단할 때는 먼저 응답 내용이 올바른 YAML인지 확인하는 것이 핵심입니다.
proxy-providers:
main:
type: http
url: https://example.com/sub.yaml
interval: 86400
path: ./providers/main.yaml
Mihomo 커널
Mihomo는 Clash 생태계에서 현재 지속적으로 관리되고 있는 커널 포크로, MetaCubeX 커뮤니티가 개발하고 있습니다. 기존 Clash 설정 형식과 호환되면서도 더 많은 프로토콜, 더 완전한 DNS 옵션, 더 세밀한 규칙 유형을 지원합니다. 데스크톱용 Clash Verge Rev, 모바일용 Clash Meta for Android 등 주요 클라이언트들이 내부적으로 이 커널을 사용합니다. 커널 자체는 단일 실행 파일이라 서버나 라우터 사용자는 GUI 없이도 직접 실행할 수 있으며, systemd로 상시 서비스로 등록할 수도 있습니다. 다운로드 페이지에서는 amd64, arm64, armv7 등 여러 아키텍처의 사전 빌드 버전을 제공하여 가정용 라우터부터 클라우드 서버까지 대부분의 하드웨어를 지원합니다.
$ mihomo -d ~/.config/mihomo
$ systemctl enable --now mihomo
프로토콜 지원
서비스 제공자마다 사용하는 전송 프로토콜이 다르기 때문에, 커널이 지원하는 프로토콜 범위가 구독을 온전히 가져올 수 있는지를 결정합니다. Mihomo 커널은 Shadowsocks, VMess, Trojan 같은 기존 프로토콜뿐 아니라 VLESS, Hysteria2, TUIC, WireGuard 같은 비교적 최신 프로토콜도 지원하며, WebSocket, gRPC, Reality 같은 전송 계층 위장 기법도 함께 사용할 수 있습니다. 사용자 입장에서는 특정 프로토콜을 위해 별도의 도구를 따로 설치할 필요가 없다는 뜻입니다. 하나의 config.yaml 안에 여러 프로토콜의 노드를 섞어 넣고 같은 정책 그룹과 규칙으로 통합 관리할 수 있으며, 서비스 제공자를 바꿔도 클라이언트를 교체할 필요가 없습니다.
proxies:
- name: node-01
type: vless
server: example.org
port: 443
network: ws
제어 인터페이스
커널은 external-controller를 통해 로컬 RESTful 인터페이스를 노출하며, GUI 클라이언트와 웹 콘솔(metacubexd, yacd 등)은 이 인터페이스로 연결 목록을 읽고, 노드를 전환하고, 프록시 모드를 조정하고, 실시간 로그를 확인합니다. 명령줄 사용에 익숙한 사용자는 curl로 이 인터페이스를 직접 호출해 자동화할 수도 있습니다. 정책 그룹을 시간에 맞춰 전환하거나, 속도 측정을 스크립트화하거나, CI 환경에서 설정을 검증하는 작업이 모두 가능합니다. 인터페이스는 기본적으로 127.0.0.1만 수신하며, 로컬 네트워크에서 접근하려면 바인딩 주소를 명시적으로 변경하고 secret 인증을 설정해 신뢰할 수 없는 기기에 제어 포트가 노출되지 않도록 해야 합니다.
external-controller: 127.0.0.1:9090
external-ui: ui
secret: "your-password"
quickstart --preview
3단계로 끝내는 첫 연결
사용 문서의 요약 미리보기입니다. 설치부터 연결 확인까지, 새 기기 기준으로 보통 10분 안에 끝낼 수 있습니다.
클라이언트 설치
다운로드 페이지에서 현재 시스템에 맞는 설치 파일을 선택합니다. Linux 사용자는 배포판에 맞춰 deb / rpm을 받거나 AUR을 이용하고, 나머지 플랫폼은 설치 프로그램을 바로 다운로드하거나 앱스토어를 이용하면 됩니다. 설치 후 처음 실행하면 클라이언트가 사용자 디렉터리에 기본 설정을 생성합니다.
구독 가져오기
서비스 제공자가 준 구독 링크를 복사해 클라이언트의 설정 페이지에 붙여넣어 가져옵니다. 정상적으로 가져오면 노드 목록과 정책 그룹이 자동으로 나타납니다. 파싱 실패 메시지가 뜨면 먼저 그 링크를 브라우저에서 직접 열었을 때 YAML 텍스트가 반환되는지 확인하세요.
프록시 켜고 연결 확인
프록시 모드를 "규칙"으로 전환하고 시스템 프록시를 켠 다음, 정책 그룹에서 사용 가능한 노드를 하나 선택하고 해외 사이트에 접속해 연결을 확인합니다. 명령줄에서는 curl과 127.0.0.1:7890 포트를 이용해 바로 테스트할 수 있습니다.
apt search clash
플랫폼별 클라이언트 받기
다섯 개 플랫폼 모두 지속적으로 관리되는 GUI 클라이언트를 제공하며, 내부적으로 모두 Mihomo 커널을 사용합니다. 같은 구독을 여러 기기에서 그대로 재사용할 수 있습니다.
Linux
deb / rpm 설치 파일과 AUR 빌드를 제공합니다. Clash Verge Rev를 추천하며, systemd로 부팅 시 자동 시작을 설정할 수 있습니다.
다운로드하러 가기 →Windows
Clash Plus, Clash Verge Rev 등 여러 클라이언트를 선택할 수 있으며, 시스템 프록시와 서비스 모드 설치를 지원합니다.
다운로드하러 가기 →macOS
Intel과 Apple Silicon 아키텍처별로 설치 파일이 따로 제공되니, 사용 중인 프로세서 종류에 맞는 버전을 다운로드하세요.
다운로드하러 가기 →Android
Clash Plus와 Clash Meta for Android를 지원하며, arm64 기기는 해당 아키텍처용 APK를 우선 선택하세요.
다운로드하러 가기 →iOS
Clash Plus는 App Store를 통해 배포되며, 다운로드 페이지에서 스토어 링크와 설치 안내를 제공합니다.
다운로드하러 가기 →git log --oneline
공개된 코드 위에 세워진 도구
커널부터 클라이언트까지, 이 도구 체인의 모든 계층은 공개 저장소에서 개발됩니다. 커밋 기록, 이슈 논의, 배포 산출물까지 하나하나 직접 확인할 수 있습니다.
프로젝트의 흐름
Clash는 원래 Go로 작성된 규칙 기반 프록시 커널로, 명확한 YAML 설정 형식과 유연한 정책 그룹 방식으로 이 분야의 사실상 표준으로 자리잡았습니다. 원본 저장소가 보관 처리된 이후에도 설정 형식과 생태계는 단절되지 않았고, 커뮤니티가 이를 이어받아 개발을 계속하면서 오늘날 Mihomo를 커널로 삼고 여러 GUI 클라이언트가 나란히 관리되는 구조가 만들어졌습니다.
커널과 클라이언트의 관계
커널을 엔진, 클라이언트를 계기판이라고 생각하면 이해가 쉽습니다. Mihomo는 프로토콜 구현, 규칙 매칭, 트래픽 전달을 담당하고, Clash Verge Rev, FlClash, Clash Meta for Android 같은 클라이언트는 구독 관리, 화면 조작, 시스템 연동을 담당합니다. 같은 설정 형식을 공유하기 때문에 동일한 구독을 여러 플랫폼의 클라이언트 사이에서 그대로 옮겨 쓸 수 있습니다.
오픈소스 생태계
커널과 주요 클라이언트는 모두 GPL-3.0 등 자유 소프트웨어 라이선스로 배포되며, 코드는 공개 플랫폼에 호스팅되어 누구나 구현을 검토하거나 이슈를 등록하거나 소스에서 직접 빌드할 수 있습니다. 배포 산출물은 저장소의 CI 파이프라인이 자동으로 컴파일해 만들며, 버전과 소스 태그가 일대일로 대응합니다. 이는 이 사이트가 해당 클라이언트들을 추천하는 전제이기도 합니다.
업데이트 방식
커널과 각 클라이언트는 서로 독립된 릴리스 주기를 유지합니다. 커널 쪽은 프로토콜 발전과 규칙 유형 확장을 반영하고, 클라이언트 쪽은 UI와 시스템 연동 개선을 반영합니다. 이 사이트의 다운로드 페이지 링크는 각 프로젝트의 최신 릴리스를 가리키며 특정 이전 버전에 고정되지 않습니다. GeoIP, GeoSite 같은 규칙 데이터베이스도 커널이 설정된 주기에 따라 자동으로 갱신하므로 파일을 수동으로 교체할 필요가 없습니다.
git clone https://github.com/MetaCubeX/mihomo.git
grep -i question
자주 묻는 질문 모음
새 사용자들이 가장 많이 막히는 네 가지 질문에 한 줄로 방향을 제시하고, 자세한 설명은 각 문서에서 확인할 수 있습니다.
Clash와 Mihomo는 어떤 관계인가요?
Mihomo는 Clash 생태계에서 지속적으로 관리되는 커널 포크로, 기존 설정 형식과 호환되며 주요 클라이언트들이 내부적으로 사용합니다. 자세한 개념은 용어 가이드에서 확인할 수 있습니다.
구독 가져오기가 계속 오류가 나요, 어떻게 해야 하나요?
먼저 링크를 브라우저에서 열었을 때 YAML 텍스트가 정상적으로 반환되는지 확인한 다음, 링크, 형식, 문법 순으로 단계별로 점검하세요. 자세한 절차는 사용 문서에서 확인할 수 있습니다.
7890 포트가 사용 중이라 실행이 안 돼요?
ss나 lsof로 포트를 점유한 프로세스를 찾아 해당 프로세스를 종료할지 mixed-port를 변경할지 결정하세요. 포트를 바꾼 뒤에는 시스템 프록시 설정도 함께 업데이트해야 합니다. 자세한 내용은 전체 가이드에서 확인할 수 있습니다.
TUN 모드에는 어떤 권한이 필요한가요?
Linux에서는 커널에 CAP_NET_ADMIN 권한을 부여하거나 특권 서비스로 실행해야 합니다. GUI 클라이언트는 보통 원클릭 권한 부여 기능을 제공하며, 구체적인 설정 방법은 전체 가이드에서 확인할 수 있습니다.
tail -n 3 notes.log
최신 기술 노트
문제 해결과 고급 활용을 주제로 한 실전 노트입니다. 실제 발생한 오류 상황에서 시작해 바로 따라 할 수 있는 명령어와 설정을 제공합니다.
Clash 구독 링크 만료 및 파싱 실패 점검 체크리스트: 404부터 YAML 오류까지 하나씩 확인하기
구독 가져오기 오류가 나면 무작정 링크를 바꾸지 마세요. 링크 접근성, 응답 형식, User-Agent 제한, YAML 문법, 클라이언트 호환성까지 다섯 단계로 점검해 구독 실패의 진짜 원인을 찾는 방법을 정리했습니다.
Clash 혼합 포트와 로컬 네트워크 프록시 공유 설정: allow-lan 구성과 기기 연결 실전 가이드
mixed-port와 allow-lan 두 항목의 역할을 정확히 짚어주고, 같은 네트워크 안에서 스마트폰과 셋톱박스가 한 대의 컴퓨터 프록시를 함께 사용하는 방법을 시연합니다. 바인딩 주소 설정과 방화벽 허용 시 주의점도 함께 안내합니다.
Clash 포트 충돌 해결하기: 7890 포트 문제 진단부터 리스닝 포트 변경까지 전체 과정
실행 시 address already in use 오류가 뜨면 ss, lsof, netstat로 포트를 점유한 프로세스를 찾아 해당 프로세스를 종료할지 포트를 바꿀지 판단하고, 변경 후에는 시스템 프록시 설정도 함께 업데이트해야 합니다.