ClashX.Meta/README.md

119 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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