119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
<h1 align="center">
|
||
<img src="https://github.com/Dreamacro/clash/raw/master/docs/logo.png" alt="Clash" width="200">
|
||
<br>
|
||
ClashX
|
||
<br>
|
||
</h1>
|
||
|
||
|
||
A rule based proxy For Mac base on [Clash](https://github.com/Dreamacro/clash).
|
||
|
||
ClashX 旨在提供一个简单轻量化的代理客户端,如果需要更多的定制化,可以考虑使用 [CFW Mac 版](https://github.com/Fndroid/clash_for_windows_pkg/releases)
|
||
|
||
## Features
|
||
|
||
- HTTP/HTTPS and SOCKS protocol
|
||
- Surge like configuration
|
||
- GeoIP rule support
|
||
- Support Vmess/Shadowsocks/Socks5/Trojan
|
||
- Support for Netfilter TCP redirect
|
||
|
||
## Install
|
||
|
||
You can download from [Release](https://github.com/yichengchen/clashX/releases) page
|
||
|
||
**Download ClashX Pro With enhanced mode and Native Apple Silicon support at [AppCenter](https://install.appcenter.ms/users/clashx/apps/clashx-pro/distribution_groups/public) for free permanently.**
|
||
|
||
|
||
## 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](https://github.com/Dreamacro/clash) or [SS-Rule-Snippet for Clash](https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/LAZY_RULES/clash.yaml) or [lancellc's gitbook](https://lancellc.gitbook.io/clash/) 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](proxyIgnoreList.plist) and place in the
|
||
|
||
```
|
||
~/.config/clash/proxyIgnoreList.plist
|
||
```
|
||
|
||
- Edit the `proxyIgnoreList.plist` to set up your own proxy ignore list
|
||
|
||
### URL Schemes.
|
||
|
||
- 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的通知
|
||
|
||
1. 在系统设置中关闭 clashx 的推送权限
|
||
2. 执行
|
||
```
|
||
defaults write com.west2online.ClashX disableNoti -bool true
|
||
defaults write com.west2online.ClashXPro disableNoti -bool true
|
||
```
|
||
|
||
Note:强烈不推荐这么做,这可能导致clashx的很多重要错误提醒无法显示。
|
||
|
||
### 全局快捷键
|
||
|
||
- 设置详情点击 [全局快捷键](Shortcuts.md) |