/clashX

A rule based custom proxy with GUI for Mac base on clash.

Primary LanguageSwiftGNU General Public License v3.0GPL-3.0

Clash
ClashX

A rule based proxy For Mac base on Clash.

Features

  • HTTP/HTTPS and SOCKS protocol
  • Surge like configuration
  • GeoIP rule support
  • Support Vmess/Shadowsocks/Socks5
  • Support for Netfilter TCP redirect

Install

You can download from release page

Build

Config

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.

Advance Config

Change your status menu icon

Place your icon file in the ~/.config/clash/menuImage.png then restart ClashX

Change default system ignore list.

- 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

Run custom custom scripts after set/unset system proxy.

- 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"

Use url scheme to import remote config.

- Using url scheme describe below
```
clash://install-config?url=http%3A%2F%2Fexample.com
```