선택의 출발점: GUI와 프록시 커널은 따로 보기
Clash GUI 클라이언트는 구독 가져오기, 노드 선택, 시스템 프록시 전환, 실행 상태 표시를 담당하고, 프록시 커널은 설정을 해석하고 규칙에 따라 연결을 구성합니다. UI가 편리하다고 모든 프로토콜을 지원하는 것은 아니며, 설정을 가져올 수 있다고 모든 항목이 적용되는 것도 아닙니다. 클라이언트를 비교할 때는 먼저 운영체제와 CPU 아키텍처를 확인하고, 실제 실행 중인 커널을 살펴본 다음 구독 형식과 네트워크 연결 방식을 점검하세요.
Clash Meta는 해당 커널 계열의 이전 명칭이며, 이후 프로젝트명은 mihomo로 변경되었습니다. Clash Verge Rev, ClashX Meta, FlClash는 모두 이 커널 계열을 바탕으로 GUI 관리 기능을 제공하지만 커널 업데이트 주기, 설정 적용 방식, 권한 처리에는 차이가 있습니다. 과거 Clash 커널의 기능을 mihomo에도 그대로 적용할 수는 없습니다. 구독에 VLESS, Hysteria2 또는 TUIC가 포함되어 있다면 실제 커널 지원 여부와 서버 측 매개변수를 각각 확인해야 합니다.
아래 내용은 기능 방향을 비교한 것으로, 특정 버전의 벤치마크 순위가 아닙니다. 포트와 속도 수치는 설정 또는 판단을 위한 예시이며, 각 클라이언트의 기본값이나 실측 결과를 의미하지 않습니다.
플랫폼 지원 범위와 사용성 비교
| 클라이언트 | 지원 플랫폼 | UI 및 설정 방식 | 설치 전 확인 사항 |
|---|---|---|---|
| Clash Plus | 다운로드 페이지의 최신 릴리스 확인 | 해당 프로젝트와 빌드 안내 확인 필요 | 플랫폼, 아키텍처, 커널 이름, 기능 메뉴 |
| Clash Verge Rev | Windows、macOS、Linux | 구독·프록시 그룹·설정을 한곳에서 관리하는 데스크톱 창 | 서비스 모드, TUN 권한, 설정 병합 방식 |
| ClashX Meta | macOS | 메뉴 막대에서 조작하며 설정 파일과 정책 그룹 전환에 중점 | CPU 아키텍처, 시스템 호환성, 해당 빌드의 기능 |
| FlClash | Windows、macOS、Linux、Android | 데스크톱과 모바일에서 유사한 설정·프록시·사용 흐름 | 플랫폼별 연결 방식, 백그라운드 실행, 권한 차이 |
데스크톱 관리 창과 macOS 메뉴 막대
연결 상태를 자주 확인하고 여러 구독을 전환하며 설정을 바꾼다면 Clash Verge Rev의 전체 데스크톱 창이 시작점으로 적합합니다. macOS에서 주로 설정 하나를 사용하고 평소에는 정책 그룹 전환과 시스템 프록시 켜기·끄기만 한다면 ClashX Meta의 메뉴 막대 방식부터 사용해 볼 만합니다. 두 클라이언트의 차이는 주로 조작 경로에 있으며, 이를 처리량 차이로 바로 해석해서는 안 됩니다.
PC와 Android에서 비슷한 사용 방식
PC와 Android에서 비슷한 조작 방식을 원하는 사용자에게 FlClash가 적합할 수 있지만, UI가 유사하다고 설정이 자동 동기화되는 것은 아닙니다. 구독 URL, 정책 그룹 선택, 예약 업데이트, 로컬 오버라이드는 대개 기기별로 설정해야 합니다. Android 연결은 시스템 VPN 권한을 사용하고, 데스크톱은 시스템 프록시나 TUN을 사용합니다. 모바일 화면의 “연결됨” 표시와 데스크톱의 프록시 스위치는 서로 다른 시스템 메커니즘입니다.
- Windows에서는 먼저 x64와 ARM64를 구분하세요. 설치 파일 이름에 표시된 아키텍처가 기기와 일치해야 합니다.
- macOS에서는 먼저 Intel과 Apple 칩을 구분하고, 유니버설 빌드 제공 여부와 최소 시스템 요구 사항을 확인하세요.
- Linux에서는 아키텍처뿐 아니라 패키지 형식, 데스크톱 환경, 서비스 설치 요구 사항도 확인해야 합니다.
- iPhone과 iPad는 위에 나열된 지원 플랫폼에 포함되지 않으므로 호환되는 클라이언트를 별도로 선택해야 합니다.
커널 종류: 설정을 검증한 뒤 연결 상태 비교
클라이언트 버전과 커널 버전은 별개의 정보입니다. GUI 업데이트는 창, 구독 절차 또는 시스템 연동만 바꿀 수 있지만, 커널 업데이트는 프로토콜 구현, DNS 동작, 규칙 기능에 영향을 줄 수 있습니다. 사용 환경을 기록할 때는 메인 화면만 캡처하지 말고 클라이언트 이름과 버전, 커널 버전, 운영체제, 아키텍처를 함께 적어 두세요.
실제 커널로 YAML 검사하기
별도의 mihomo 실행 파일이 있는 환경이라면 먼저 버전을 확인한 뒤 설정 파일을 검사할 수 있습니다. 아래 예시는 현재 디렉터리에 있는 프로그램과 설정 파일을 사용합니다. 클라이언트에 내장된 프로그램의 이름과 경로는 다를 수 있으므로 실행 전에 실제 파일 위치를 확인하세요. 검사를 통과했다는 것은 설정을 파싱할 수 있다는 뜻일 뿐, 노드·DNS·원격 서버 연결까지 정상이라는 의미는 아닙니다.
# Linux / macOS: 현재 디렉터리의 mihomo
./mihomo -v
./mihomo -t -f ./config.yaml
# Windows PowerShell: 현재 디렉터리의 mihomo.exe
.\mihomo.exe -v
.\mihomo.exe -t -f .\config.yaml
GUI 클라이언트가 원본 구독을 병합하거나 오버라이드 및 스크립트 처리할 수도 있으므로, 문제 해결의 기준은 최종 실행 설정입니다. 원본 파일에 있는 mixed-port: 7890이 현재 수신 포트와 같다는 보장은 없습니다. UI에서 포트를 7897로 덮어썼다면 브라우저나 터미널이 계속 7890에 연결할 경우 실패합니다.
한 번의 속도 측정이 아니라 동일한 조건으로 비교
- 동일한 구독, 노드, 테스트 URL을 사용하고 규칙 모드와 정책 그룹을 고정하세요.
- 포트, 시스템 프록시, 가상 네트워크 어댑터가 서로 영향을 주지 않도록 프록시 클라이언트는 한 번에 하나만 실행하세요.
- 먼저 연결이 안정적으로 수립되는지 확인한 다음 지속 다운로드 속도를 비교하세요. 테스트 중에는 네트워크 환경을 동일하게 유지해야 합니다.
- 실패 로그를 저장하고 DNS 시간 초과, 연결 거부, 인증 실패, 프로토콜 매개변수 오류를 구분하세요.
예를 들어 URL 테스트에서 한 번은 85 ms, 다른 한 번은 110 ms가 나왔다면 이는 두 번의 왕복 시간 측정 사례일 뿐입니다. 서버 부하, 연결 재사용, 네트워크 지연 변동에 따라 결과가 달라질 수 있으므로 특정 GUI가 더 빠르다고 단정할 수 없습니다. 여러 차례 반복 측정한 결과와 실패 횟수, 실제 작업 소요 시간을 기록하는 편이 더 유용합니다.
TUN 지원: 커널 기능, 시스템 권한, 클라이언트 연동
TUN은 가상 네트워크 인터페이스를 통해 IP 트래픽을 받아 시스템 프록시 설정을 읽지 않는 앱까지 연결할 때 유용합니다. 시스템 프록시는 주로 해당 설정을 따르는 프로그램에 HTTP 또는 SOCKS 연결을 제공합니다. 둘의 관계를 단순히 “일반”과 “고급”으로 나눌 수는 없습니다. 브라우저 사용에 문제가 없다면 시스템 프록시가 문제 원인을 찾기 쉽고, 게임이나 명령줄 도구, 일부 샌드박스 앱에도 연결이 필요할 때 TUN을 고려하세요.
| 클라이언트 | TUN 확인 항목 | 주요 점검 사항 |
|---|---|---|
| Clash Plus | 릴리스 노트와 실제 설정 메뉴 확인 | 커널 기능, 서비스 설치, 시스템 권한 |
| Clash Verge Rev | TUN 관리 기능 제공 | 현재 플랫폼의 서비스 또는 권한 상승 방식이 정상인지 |
| ClashX Meta | Meta라는 이름만으로 TUN 연동 전체를 추측할 수 없음 | 해당 빌드에 기능 메뉴와 권한 처리가 제공되는지 |
| FlClash | 플랫폼별 메커니즘을 이용한 트래픽 연결 제공 | 데스크톱 권한 또는 Android VPN 권한 |
스위치를 켠 뒤 확인할 세 가지
- 인터페이스와 라우팅: UI의 스위치만 바뀐 것이 아니라 가상 인터페이스가 실제로 생성되고 필요한 경로가 설치되었는지 확인하세요.
- DNS: 도메인 요청이 예상한 해석 경로를 따르는지 확인하세요. TUN을 켠다고 모든 DNS 설정이 자동으로 해결되는 것은 아닙니다.
- 충돌: 다른 VPN, 기업용 네트워크 도구, 별도의 TUN이 기본 경로를 동시에 제어하고 있지 않은지 확인하세요.
Android에서는 일반적으로 시스템 VpnService로 만든 VPN 연결 세션을 한 번에 하나만 유지할 수 있습니다. 다른 VPN 앱이 실행 중이라면 어떤 연결 도구를 사용할지 먼저 정해야 합니다. 배터리 최적화와 백그라운드 제한으로 화면을 잠근 뒤 연결이 끊길 수도 있는데, 이는 노드 프로토콜 문제와는 별개입니다.
구독 관리: 가져오기·업데이트·로컬 수정의 범위
클라이언트를 선택할 때는 최소한 ‘가져오기—활성화—업데이트—재시작’의 전체 과정을 한 번 수행하세요. 노드 목록이 표시되는 것만으로는 충분하지 않습니다. 구독을 성공적으로 내려받은 뒤 해당 설정을 선택하고, 프록시 그룹이 올바른 노드를 참조하는지 확인해야 합니다. 구독이 다른 소프트웨어 형식으로 생성된 경우 URL을 내려받을 수 있더라도 YAML 구조나 프로토콜 필드가 달라 사용할 수 없을 수 있습니다.
직접 확인해야 할 네 가지 작업
- 가져오기: 구독 또는 설정 메뉴를 찾아 URL을 붙여 넣으세요. 가져온 결과에 필요한 노드, 정책 그룹, 규칙이 포함되어 있는지 확인하세요.
- 활성화: 설정을 선택하고 프록시 그룹에서 노드를 지정한 뒤 연결 기록에 해당 정책이 적용되는지 확인하세요.
- 업데이트: 수동으로 한 번 업데이트하고 노드 수와 업데이트 시간을 기록하세요. 사용자 지정 규칙이 유지되는지도 확인하세요.
- 재실행: 클라이언트를 종료한 뒤 다시 열고 현재 설정, 포트, 연결 스위치가 예상대로인지 확인하세요.
Clash Verge Rev의 병합 또는 스크립트 기능은 일부 설정을 관리할 때 유용하지만, 최종 결과는 실행 설정에서 확인해야 합니다. ClashX Meta의 파일 관리 방식은 YAML에 익숙한 사용자에게 적합하며, 내려받은 설정 파일을 편집하기 전에 업데이트 시 파일이 덮어써지는지 확인하세요. FlClash의 설정 관리 흐름은 여러 기기에서 반복 작업할 때 편리할 수 있지만, 내보내기와 백업 범위는 현재 버전에서 확인해야 합니다. Clash Plus에 유사한 기능이 있는지는 실제 빌드에서 검증해야 합니다.
기기 설정과 구독 내용은 분리해서 관리
포트, LAN 수신, TUN 설정은 기기별 항목이므로 모든 기기에 그대로 복사해서는 안 됩니다. 아래는 로컬 기기 설정 예시입니다. allow-lan: false는 LAN의 다른 기기에 프록시 접근을 허용하지 않는다는 뜻입니다. 전체 설정은 구독의 노드·프록시 그룹·규칙과 함께 구성해야 합니다.
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
구독 링크에는 보통 액세스 토큰이 포함됩니다. 스크린샷, 로그, 내보낸 파일에 구독 URL이나 노드 인증 정보가 노출될 수 있으므로 문제를 제출하기 전에 민감한 내용을 삭제하세요. 원격 설정을 병합 스크립트로 처리할 때는 스크립트 출처와 변경 범위도 확인해야 합니다. 스크립트는 노드 목록뿐 아니라 DNS, 규칙, 수신 설정에도 영향을 줄 수 있습니다.
사용 환경에 맞는 클라이언트 선택
초보자: 한 기기에서 최소 설정부터 시작
Windows 또는 Linux 데스크톱 사용자는 Clash Verge Rev부터 살펴볼 수 있습니다. macOS 사용자는 전체 창 방식의 Verge Rev와 메뉴 막대 방식의 ClashX Meta 중에서 고르면 됩니다. 처음에는 구독 하나를 가져와 규칙 모드를 활성화하고 노드를 선택한 뒤 시스템 프록시를 켜세요. 브라우저 연결이 안정된 것을 확인한 다음 TUN과 설정 오버라이드를 추가하면 여러 문제를 한꺼번에 만들지 않을 수 있습니다.
Clash Plus도 후보로 고려할 수 있지만 프로젝트의 정체, 설치 파일의 아키텍처, 커널 정보를 먼저 확인해야 합니다. 릴리스 안내가 불분명하다면 이름이 비슷하다는 이유로 다른 클라이언트의 메뉴 경로나 설정 절차를 그대로 따라 하지 마세요.
다기기 사용자: 형식 호환성과 반복 작업 부담부터 확인
PC와 Android를 함께 사용한다면 FlClash의 유사한 UI가 기기 간 조작 차이를 줄이는 데 도움이 될 수 있습니다. 실제로 통일해야 하는 것은 구독 출처, 정책 그룹 이름, 규칙의 의도입니다. 시스템 권한, 포트, 백그라운드 실행 설정은 기기별로 처리해야 합니다. 데스크톱 앱 데이터 폴더를 휴대폰에 그대로 복사하거나 한 클라이언트의 전체 백업을 다른 클라이언트가 가져올 수 있다고 가정하지 마세요.
고급 사용자: 실행 설정과 문제 해결 메뉴 확인
규칙 오버라이드, 연결 확인, 서비스 관리가 필요하다면 Verge Rev의 설정 처리 흐름을 중점적으로 살펴보세요. macOS 메뉴 막대 방식을 선호하고 YAML을 직접 관리할 수 있다면 ClashX Meta를 고려할 수 있습니다. 데스크톱과 Android에서 비슷한 작업 흐름을 유지하려면 FlClash를 검토하세요. 결정하기 전에 실행 설정 내보내기, 로그 확인, 커널 정보, 권한 복구 메뉴를 직접 찾아보세요. UI 스크린샷만 비교해서는 안 됩니다.
- 앞으로 추가할 기기보다 현재 플랫폼을 지원하는 클라이언트부터 고르세요.
- UI 배치보다 필요한 프로토콜과 설정 필드가 지원되는지 먼저 확인하세요.
- 시스템 프록시만으로 충분한지 확인한 뒤 TUN 사용 여부를 결정하세요.
- 로컬 수정 사항이 업데이트로 손상되지 않는지 확인한 뒤 일상 사용 설정을 옮기세요.
클라이언트 교체 전 마이그레이션 체크리스트
마이그레이션할 때는 구독 출처, 필요한 사용자 지정 규칙, 기존 클라이언트 설정 기록을 보관하세요. 기존 클라이언트와 새 클라이언트에서 시스템 프록시나 TUN을 동시에 켜지 마세요. 포트가 다르더라도 시스템 라우팅이 충돌할 수 있습니다. 먼저 기존 클라이언트의 네트워크 연결 기능을 끄고 프로그램을 종료한 다음 새 클라이언트에서 전체 동작을 검증하는 것이 좋습니다.
- 현재 수신 포트를 기록하세요(예:
127.0.0.1:7890). 브라우저 확장 프로그램, 터미널 환경 변수, 다른 앱에 해당 주소가 고정되어 있는지도 확인하세요. - 새 클라이언트에서 구독을 가져온 뒤 프록시 그룹 이름과 규칙 참조를 확인하세요. 존재하지 않는 정책 그룹을 규칙이 참조하지 않도록 주의하세요.
- 먼저 시스템 프록시를 켜고 브라우저와 연결 기록을 확인하세요. 정상 작동을 확인한 뒤 필요에 따라 TUN을 활성화하세요.
- 프록시를 사용해야 하는 대상, 직접 연결해야 하는 대상, LAN 접근이 필요한 대상을 각각 테스트해 규칙이 의도대로 작동하는지 확인하세요.
- 클라이언트나 시스템을 재시작한 뒤 다시 확인하세요. 시작 프로그램 설정, 권한, 포트가 예기치 않게 바뀌지 않았는지 점검해야 합니다.
브라우저에서는 연결되지만 터미널에서 실패한다면 아래 명령으로 프록시를 명시해 “앱이 프록시에 연결되지 않은 문제”와 “프록시 자체의 연결 실패”를 구분할 수 있습니다. 이 명령은 실제 혼합 포트가 7890이고 테스트 대상이 이 사이트의 홈이라고 가정합니다. 대상이 프록시를 사용하는지는 현재 규칙에 따라 달라집니다.
curl --proxy http://127.0.0.1:7890 -I https://clash-packet.com/
같은 구독이 두 클라이언트에서 다르게 작동한다면 커널 버전, 최종 설정, 정책 그룹 선택, 연결 방식부터 비교하세요. 이 항목들을 확인한 다음 클라이언트별 차이를 살펴보면 재현 가능한 원인을 더 빠르게 찾을 수 있습니다. 관련 개념은 용어 설명에서 확인하고, 규칙 순서와 커널 차이는 기술 참고 자료를 참조하세요.