Go to file
mrFq1 521749c1aa fix: retest fail 2023-03-08 12:07:42 +08:00
.github misc: read tag version on tag build 2023-03-02 14:33:24 +08:00
ClashX fix: retest fail 2023-03-08 12:07:42 +08:00
ClashX.xcodeproj to: merge 2023-03-06 15:00:36 +08:00
ClashX.xcworkspace Feature: ask user to move application to the Applications folder. 2018-06-23 14:37:00 +08:00
ProxyConfigHelper feat: clear dns cache 2023-02-22 14:48:04 +08:00
scripts/travis Feature: Add CI Support (#100) 2019-02-12 16:12:44 +08:00
zh-Hans.lproj Feature: add Chinese support 2018-10-08 23:37:38 +08:00
.bartycrouch.toml Feature: normalize translates 2019-07-28 12:39:49 +08:00
.gitignore Merge remote-tracking branch 'origin/master' into meta-dev 2022-11-27 12:08:04 +08:00
.swiftlint.yml misc: swift lint 2022-06-20 21:03:12 +08:00
LICENSE Update License 2019-10-17 21:20:50 +08:00
Podfile misc: update deps 2022-11-20 16:59:36 +08:00
Podfile.lock misc: alamofire 2023-02-20 18:36:28 +08:00
README.md Revert "misc: update readme" 2023-02-20 19:05:08 +08:00
SMJobBlessUtil.py Feature: Use apple prefer way to run privileged task 2019-08-18 22:25:02 +08:00
Shortcuts.md docs: add notes for global shortcuts 2022-03-24 11:33:35 +08:00
a_cat_with_eye.png Revert "feat(icon): a cat with eyes (#239)" 2020-03-03 19:47:33 +08:00
install_dependency.sh chore: deps 2023-02-19 12:37:15 +08:00

README.md

Clash
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.

  • Change by menu -> Config -> Setting -> Bypass proxy settings for these Hosts & Domains

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的通知

  1. 在系统设置中关闭 clashx 的推送权限
  2. 在菜单栏->配置->更多设置中选中减少通知

Note强烈不推荐这么做这可能导致clashx的很多重要错误提醒无法显示。

全局快捷键