explaingit

zzzgydi/clash-verge

22,038TypeScriptAudience · developerComplexity · 3/5DormantLicenseSetup · moderate

TLDR

Desktop app that gives Clash (a network proxy tool) a visual interface, letting you manage traffic routing rules through profiles and themes instead of editing config files.

Mindmap

mindmap
  root((repo))
    What it does
      Manage proxy profiles
      Route traffic by rules
      Visual interface
      System-wide proxy
    Key features
      Profile switching
      YAML configuration
      JavaScript scripting
      Color themes
    Platforms
      Windows
      macOS
      Linux
    Tech stack
      Tauri framework
      TypeScript UI
      Rust backend
      Clash.Meta core
    Use cases
      Control internet routing
      Switch proxy configs
      Customize traffic rules

Things people build with this

USE CASE 1

Switch between different proxy configurations for work, home, or travel without restarting your system.

USE CASE 2

Route specific websites through a proxy while letting other traffic go directly to save bandwidth.

USE CASE 3

Customize traffic rules using JavaScript or YAML to match your network needs.

USE CASE 4

Set system-wide proxy settings automatically so all apps use your chosen proxy without individual setup.

Tech stack

TypeScriptRustTauriYAMLJavaScript

Getting it running

Difficulty · moderate Time to first run · 30min

Requires Rust toolchain and Node.js; Tauri desktop app build dependencies vary by OS.

Use and modify freely for any purpose, but you must share any changes you make under the same GPL-3.0 license.

In plain English

Clash Verge is a desktop application that provides a visual interface for Clash, a rule-based network proxy tool. A proxy tool routes your internet traffic through a server or set of servers, Clash in particular does this based on rules you configure (for example, route traffic to certain sites through a specific server while letting other traffic go directly). Clash Verge makes it easier to use Clash by wrapping it in a graphical window instead of requiring you to work with configuration files directly. Key features include managing multiple proxy configuration "profiles" (you can store and switch between different sets of rules), customizing those profiles using YAML configuration files or JavaScript scripts, and a simple interface with customizable color themes. It also includes built-in support for the Clash.Meta core, an extended version of the Clash engine. The app can set your system-level proxy settings automatically, so applications across your computer route through your chosen proxy without extra configuration per app. Clash Verge runs on Windows, macOS (version 11 and above), and Linux. Installation packages are provided for each platform. The app is built using Tauri, a framework that wraps web-based UI code in a lightweight native desktop shell, with TypeScript for the interface and Rust for the underlying system code. It is released under the GPL-3.0 open-source license.

Copy-paste prompts

Prompt 1
How do I create and switch between multiple proxy profiles in Clash Verge?
Prompt 2
Show me how to write a JavaScript script to customize traffic routing rules in Clash Verge.
Prompt 3
What's the difference between using YAML config files and JavaScript scripts in Clash Verge profiles?
Prompt 4
How do I set up Clash Verge to automatically route certain websites through a proxy on Windows?
Prompt 5
Can you walk me through installing Clash Verge on macOS and configuring my first proxy profile?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.