클라이언트, 커널, 구독의 차이부터 알아보기
Clash 클라이언트를 선택한다는 것은 설정을 관리하는 인터페이스, 규칙을 실행하는 커널, 시스템 트래픽을 처리하는 방식 등 세 가지를 선택하는 것입니다. FlClash와 Clash Verge Rev는 그래픽 클라이언트이며, mihomo는 커널이자 독립적으로 실행할 수 있는 명령줄 프로그램입니다. 구독은 노드 또는 전체 설정을 제공하지만, 클라이언트와는 별개이며 시스템 프록시가 활성화되었는지도 결정하지 않습니다.
같은 구독을 두 클라이언트에서 사용해도 결과가 다를 수 있지만, 반드시 노드 품질이 달라졌다는 뜻은 아닙니다. 커널 버전, DNS 오버라이드, 규칙 병합 순서, TUN 상태, 정책 그룹 선택에 따라 실제 연결 경로가 달라질 수 있습니다. 비교하기 전에 홈 화면의 지연 시간만 볼 것이 아니라 이런 조건부터 동일하게 맞춰야 합니다.
먼저 결론부터 말하면, 데스크톱과 Android에서 비슷한 방식으로 사용하고 싶다면 FlClash를 먼저 살펴보세요. 데스크톱에서 여러 구독과 오버라이드를 관리하는 것이 주 목적이라면 Clash Verge Rev를, Linux 서버라면 보통 mihomo를 직접 설치하는 방식을 고려할 수 있습니다. 호환성은 선택한 배포판의 설치 패키지, 커널 버전, 릴리스 노트를 확인하세요.
이 글은 각 도구의 작동 방식을 비교하며, 특정 인터페이스 버전을 장기적인 결론의 근거로 삼지 않습니다. 설치 전에는 ‘클라이언트 버전’과 ‘커널 버전’을 각각 확인하세요. 두 버전은 번호 체계가 다르므로 클라이언트 버전이 높다는 이유만으로 프로토콜 지원 수준을 판단할 수 없습니다.
플랫폼 지원 및 유지 관리 현황 비교
| 후보 프로젝트 | 주요 플랫폼 | 적합한 관리 방식 | 선택 시 확인할 사항 |
|---|---|---|---|
| FlClash | Windows、macOS、Linux、Android | 익숙한 인터페이스에서 설정을 가져오고 정책을 선택하며 실행 상태를 확인 | 대상 아키텍처용 설치 패키지, 모바일 VPN 권한, 실제 커널 버전 |
| Clash Verge Rev | Windows、macOS、Linux | 데스크톱 구독 관리, 설정 확장, 서비스 모드 | 오버라이드 적용 범위, 서비스 설치 상태, 시스템 프록시 및 TUN 설정 |
| Clash Nyanpasu | Windows、macOS、Linux | 데스크톱 설정 관리 및 커널 관련 설정 | 해당 배포판의 유지 관리 상태, 커널 선택, 설정 확장 방식 |
| mihomo | 지원되는 Linux 등의 운영체제 및 아키텍처 | 설정 파일, 명령줄, 시스템 서비스 | 서비스 권한, 네트워크 라우팅, 컨트롤 인터페이스, 업그레이드 및 롤백 |
| Clash for Windows | 과거 데스크톱 배포 패키지 | 기존 환경에서 이전할 때 참고 | 유지 관리가 중단되었으므로 신규 설치의 우선 후보로 권장하지 않습니다. |
플랫폼 이름이 같아도 설치 조건까지 같은 것은 아닙니다.
- Windows: x64와 ARM64를 구분하세요. 시스템 프록시는 보통 관리자 권한이 필요하지 않지만, 서비스를 설치하거나 TUN 가상 네트워크 어댑터를 만들고 라우팅을 변경할 때는 권한 상승이 필요할 수 있습니다.
- macOS: Apple Silicon과 Intel을 구분하세요. 앱을 처음 여는 단계와 네트워크 관련 구성 요소를 활성화하는 단계는 별개입니다. 시스템 권한 안내가 나타났다고 해서 모두 설치 실패로 판단해서는 안 됩니다.
- Linux 데스크톱: 배포 패키지 형식과 실행에 필요한 의존성을 확인하세요. 설치 후에는 데스크톱 환경이 시스템 프록시 설정을 읽는지, TUN에 필요한 권한이 있는지도 점검해야 합니다.
- Android: FlClash가 시스템 VPN 인터페이스로 트래픽을 처리하려면 사용자 승인이 필요합니다. 일반적으로 한 사용자 프로필에서 활성 VPN 하나만 사용할 수 있으므로 다른 VPN, 패킷 캡처 또는 방화벽 앱이 이를 사용 중인지 확인하세요.
iOS 설치 방법을 데스크톱 클라이언트 이름만 보고 그대로 적용해서는 안 됩니다. FlClash와 Clash Verge Rev의 일반적인 배포 대상에는 iOS가 포함되지 않습니다. 다른 iOS 프록시 앱에서 특정 구독 형식을 지원하는지는 별도로 확인해야 합니다. 일부 노드 가져오기를 지원하더라도 mihomo 설정 파일 전체를 지원한다는 뜻은 아닙니다.
비교 항목 1: 커널 업데이트 및 프로토콜 호환성
mihomo는 Clash Meta의 기술 흐름을 이어갑니다. 클라이언트에 mihomo가 포함되어 있다고 해서 항상 같은 빌드의 커널이 함께 제공되는 것은 아닙니다. 새 프로토콜 필드, DNS 옵션 또는 규칙 동작을 사용할 수 있는지는 소프트웨어 이름만으로 판단하지 말고 설치 패키지에서 실제로 실행되는 커널을 확인하세요.
설치 후 다음 세 가지 확인
- 클라이언트의 정보, 버전 정보 또는 커널 관리 메뉴에서 인터페이스 버전과 커널 버전을 확인하세요. 메뉴 이름은 배포판에 따라 달라질 수 있으므로 모든 클라이언트의 메뉴 경로가 같다고 가정하지 마세요.
- 설정을 가져온 후 시작 로그를 확인해 지원되지 않는 프록시 유형, 규칙 파싱 오류, 포트 수신 실패가 없는지 살펴보세요.
- 새 프로토콜에 필요한 매개변수를 빠짐없이 확인하세요. 노드의
type만 다른 이름으로 바꿔서는 프로토콜을 변환할 수 없습니다.
FlClash는 커널과 인터페이스 연동을 클라이언트에서 통합 관리하고 싶은 사용자에게 적합합니다. Clash Verge Rev는 커널 업데이트 메뉴와 릴리스 노트도 함께 확인하는 것이 좋습니다. 배포판에서 커널을 변경할 수 있다면 현재 설정을 먼저 백업한 다음 업데이트된 커널에서 DNS, UDP, TUN이 제대로 동작하는지 검증하세요. 개발 버전 커널은 특정 수정 사항을 확인할 때 적합하며, 버전 번호가 새롭다는 이유만으로 모든 작업 환경에 바로 적용하는 것은 권장하지 않습니다.
독립 mihomo 환경에서는 먼저 설정 파일을 테스트할 수 있습니다. 아래 파일명은 로컬 설정 예시이며, 명령은 mihomo가 설치된 환경에서 실행해야 합니다.
mihomo -v
mihomo -t -f ./config.yaml
-t는 현재 커널이 설정 파일을 읽을 수 있는지 테스트합니다. 노드 연결, DNS 작동 또는 규칙 적용 결과까지 검증하는 것은 아닙니다. 그래픽 클라이언트는 시작 전에 설정을 생성할 수 있으므로 원본 구독 파일을 테스트하는 것만으로 최종 실행 설정을 확인할 수 없습니다.
비교 항목 2: 인터페이스 및 트래픽 처리 방식
FlClash의 실용적인 장점 중 하나는 데스크톱과 Android에서 비슷한 방식으로 조작할 수 있다는 점입니다. 설정 가져오기, 연결 시작, 정책 그룹 선택, 연결 기록 확인 등의 흐름이 비슷합니다. Clash Verge Rev는 트레이 조작, 시스템 프록시, 서비스 모드, 설정 관리 등 데스크톱 작업 흐름에 중점을 두고 평가할 수 있습니다. 설정 화면의 항목 수를 기준으로 순위를 매기기보다 매일 사용하는 기능을 기준으로 선택하세요.
시스템 프록시와 TUN은 각각 따로 확인하세요
시스템 프록시는 운영체제 설정을 따르는 앱이 로컬 프록시 수신 포트에 연결하도록 합니다. 일부 터미널 프로그램과 게임은 시스템 프록시 설정을 자동으로 읽지 않습니다. TUN은 가상 네트워크 어댑터를 통해 라우팅 조건에 해당하는 트래픽을 처리하지만, 권한, 라우팅, DNS, 제외 규칙의 영향을 받습니다. 따라서 ‘켜면 모든 연결이 반드시 프록시를 거친다’고 이해해서는 안 됩니다. 최종 연결 경로는 규칙과 정책 그룹에 따라 결정됩니다.
- 브라우저와 업무용 앱은 먼저 시스템 프록시로 테스트하세요. 정상적으로 접속되고 규칙이 적용되는지 확인한 뒤 TUN이 필요한지 결정하면 됩니다.
- 명령줄 도구는 프록시를 명시적으로 지정해 먼저 테스트하면 앱이 시스템 프록시를 읽지 않는 문제를 배제할 수 있습니다.
- 게임, UDP 앱 또는 프록시 설정을 따르지 않는 소프트웨어는 TUN으로 테스트하세요. 노드와 출구 경로가 해당 트래픽을 지원하는지도 확인해야 합니다.
예를 들어 현재 적용 중인 설정의 mixed-port 값이 실제로 7890일 때만 아래 명령을 사용할 수 있습니다. 7890은 예시 포트이며 모든 클라이언트의 기본값이 아닙니다:
curl --proxy http://127.0.0.1:7890 https://example.com/
프록시를 명시하면 연결되지만 직접 접속은 실패한다면 먼저 앱의 프록시 설정과 트래픽 처리 방식을 확인하세요. 로컬 포트에도 연결할 수 없다면 구독을 바꾸기 전에 커널이 실행 중인지, 포트가 이미 사용 중인지부터 살펴보세요.
비교 항목 3: 구독 및 오버라이드 관리
구독 업데이트와 로컬 사용자 설정의 경계는 장기간 사용할 때 흔히 간과되는 차이입니다. 구독에서 생성된 파일을 직접 수정하면 다음 업데이트 때 변경 사항이 덮어써질 수 있습니다. 원격 구독은 노드나 기본 설정을 관리하고, 로컬 오버라이드는 규칙 추가, DNS, 수신 주소, 개인 설정을 관리하도록 나누는 편이 안전합니다.
오버라이드 기능을 비교할 때 확인할 네 가지
- 적용 범위: 변경 사항이 현재 설정에만 적용되나요, 아니면 모든 설정에 적용되나요? 다른 구독으로 전환해도 DNS 설정이 유지되나요?
- 적용 순서: 로컬 규칙이 구독 규칙 앞에 삽입되나요, 아니면 맨 뒤에 추가되나요?
MATCH뒤에 추가되면 보통 원하는 대로 규칙을 적용할 수 없습니다. - 병합 방식: 객체 필드는 병합될 수 있지만 배열은 교체되거나 추가될 수 있습니다. 실제 동작은 클라이언트의 오버라이드 방식에 따라 다르므로 YAML의 겉모양만 보고 판단하지 마세요.
- 확인 가능성: 최종 실행 설정과 규칙 적용 기록을 볼 수 있나요? 편집기에서 저장에 성공했다는 것만으로 커널에 설정이 로드되었다고 볼 수는 없습니다.
Clash Verge Rev의 설정 확장 워크플로는 로컬 병합이나 스크립트 처리가 필요한 데스크톱 사용자에게 적합합니다. 실제로 사용할 수 있는 메뉴와 처리 순서는 설치된 버전을 확인하세요. FlClash 사용자도 현재 버전의 오버라이드 메뉴와 적용 범위를 확인해야 하며, 특히 데스크톱과 Android에서 설정 저장 위치가 완전히 같다고 가정해서는 안 됩니다.
아래는 규칙 순서를 설명하는 예시이며, 그대로 가져올 수 있는 완성된 설정이 아닙니다. 기업 내부망은 먼저 직접 연결하고 나머지 트래픽은 기존 PROXY 정책 그룹으로 보내는 구성입니다. 실제로 적용하기 전에 해당 그룹이 있는지 확인하고 예시 도메인을 실제 내부망 도메인으로 바꾸세요:
rules:
- DOMAIN-SUFFIX,office.example.com,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- MATCH,PROXY
이
rules를 판단 없이 전체 규칙 목록의 오버라이드로 사용하지 마세요. 클라이언트가 배열을 교체하는 방식이라면 기존 규칙이 모두 바뀔 수 있습니다. 먼저 ‘앞에 추가’, ‘뒤에 추가’, ‘교체’의 차이를 확인하세요.
구독 링크에는 접속 정보가 포함되는 경우가 많습니다. 설정을 옮기거나 문제를 문의하거나 화면을 공유할 때는 링크 전체, 노드 비밀번호, 컨트롤 인터페이스 키를 가리세요. 출처를 알 수 없는 온라인 변환 페이지에 실제 구독 정보를 입력하지 마세요.
비교 항목 4: 동일한 조건에서 성능과 안정성 확인
클라이언트 인터페이스가 다르다고 해서 네트워크 속도까지 다르다고 판단할 수는 없습니다. 커널, 노드, 라우팅, DNS, 테스트 대상이 같다면 그래픽 인터페이스의 차이는 주로 조작 방식, 설정 생성, 리소스 사용량에 나타납니다. 기기, 버전, 네트워크 조건이 명시되지 않은 속도 순위는 제공하지 않습니다.
재현 가능한 비교 절차
- 클라이언트는 하나만 실행하고 다른 클라이언트와 백그라운드 서비스는 종료하세요. 혼합 포트 충돌이나 TUN 라우팅 중첩을 방지할 수 있습니다.
- 같은 노드를 고정해 자동 전환 정책의 영향을 막고,
mode: rule, DNS 설정, 테스트 대상을 동일하게 맞추세요. - 먼저 시스템 프록시를 테스트한 뒤 TUN을 별도로 테스트하세요. 각 조건에서 연속 3회 테스트하고 연결 성공 횟수와 소요 시간을 기록하세요. 한 번의 결과만으로 결론을 내리지 마세요.
- 유휴 상태로 5분간 실행한 뒤 메모리와 CPU 사용량을 기록하세요. 인터페이스 프로세스와 커널 프로세스를 구분하고 로그 수준도 동일하게 유지하세요.
- 구독 업데이트, 네트워크 전환, 절전 모드에서 복귀를 각각 한 번씩 실행하고 연결이 복구되는지, 정책 선택이 유지되는지 확인하세요.
지연 시간 테스트에서는 URL과 시간 제한도 동일하게 설정해야 합니다. 클라이언트마다 서로 다른 테스트 대상을 사용할 수 있습니다. 한쪽은 80ms, 다른 쪽은 150ms로 표시되더라도 대상과 측정 방법이 다르면 유효한 비교가 아닙니다. 이 수치는 측정값의 예시일 뿐, 이 글에서 실제 측정한 결과가 아닙니다.
연결이 끊기면 발생 시간, 대상 도메인, 적용된 규칙, 출구 이름을 먼저 기록하세요. ‘특정 클라이언트가 느리다’는 설명만으로는 DNS 시간 초과, 노드 연결 실패, 잘못된 출구로 연결을 보낸 규칙 문제를 구분할 수 없습니다.
사용 환경에 따라 후보 좁히기
| 사용 환경 | 우선 검토할 대상 | 확인할 사항 |
|---|---|---|
| 데스크톱과 Android를 번갈아 사용 | FlClash | 두 기기에서 구독 가져오기, 정책 선택, VPN 권한, 백그라운드 실행 유지 |
| 여러 설정과 로컬 규칙을 사용하는 데스크톱 업무 | Clash Verge Rev, 비교 대상으로 FlClash도 검토 | 설정 확장 순서, 트레이 조작, 절전 모드 복귀, 내부망 직접 연결 |
| 다른 데스크톱 인터페이스 방식도 비교하고 싶은 경우 | Clash Nyanpasu | 배포판 유지 관리 현황, 설정 이전, 실제 커널 호환성 |
| GUI가 없는 Linux 서버 | 독립 mihomo | 서비스 시작, 수신 범위, 권한, 로그 로테이션 및 롤백 |
| 기존 Clash for Windows 환경 이전 | 유지 관리 중인 데스크톱 클라이언트 | 설정 파싱, 포트 일치 여부, 정책 그룹 이름, 규칙 순서 |
서버에서 Clash를 사용하기 위해 데스크톱 환경을 설치할 필요는 없습니다.
Linux 서버에서는 systemd 등의 서비스 관리자로 mihomo를 실행할 수 있습니다. 설정 파일 경로, 실행 사용자, 재시작 정책, 로그 저장 방식을 명확히 지정하세요. 로컬 앱에서만 사용할 경우 프록시 포트는 우선 루프백 주소에 바인딩하세요. LAN에 프록시를 제공해야 하는 경우에만 allow-lan, 인증, 방화벽 규칙을 검토하세요.
external-controller는 제어 인터페이스이며 일반 프록시 포트가 아닙니다. 127.0.0.1:9090을 사용하면 로컬에서만 접속할 수 있으며, 원격 관리는 통제된 터널을 이용할 수 있습니다. 편리하다는 이유로 제어 인터페이스를 인터넷에 직접 노출하지 말고 secret도 설정하세요.
이전 클라이언트는 ‘폴더’가 아니라 ‘설정’을 옮기세요
먼저 구독 출처, 개인 규칙, DNS 설정, 정책 그룹 선택을 저장한 뒤 새 클라이언트에서 다시 가져오세요. 프로젝트마다 데이터베이스, 캐시, 서비스 설정이 다르므로 폴더 전체를 복사하면 이전 경로나 상태가 따라올 수 있습니다. 새 클라이언트를 처음 실행하기 전에 기존 클라이언트의 시스템 프록시, TUN, 백그라운드 서비스를 끄세요. 기존 클라이언트가 종료되고 프록시 설정이 복구되었는지도 확인하세요.
설치 전후 선택 점검 목록
- 설치 전: 운영체제와 CPU 아키텍처를 확인하고 릴리스 노트를 읽으세요. 기존 설정과 롤백에 사용할 수 있는 설치 패키지를 보관하세요.
- 첫 실행: 클라이언트와 커널 버전을 기록하고 설정을 하나 가져온 뒤 로그에 파싱 오류나 포트 충돌이 있는지 확인하세요.
- 첫 연결: 규칙 모드, 실제 혼합 포트, 현재 정책 그룹을 확인하세요. 먼저 한 가지 트래픽 처리 방식으로 검증한 다음 TUN 등의 설정을 추가하세요.
- 첫 구독 업데이트: 로컬 규칙과 DNS 설정이 유지되는지 확인하세요. 편집 화면뿐 아니라 최종 실행 설정도 점검해야 합니다.
- 연속 사용: 절전 모드 복귀, Wi-Fi와 모바일 네트워크 간 전환, 회사 내부망 접속, 클라이언트 종료 후 네트워크 복구를 테스트하세요.
FlClash, Clash Verge Rev, 독립 mihomo는 서로 대체할 수 있는 동일한 도구가 아닙니다. 앞의 두 클라이언트는 그래픽 설정과 일상적인 전환을 간편하게 해주며, mihomo는 서비스로 직접 배포하는 방식을 제공합니다. 설정을 이해할 수 있고, 로그로 문제를 추적할 수 있으며, 업데이트를 되돌릴 수 있고, 실제 플랫폼 및 네트워크 권한 조건에 맞는 것이 좋은 선택입니다. 설정 항목을 확인하려면 설정 항목 참고를, 설치 및 첫 연결 단계는 입문 가이드를 참조하세요.