Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/MetaCubeX/ClashX.Meta


https://github.com/MetaCubeX/ClashX.Meta

Last synced: 11 days ago
JSON representation

Lists

README

        


Clash


ClashX


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)