# metacubex/clashx.meta

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/metacubex-clashx-meta).**

5,331 stars · 575 forks · agpl-3.0 · fork

## Links

- GitHub: https://github.com/MetaCubeX/ClashX.Meta
- awesome-repositories: https://awesome-repositories.com/repository/metacubex-clashx-meta.md

## Description

ClashX.Meta is a macOS desktop application that provides a graphical interface for managing the Clash proxy engine. It enables rule-based traffic routing using domain, IP, and GeoIP rules, and allows users to manage proxy configurations and toggle system proxy settings directly from the menu bar. The application serves as a full-featured client for controlling the core proxy daemon on macOS.

The project includes a YAML-based configuration manager with built-in schema validation, ensuring proxy profiles are valid before activation. It also provides a TUN virtual network stack that captures all device traffic and processes packets in user space, along with process-level traffic attribution that logs which applications generate network connections. The system proxy hook modifies macOS network preferences programmatically to enable or disable proxying.

Users can import remote proxy configuration files, switch between routing modes (global, direct, or rule-based), configure applications to bypass the proxy, and view process-level logs for troubleshooting. The project also supports building from source, running tests, and verifying binary authenticity. ClashX.Meta is open-source and can be built using the standard Go toolchain.

## Tags

### Part of an Awesome List

- [Clash Clients](https://awesome-repositories.com/f/awesome-lists/devtools/clash-clients.md) — A macOS desktop application that controls the Clash proxy engine with a graphical interface.

### Development Tools & Productivity

- [Configuration File Validators](https://awesome-repositories.com/f/development-tools-productivity/configuration-file-validators.md) — Validates YAML proxy configuration files against a JSON schema before activating them. ([source](https://github.com/MetaCubeX/ClashX.Meta/blob/master/README.md))

### DevOps & Infrastructure

- [Configuration File Loading](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-file-loading.md) — Loads proxy configuration files and supports hot reloading to apply changes without restart.
- [Configuration Profiles](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/file-based-configuration/configuration-profiles.md) — Manages and switches between multiple proxy configuration profiles stored as YAML files.
- [Unix Domain Socket IPC](https://awesome-repositories.com/f/devops-infrastructure/container-daemons/client-server-daemon-architectures/unix-domain-socket-ipc.md) — Communicates with the Go proxy daemon via JSON commands over a local Unix socket.

### Networking & Communication

- [System Proxy Configurators](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-configuration/system-proxy-configurators.md) — Enables or disables the system-wide proxy and configures applications to bypass proxying.
- [Traffic Routing Proxies](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-infrastructure-configuration/network-infrastructure/traffic-routing-proxies.md) — Routes network traffic through HTTP, SOCKS, and other proxies with GeoIP-based rules. ([source](https://github.com/MetaCubeX/ClashX.Meta#readme))
- [Geographic Traffic Routing Rules](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-routing/geographic-traffic-routing-rules.md) — Routes network traffic through proxies based on GeoIP rules and custom rule sets.
- [Clash Configuration Managers](https://awesome-repositories.com/f/networking-communication/proxy-servers/clash-configuration-managers.md) — Manages Clash proxy configuration files, imports remote config URLs, and switches between profiles.
- [Mode Switchers](https://awesome-repositories.com/f/networking-communication/proxy-servers/clash-configuration-managers/mode-switchers.md) — Switches between global, direct, and rule-based proxy modes to control how traffic is routed.
- [Proxy Configurations](https://awesome-repositories.com/f/networking-communication/proxy-servers/proxy-configurations.md) — Switches between custom proxy configuration files and imports remote configs by URL. ([source](https://github.com/MetaCubeX/ClashX.Meta#readme))
- [Routing Rule Engines](https://awesome-repositories.com/f/networking-communication/routing-rule-engines.md) — Matches traffic against domain, IP, and GeoIP rules to determine whether to use a proxy chain or direct connection.
- [Rule-Based](https://awesome-repositories.com/f/networking-communication/traffic-routers/rule-based.md) — Provides rule-based traffic routing using domain, IP, and GeoIP rules to direct packets through proxy chains or direct connections.
- [Virtual Network Interfaces](https://awesome-repositories.com/f/networking-communication/virtual-network-interfaces.md) — Captures all device traffic through a virtual network interface and processes it in user space for proxy routing.
- [Bypass Configurations](https://awesome-repositories.com/f/networking-communication/proxy-servers/proxy-configurations/bypass-configurations.md) — Allows users to specify applications that should bypass the proxy and connect directly. ([source](https://github.com/MetaCubeX/ClashX.Meta#readme))

### Operating Systems & Systems Programming

- [System Proxy Hooks](https://awesome-repositories.com/f/operating-systems-systems-programming/macos-services-integrations/system-proxy-hooks.md) — Modifies macOS network preferences programmatically to enable or disable system-wide proxy routing.
- [System Capability Toggles](https://awesome-repositories.com/f/operating-systems-systems-programming/system-capability-toggles.md) — Enables or disables the system proxy with a single toggle to control internet traffic routing. ([source](https://github.com/MetaCubeX/ClashX.Meta/blob/master/Shortcuts.md))

### Software Engineering & Architecture

- [Proxy Configuration Managers](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-schemas/proxy-configuration-managers.md) — Validates and loads YAML proxy profiles into the core for rule-based routing, supporting config switching and remote imports.

### System Administration & Monitoring

- [Rule-Based Routing Systems](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/traffic-routing-controllers/rule-based-routing-systems.md) — Routes network traffic through proxies or direct connections based on domain, IP, and GeoIP rules.
- [Traffic Routing Modes](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/traffic-routing-controllers/traffic-routing-modes.md) — Switches between global, direct, and rule-based proxy routing modes to control traffic behavior. ([source](https://github.com/MetaCubeX/ClashX.Meta/blob/master/Shortcuts.md))
- [Remote Subscription Imports](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/network-configuration-imports/remote-subscription-imports.md) — Imports proxy configuration files from remote URLs and switches between multiple custom configurations.
- [Process-Level Traffic Logs](https://awesome-repositories.com/f/system-administration-monitoring/interaction-logs/interaction-capturers/network-traffic-logs/process-level-traffic-logs.md) — Enables logging that identifies which application processes send traffic through the proxy. ([source](https://github.com/MetaCubeX/ClashX.Meta#readme))

### User Interface & Experience

- [JSON-Based IPC Controllers](https://awesome-repositories.com/f/user-interface-experience/window-management/window-lifecycle-controllers/inter-process-communication-controllers/json-based-ipc-controllers.md) — Exchanges commands between the graphical interface and the proxy daemon via JSON over a local socket.
