Tidak Ada Deskripsi

xiongzhu 8c1e7d191e . 1 tahun lalu
.github e701551655 add update-go-mod-replace 1 tahun lalu
.idea e06c901bf5 feat: show subscription 3 tahun lalu
app a3e0d88369 feature: 外部控制 1 tahun lalu
common a3e0d88369 feature: 外部控制 1 tahun lalu
core 8c1e7d191e . 1 tahun lalu
design a58af39fae feat: add some override options about sniffing 2 tahun lalu
fastlane f5a93057ad fastlane: fix a typo 3 tahun lalu
gradle c7c13b3a89 update dependency (#180) 1 tahun lalu
hideapi 11c4e19e0c Refactor: refactor project structure & update clash core (#1174) 4 tahun lalu
service 669e644d81 fix: correctly convert timezone offset from Java TimeZone.getRawOffset() to arg for golang time.FixedZone 1 tahun lalu
.gitattributes 8b91b2eeb1 Chore: add .gitattributes (#1191) 4 tahun lalu
.gitignore ecf03507e6 Squashed commit of the following: 2 tahun lalu
.gitmodules c7666a3e01 更换核心地址 2 tahun lalu
CONTRIBUTING.md 75745d89d7 Chore: update CONTRIBUTING.md 4 tahun lalu
LICENSE 07e8afa69a Initial: initial commit 4 tahun lalu
NOTICE 07e8afa69a Initial: initial commit 4 tahun lalu
PRIVACY_POLICY.md 07e8afa69a Initial: initial commit 4 tahun lalu
README.md 5e397c2aed Fix typos in README.md (#185) 1 tahun lalu
build.gradle.kts a3e0d88369 feature: 外部控制 1 tahun lalu
gradle.properties 899803739b Chore: remove unused dependencies & improve gradle properties & code style (#1189) 4 tahun lalu
gradlew c7c13b3a89 update dependency (#180) 1 tahun lalu
gradlew.bat c7c13b3a89 update dependency (#180) 1 tahun lalu
release.keystore 8b2ef8aaac Add files via upload 3 tahun lalu
renovate.json 8fa4e33bda Update dependency (#174) 2 tahun lalu
settings.gradle.kts 8fa4e33bda Update dependency (#174) 2 tahun lalu

README.md

Clash Meta for Android

A Graphical user interface of Clash.Meta for Android

Feature

Feature of Clash.Meta

[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"

 alt="Get it on F-Droid"
 height="80">](https://f-droid.org/packages/com.github.metacubex.clash.meta/)

Requirement

  • Android 5.0+ (minimum)
  • Android 7.0+ (recommend)
  • armeabi-v7a , arm64-v8a, x86 or x86_64 Architecture

Build

  1. Update submodules

    git submodule update --init --recursive
    
  2. Install OpenJDK 11, Android SDK, CMake and Golang

  3. Create local.properties in project root with

    sdk.dir=/path/to/android-sdk
    
  4. Create signing.properties in project root with

    keystore.path=/path/to/keystore/file
    keystore.password=<key store password>
    key.alias=<key alias>
    key.password=<key password>
    
  5. Build

    ./gradlew app:assembleMeta-AlphaRelease
    

Automation

APP package name is com.github.metacubex.clash.meta

  • Toggle Clash.Meta service status
    • Send intent to activity com.github.kr328.clash.ExternalControlActivity with action com.github.metacubex.clash.meta.action.TOGGLE_CLASH
  • Start Clash.Meta service
    • Send intent to activity com.github.kr328.clash.ExternalControlActivity with action com.github.metacubex.clash.meta.action.START_CLASH
  • Stop Clash.Meta service
    • Send intent to activity com.github.kr328.clash.ExternalControlActivity with action com.github.metacubex.clash.meta.action.STOP_CLASH
  • Import a profile
    • URL Scheme clash://install-config?url=<encoded URI> or clashmeta://install-config?url=<encoded URI>

Contribution and Project Maintenance

Meta Kernel

  • CMFA uses the kernel from android-real branch under MetaCubeX/Clash.Meta, which is a merge of the main Alpha branch and android-open.
    • If you want to contribute to the kernel, make PRs to Alpha branch of the Meta kernel repository.
    • If you want to contribute Android-specific patches to the kernel, make PRs to android-open branch of the Meta kernel repository.

Maintenance

  • When MetaCubeX/Clash.Meta kernel is updated to a new version, the Update Dependencies actions in this repo will be triggered automatically.
    • It will pull the new version of the meta kernel, update all the golang dependencies, and create a PR without manual intervention.
    • If there is any compile error in PR, you need to fix it before merging. Alternatively, you may merge the PR directly.
  • Manually triggering Build Pre-Release actions will compile and publish a PreRelease version.
  • Manually triggering Build Release actions will compile, tag and publish a Release version.
    • You must fill the blank Release Tag with the tag you want to release in the format of v1.2.3.
    • versionName and versionCode in build.gradle.kts will be automatically bumped to the tag you filled above.