C1
Core & Architecture
First, sort out who does what: the core handles forwarding, the client handles the interface, and an API connects the two.
Core & Architecture
mihomoClash Meta
mihomo is the actively maintained open-source proxy core formerly known as Clash Meta. Building on the original Clash, it adds protocols like VLESS, Hysteria2, and TUIC, along with rule sets, enhanced DNS, and other improvements. Clients featured on this site — Clash Plus, Clash Verge Rev, FlClash — all run on it.
Core & Architecture
Original ClashClash Premium
The original Clash, created by Dreamacro, pioneered this rule-based routing approach and stopped receiving updates in 2023. It established the YAML config, proxy group, and top-down rule matching conventions that later cores and clients largely kept. For a new setup, just pick a client running on the mihomo core.
Core & Architecture
GUI ClientGraphical Interface
A GUI client is the graphical app wrapped around the core, handling everyday tasks like importing subscriptions, switching nodes, and toggling the system proxy. The core handles traffic forwarding, the interface handles user interaction — a clean division of labor. Clash Verge Rev, ClashX Meta, and Clash for Windows all fall into this category.
Core & Architecture
External ControllerRESTful API
The external controller is a set of HTTP endpoints exposed by the core, letting the UI read status, switch nodes, and view connection logs. The external-controller field in the config sets the listening address (port 9090 on localhost by default), while secret sets an access key. Always set a secret if you change the listening address beyond localhost.