Skip to content

Latest commit

 

History

1,452 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClashFX

A rule-based macOS proxy client with Enhanced Mode (TUN) — powered by mihomo core.


✨ Features

  • Enhanced Mode (TUN) — Global traffic capture via TUN device, one-click setup
  • HTTP/HTTPS and SOCKS protocol support
  • Rule-based routing (Domain, IP-CIDR, GeoIP, Process)
  • Support for VMess/VLESS/Trojan/Shadowsocks/Hysteria2 protocols
  • DNS security with Fake-IP mode
  • gVisor userspace network stack
  • Apple Silicon native support
  • macOS 10.14+ compatibility (including macOS 15 Sequoia)

📥 Installation

Download from the Releases page.

🧪 Update Channels: Stable & Lab

The Lab channel has been live since v1.1.0. Stable remains the default and recommended choice; opt into Lab in Settings → Debug → Update Channel → Lab (Experimental) if you're on v1.1.0+.

ClashFX ships through two update channels. You can choose either — both are first-class.

🟢 Stable 🟠 Lab
Default
Release cadence Every 2–7 days, when fixes accumulate As soon as a fix lands — sometimes daily
What you get Tested fixes only Latest fixes + occasional experimental features
Visual badge None Small orange dot on the top-right of the Dock / Applications icon

Opt into Lab: open ClashFX → Settings → Debug → Update Channel → Lab (Experimental) and confirm. The orange dot appears immediately. You can switch back to Stable from the same place at any time.

Found a Lab bug? Use Help → Send Feedback… to open a pre-filled GitHub issue (diagnostic info auto-attached and redacted), or Help → Copy Diagnostic Info… to copy the report manually.

Stable users: you're already on the recommended channel — nothing to change.

🔨 Build from Source

Prerequisites

  • macOS 10.14 or later
  • Xcode 15.0+
  • Python 3
  • Golang 1.21+

Build Steps

  1. Install Golang

    brew install golang
  2. Install dependencies

    bash install_dependency.sh
  3. Open and build

    open ClashFX.xcworkspace
    # Build in Xcode (Cmd+R)

⚙️ Configuration

Default Paths

The default configuration directory is $HOME/.config/clashfx

The default configuration file name is config.yaml. You can use custom config names and switch between them in the Config menu.

Enhanced Mode

ClashFX's core feature — TUN-based global proxy that captures all TCP/UDP traffic from every application, not just browsers.

How to enable:

  1. Menu Bar → Enhanced Mode → Enable
  2. Grant administrator privileges on first use
  3. All traffic is now routed through ClashFX

Claude Proxy Lock

Pin Claude Desktop, Claude Code, and Anthropic web traffic to one concrete node with fail-closed protection. See Claude Proxy Lock usage and limits.

URL Schemes

  • Import remote config:

    clashfx://install-config?url=http%3A%2F%2Fexample.com&name=example
    clash://install-config?url=http%3A%2F%2Fexample.com&name=example
    
  • Reload current config:

    clash://update-config
    

🤝 Companion Repo: cn-apps-direct

The "Bypass Common Chinese Apps" toggle (added in v1.0.38, under Enhanced Mode) reads its PROCESS-NAME rule list from Clash-FX/cn-apps-direct — a small community-maintained repo of macOS executable names for high-frequency Chinese apps (WeChat, QQ, DingTalk, Feishu, Bilibili, etc.). The list updates automatically every 24 hours via rule-provider, decoupled from the ClashFX release cycle.

Want to add an app or fix a wrong process name? PRs are welcome — see CONTRIBUTING.md. Adding an entry takes about a minute:

ls /Applications/<App>.app/Contents/MacOS/   # verify the actual executable name
# append the verified name as: PROCESS-NAME,<name>,DIRECT
# open a PR

📄 License

AGPL-3.0

🙏 Acknowledgments

About

ClashFX — macOS proxy tool with Enhanced Mode (TUN)

Topics

Resources

Stars

266 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages