Map

mihomo (MetaCubeX)

Toolbox toolboxgolangnetworkingproxyvpndnsGoMIT โ†ณ show in map Markdown
title
mihomo (MetaCubeX)
type
toolbox
summary
Rule-based proxy router forked from Clash, with TUN mode, DNS and most modern proxy protocols
tags
golang, networking, proxy, vpn, dns
language
Go
license
MIT
created
2026-04-06
updated
2026-04-21

A rule-based proxy/tunnel tool, originally forked from Clash. mihomo (formerly Clash.Meta) routes network traffic through proxy chains based on configurable rules โ€” domain matching, IP ranges, geo databases, process names, etc. Think of it as a programmable network router that sits between your device and the internet.

Supported proxy protocols: Shadowsocks, VMess, VLESS, Trojan, Hysteria2, TUIC, WireGuard, SSH, and others. Supports TLS and various transport layers (WebSocket, gRPC, HTTP/2).

Core features:

  • Rule-based traffic routing โ€” match by domain, IP, process, geoip database, and route to different proxy groups
  • Proxy groups with load balancing, failover, URL testing, and relay (chaining)
  • DNS server with multiple resolvers, fake-ip mode, domain sniffing
  • TUN mode โ€” creates a virtual network interface to capture all system traffic transparently
  • Inbound listeners: HTTP, SOCKS5, mixed, TUN, redirect, tproxy
  • Web dashboard for monitoring and control
  • REST API

Configuration: YAML-based. You define proxies, proxy groups, rules, DNS settings, and listeners in a single config file. The rule engine is the core โ€” it decides which traffic goes through which proxy (or direct).

Use cases: bypassing geo-restrictions, routing work traffic through a VPN while keeping personal traffic direct, DNS-level ad blocking, transparent proxy for a whole network via TUN mode.

Install: download binary from GitHub releases, run as a systemd service on Linux. Also works on macOS, Windows, Android (via third-party clients like ClashVerge, Metacubexd dashboard).

Related: wirez also deals with routing traffic through proxies, but wirez is per-process (Linux namespaces) while mihomo is system-wide (rule-based routing). For Russian censorship circumvention, russia-v2ray-rules-dat provides auto-updated geoip/geosite rule files compatible with mihomo. On the server side, 3x-ui is a web panel for managing Xray-core โ€” it handles the proxy server that mihomo connects to. The main alternative core in the same slot is sing-box, which karing wraps in a Flutter GUI โ€” functionally overlapping with mihomo but JSON-configured and more aggressive about adopting newer protocols like Hysteria2 and TUIC.

Wiki/Docs: https://wiki.metacubex.one/en/

Repo: https://github.com/MetaCubeX/mihomo โ€” Go, MIT license.