A rule based proxy For Mac base on Clash.
- HTTP/HTTPS and SOCKS protocol
- Surge like configuration
- GeoIP rule support
- Support Vmess/Shadowsocks/Socks5
- Support for Netfilter TCP redirect
You can download from release page
-
Download mmdb from http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz unzip and put it in the "ClashX/Support Files/Country.mmdb".
-
Open the "ClashX/Resources" folder and clone the dashboard project.
git clone -b gh-pages git@github.com:Dreamacro/clash-dashboard.git dashboard
-
Build clash core.
go build -buildmode=c-archive
-
Build and run.
The default configuration directory is $HOME/.config/clash
The default name of the configuration file is config.yml
. You can use your custom config name and switch config in menu "Config" section.
Checkout Clash or SS-Rule-Snippet for Clash for more detail.
Place your icon file in the ~/.config/clash/menuImage.png then restart ClashX
- Download sample plist in the [Here](https://baidu.com) and place in the ~/.config/clash/proxyIgnoreList.plist
- edit the proxyIgnoreList.plist to set up your own proxy ignore list
- set `kProxyEnableHook` and `kProxyDisableHook` or `kDidUpdateRemoteConfigHook` in your termial
```
defaults write com.west2online.ClashX kProxyEnableHook -string "Your commond"
defaults write com.west2online.ClashX kProxyDisableHook -string "Your commond"
defaults write com.west2online.ClashX kDidUpdateRemoteConfigHook -string "Your commond"
```
- For Examole:
defaults write com.west2online.ClashX KproxyEnableHook -string "/usr/local/bin/python3 /Users/username/.config/clash/proxy_up.py"
- Using url scheme describe below
```
clash://install-config?url=http%3A%2F%2Fexample.com
```