ClashX is no longer maintained. Please migrate to ClashFX.
This repository keeps the existing ClashX source code, releases and historical discussions available for reference. There are no plans for further ClashX feature development, compatibility updates or routine bug fixes. Existing issues and pull requests are not automatically closed or transferred by this notice.
- ClashFX website
- Download ClashFX
- Migrate from ClashX: backup, import, verification and rollback
- ClashFX repository and feedback
Check ClashFX's system requirements before migrating. Back up your configuration and do not run both clients against the system proxy or TUN at the same time. Migration is not a guarantee that a reported ClashX issue is fixed in ClashFX.
ClashFX's current core features are free to use. ClashFX Pro is in preparation and is not available to purchase. The historical product named ClashX Pro is separate from both standard ClashX and the planned ClashFX Pro.
- Retained ClashX 1.140.0 release
- All historical ClashX releases
- ClashX website and retained downloads
- Configuration tutorials
- Existing issues
ClashX is a proxy client and does not provide proxy servers or subscriptions. Contact your provider about server availability or renewals.
This project is based on code originally created by yichengchen, obtained from bannedbook/ClashX, with subsequent macOS compatibility changes. The original git history was lost when the .git directory was accidentally deleted while recreating the project.
The 1.140.0 source tag already depends on mihomo v1.19.24. Core capabilities do not mean every feature is exposed by this legacy client's interface. This repository is standard ClashX, not the historical ClashX Pro application.
- HTTP/HTTPS and SOCKS protocol support
- Surge-like configuration
- GeoIP rule support
- Support for Vmess/Shadowsocks/Socks5/Trojan protocols
- Netfilter TCP redirect support
- macOS 10.14+ compatibility
- Historical macOS compatibility fixes; newer system releases are no longer tested or maintained
Historical ClashX installers remain available on the Releases page.
For a maintained client, see ClashFX and its migration guide. Check compatibility before installing.
These instructions are retained for reference and are not maintained against newer Xcode or macOS releases.
- macOS 10.14 or later
- Xcode 15.0+
- Python 3
- Golang 1.21+
-
Install Golang
brew install golang # or download from https://golang.org -
Install dependencies
bash install_dependency.sh
-
Open and build
open ClashX.xcworkspace # Build in Xcode (Cmd+R)
The default configuration directory is $HOME/.config/clash
The default configuration file name is config.yaml. You can use custom config names and switch between them in the Config menu.
For more details, check out SS-Rule-Snippet for Clash.
Go to Menu Bar → Config → More Settings and modify the corresponding port numbers.
Place your icon file at ~/.config/clash/menuImage.png, then restart ClashX.
Navigate to Menu → Config → Settings → Bypass proxy settings for these Hosts & Domains.
-
Import remote config:
clash://install-config?url=http%3A%2F%2Fexample.com&name=example -
Reload current config:
clash://update-config
Add the following to your config file and set proxy mode to rule. View logs via the Help menu:
script:
code: |
def main(ctx, metadata):
# Log ProcessName
ctx.log('Process Name: ' + ctx.resolve_process_name(metadata))
return 'DIRECT'- Go to System Settings and disable ClashX notification permissions
- Enable "Reduce Notifications" in Menu Bar → Config → More Settings
Note: Not recommended as you may miss important error notifications.
- Customize shortcuts in Menu Bar → Config → More Settings (requires v1.116.1+)
- Or use AppleScript - see Shortcuts Guide
Q: How to get shell commands with external IP?
A: Click the ClashX menu icon and press Option-Command-C
ClashX is no longer maintained, and new feature work should be proposed in ClashFX. Historical reports and contributions remain available for reference; review, fixes and new ClashX releases are not promised.
See LICENSE file for details.
Based on the original ClashX project.
