ClashX
A rule based proxy For Mac base on Clash Meta.
Features
- Clash.Meta Core
- Tun mode support
Install
You can download from Release page
Build
-
Make sure have python3 and golang installed in your computer.
-
Install Golang
brew install golang or download from https://golang.org
-
Download deps
bash install_dependency.sh
-
Build and run.
Config
The default configuration directory is $HOME/.config/clash
The default name of the configuration file is config.yaml
. You can use your custom config name and switch config in menu Config
section.
Checkout Clash Meta or Clash or SS-Rule-Snippet for Clash or lancellc’s gitbook for more detail.
Advance Config
Change the ports of ClashX
Please modify the config.yaml
file generated by ClashX, not the other config file you created or downloaded. The General
section settings in your custom config file would be ignored. Then relaunch ClashX to apply changes.
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 and place in the
~/.config/clash/proxyIgnoreList.plist
-
Edit the
proxyIgnoreList.plist
to set up your own proxy ignore list
URL Schemes (May not work).
-
Using url scheme to import remote config.
clash://install-config?url=http%3A%2F%2Fexample.com&name=example
-
Using url scheme to reload current config.
clash://update-config
Get process name
You can add the follow config in your config file, and set your proxy mode to rule. Then open the log via help menu in ClashX.
script:
code: |
def main(ctx, metadata):
# Log ProcessName
ctx.log('Process Name: ' + ctx.resolve_process_name(metadata))
return 'DIRECT'
FAQ
- Q: How to get shell command with external IP?
A: Click the clashX menu icon and then press
Option-Command-C
关闭ClashX的通知
- 在系统设置中关闭 clashx meta 的推送权限
- 执行
defaults write com.metacubex.ClashX.meta disableNoti -bool true
Note:强烈不推荐这么做,这可能导致clashx的很多重要错误提醒无法显示。
全局快捷键
- 设置详情点击 全局快捷键