This project is based on code originally created by yichengchen. I discovered that the original version was not compatible with macOS 26 (Sequoia), so I modified the code to make it work on macOS 26. The source code was forked from bannedbook/ClashX. The git history was lost because I accidentally deleted the .git folder when recreating the project after encountering some issues.
Official Website: https://clashx.tech
A rule-based proxy client for macOS based on Clash.
ClashX aims to provide a simple and lightweight proxy client with an intuitive interface.
ClashX Pro comes with enhanced mode and other Clash Premium Core features.
Download from the Releases page.
Install Golang
bash
brew install golang
# or download from https://golang.org
Install dependencies
bash
bash install_dependency.sh
Open and build
bash
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'
Note: Not recommended as you may miss important error notifications.
Q: How to get shell commands with external IP?
A: Click the ClashX menu icon and press Option-Command-C
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
See LICENSE file for details.
Based on the original ClashX project.