Clash로 이미 정상적으로 연결하고 있지만 노드를 바꾸거나 트래픽을 확인할 때마다 설정 파일을 뒤져야 한다면 효율이 크게 떨어집니다. Dashboard는 브라우저에서 실행되는 웹 기반 제어 패널로, 연결 상태와 트래픽 그래프, 로그를 실시간으로 확인할 수 있고 클릭 한 번으로 노드를 전환하거나 규칙을 편집할 수도 있습니다. 원리는 간단한데, Clash 코어가 노출하는 로컬 API를 Dashboard가 호출해서 이 모든 작업을 처리하는 것입니다.
01Dashboard는 어떻게 동작하나
Clash 코어는 실행 중에 "외부 제어" 인터페이스(external-controller)를 추가로 열 수 있고, Dashboard 웹페이지는 사실상 이 인터페이스를 호출하는 프런트엔드일 뿐입니다. 즉 Dashboard 자체는 프록시 트래픽을 전혀 처리하지 않으며, 코어 상태를 보여주는 시각화 창일 뿐입니다. 대표적인 Dashboard로는 yacd(클래식한 UI)와 metacubexd(더 새로운 UI에 기능도 풍부하며 현재 주요 클라이언트에 대부분 기본 내장)가 있습니다. 대부분의 GUI 클라이언트(Clash Verge Rev, Clash for Windows 등)는 이미 Dashboard를 내장하고 있어 추가 설정이 필요 없지만, 명령줄 전용 mihomo 코어를 사용한다면 아래 방법대로 수동으로 활성화해야 합니다.
02external-controller 수동으로 활성화하기
config.yaml에 다음 두 줄을 추가하고 코어를 재시작하면 브라우저로 제어 패널에 접속할 수 있습니다:
# 로컬 9090 포트로 제어 인터페이스 접근 허용
external-controller: 127.0.0.1:9090
# 선택 사항: 같은 네트워크의 다른 기기가 임의로 접근하지 못하도록 비밀키 설정
secret: "your-own-secret"설정이 적용되면 브라우저에서 http://127.0.0.1:9090/ui에 접속하세요(일부 코어 버전은 UI 정적 파일을 별도로 마운트해야 하니 정확한 경로는 해당 코어의 릴리스 페이지를 확인하세요). secret을 설정했다면 처음 접속할 때 이 값을 입력해야 합니다.
03가장 자주 쓰는 4가지 기능
- Proxies(노드 패널): 모든 프록시 그룹과 노드를 확인하고, 노드를 클릭하면 즉시 전환됩니다. 그룹 전체를 한 번에 속도 테스트할 수 있어 클라이언트 메뉴에서 하나씩 찾는 것보다 훨씬 편합니다.
- Connections(연결 패널): 현재 어떤 프로그램이 통신 중인지, 각 연결이 어떤 규칙에 매칭됐는지, 직접 연결인지 프록시 경유인지를 실시간으로 확인할 수 있습니다. "왜 이 사이트가 프록시를 거치지 않지?"를 확인할 때 가장 직접적인 방법입니다.
- Logs(로그 패널): 코어의 실행 로그를 실시간으로 보여줍니다. 규칙이 작동하지 않거나 노드 연결에 실패했을 때 보통 여기서 원인을 바로 확인할 수 있습니다.
- Rules(규칙 패널): 현재 적용 중인 모든 규칙과 순서를 확인할 수 있습니다. 일부 Dashboard는 온라인에서 임시로 규칙을 편집하고 테스트할 수도 있지만, 이런 수정은 보통 설정 파일에 저장되지 않아 재시작하면 사라지므로 임시 디버깅용으로만 사용하세요.
| 패널 | 해결하는 문제 |
|---|---|
| Overview | 실시간 업/다운로드 트래픽 그래프를 보고 실제로 프록시를 경유하고 있는지, 트래픽에 이상이 없는지 확인. |
| Proxies | 노드 전환, 속도 테스트, 프록시 그룹 구조 확인. 가장 자주 사용하는 패널. |
| Connections | 각 연결이 매칭된 규칙과 목적지를 확인하여 분기가 올바른지 점검. |
| Logs | 코어 실행 로그를 확인해 연결 실패, 규칙 오류 등의 문제를 조사. |
| Config | 현재 적용 중인 실행 모드, 포트 설정 등 전역 설정 값을 확인. |
04자주 묻는 질문
Dashboard 페이지가 하얗게만 나온다면? 대부분 external-controller 인터페이스만 켜져 있고 UI 정적 파일이 마운트되지 않은 경우입니다. GUI 클라이언트는 보통 이 과정을 자동으로 처리하지만, 명령줄로 mihomo만 사용한다면 UI 리소스를 따로 다운로드하고 external-ui 필드로 리소스 디렉터리 경로를 지정해야 합니다.
노드를 전환했는데 Dashboard의 프록시 그룹 표시가 바뀌지 않는다면? 수정한 프록시 그룹의 타입이 url-test나 fallback인지 확인하세요. 이 두 타입은 코어가 자동으로 노드를 선택하기 때문에 수동 클릭이 반영되지 않습니다. 수동 선택은 select 타입의 프록시 그룹에서만 가능합니다.