/ClashForMagisk

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Clash for Magisk

A rule-based tunnel in Go. This module is wrapper for clash

中文说明

Requirements

  • arm64 ABI

License

See also NOTICE and LICENSE

Feature

See also https://github.com/Dreamacro/clash

Configure

Data Path {InternalStorage}/Android/data/com.github.kr328.clash

In data directory

  • Clash configure file config.yaml
  • Clash GEOIP database Country.mmdb
  • Clash starter configure file starter.yaml [example]
  • Clash status file RUNNING or STOPPED
  • Custom proxy mode directory mode.d

Control

Data Path {InternalStorage}/Android/data/com.github.kr328.clash

Create the following file to control clash

  • START - Start clash if stopped
  • STOP - Stop clash if running
  • RESTART - Restart clash

Read logs

  • On PC

    Run command

    adb logcat -s Clash

  • On Android

    Run command

    logcat -s Clash

Custom Proxy Mode

Custom Mode Directory {InternalStorage}/Android/data/com.github.kr328.clash/mode.d

  1. Create directory with mode name

  2. Create script on-start.sh and on-stop.sh

    Example for thus script link

  3. Change mode in starter.yaml

Build

  1. Install JDK, Android SDK, Android NDK, Go, Git

  2. Clone repo

    git clone https://github.com/Kr328/ClashForMagisk && cd ClashForMagisk
  3. Initialize git submodule

    git submodule init
    git submodule upate
  4. Create local.properties on project root directory

    sdk.dir=/path/to/android-sdk
    ndk.dir=/path/to/android-ndk
  5. Run command

    ./gradlew build
  6. Get clash-for-magisk.zip on module/build/outputs