GithubHelp home page GithubHelp logo

eterocell / mihomoforandroid Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 1.0 4.36 MB

A rule-based tunnel for Android. Forked from https://github.com/MetaCubeX/ClashMetaForAndroid

License: GNU General Public License v3.0

Kotlin 85.14% Go 8.16% CMake 0.43% C 4.62% Java 1.65%

mihomoforandroid's Introduction

Clash Meta for Android

A Graphical user interface of Clash.Meta for Android

Feature

Feature of Clash.Meta

Get it on F-Droid

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:assembleAlphaRelease

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.

mihomoforandroid's People

Contributors

kr328 avatar stitchrs avatar eterocell avatar stevejohnson7 avatar djoeni avatar clash-meta-maintainer[bot] avatar renovate[bot] avatar wwqgtxx avatar goooler avatar larvan2 avatar riolurs avatar actions-user avatar malus-risus avatar xishang0128 avatar h0cheung avatar aylz10 avatar h1jk avatar doddddd avatar shunf4 avatar kaitul avatar nekohasekai avatar yi-xu-0100 avatar xixiha5230 avatar wzfdgh avatar g5hg3emma9ss97 avatar okhowang avatar aylz10[bot] avatar cgcel avatar apevogoci avatar yeyebbc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar Duke avatar  avatar 企鹅2035 avatar

Watchers

 avatar  avatar

Forkers

likangr

mihomoforandroid's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.


Warning

Renovate failed to look up the following dependencies: Failed to look up maven package integer:release_code.

Files affected: build.gradle.kts


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/build-debug.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-go v5
  • actions/cache v4
  • gradle/actions v4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
  • actions/upload-artifact v4
.github/workflows/build-pre-release.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-go v5
  • actions/cache v4
  • gradle/actions v4
  • dev-drprasad/delete-tag-and-release v1.1
  • richardsimko/update-tag v1
  • softprops/action-gh-release v2
  • mikepenz/release-changelog-builder-action v5
.github/workflows/build-release.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-go v5
  • actions/cache v4
  • Devofure/advance-android-version-actions v1.5
  • gradle/actions v4
  • richardsimko/update-tag v1
  • softprops/action-gh-release v2
  • mikepenz/release-changelog-builder-action v4.2.2
.github/workflows/update-dependencies.yaml
  • actions/checkout v4
  • actions/setup-java v4
  • actions/setup-go v5
  • actions/cache v4
  • tibdex/github-app-token v2
  • peter-evans/create-pull-request v6
gomod
core/src/foss/golang/go.mod
  • go 1.20
  • github.com/metacubex/sing v0.0.0-20240724044459-6f3cf5896297@6f3cf5896297
core/src/main/golang/go.mod
  • go 1.20
  • github.com/Kr328/tun2socket v0.0.0-20220414050025-d07c78d06d34@d07c78d06d34
  • github.com/dlclark/regexp2 v1.11.4
  • github.com/metacubex/mihomo v1.18.7
  • github.com/miekg/dns v1.1.62
  • github.com/oschwald/maxminddb-golang v1.12.0
  • golang.org/x/sync v0.8.0
  • gopkg.in/yaml.v2 v2.4.0
  • github.com/metacubex/sing v0.0.0-20240724044459-6f3cf5896297@6f3cf5896297
gradle
gradle.properties
settings.gradle.kts
build.gradle.kts
  • integer:release_code 02110140
  • com.android.tools:desugar_jdk_libs 2.0.4
app/build.gradle.kts
build-logic/gradle.properties
build-logic/settings.gradle.kts
build-logic/build.gradle.kts
build-logic/convention/build.gradle.kts
build-logic/convention/src/main/kotlin/build-logic.root-project.base.gradle.kts
build-logic/convention/src/main/kotlin/build-logic.root-project.gradle.kts
build-logic/convention/src/main/kotlin/build-logic.spotless.gradle.kts
common/build.gradle.kts
core/build.gradle.kts
design/build.gradle.kts
golang-android-plugin/settings.gradle.kts
golang-android-plugin/build.gradle.kts
golang-android-plugin/gradle-plugin/build.gradle.kts
gradle/libs.versions.toml
  • org.jetbrains.kotlin:kotlin-stdlib 2.0.20
  • org.jetbrains.kotlinx:kotlinx-coroutines-android 1.8.1
  • org.jetbrains.kotlinx:kotlinx-serialization-json 1.7.1
  • androidx.core:core-ktx 1.13.1
  • androidx.activity:activity 1.9.1
  • androidx.fragment:fragment 1.8.2
  • androidx.appcompat:appcompat 1.7.0
  • androidx.coordinatorlayout:coordinatorlayout 1.2.0
  • androidx.recyclerview:recyclerview 1.3.2
  • androidx.viewpager2:viewpager2 1.1.0
  • androidx.room:room-compiler 2.6.1
  • androidx.room:room-runtime 2.6.1
  • androidx.room:room-ktx 2.6.1
  • com.google.android.material:material 1.12.0
  • com.github.kr328.kaidl:kaidl 1.15
  • com.github.kr328.kaidl:kaidl-runtime 1.15
  • com.squareup.okhttp3:okhttp-bom 4.12.0
  • dev.rikka.rikkax.preference:multiprocess 1.0.0
  • com.android.tools.build:gradle 8.5.2
  • com.diffplug.spotless:spotless-plugin-gradle 6.25.0
  • org.jetbrains.kotlin:kotlin-gradle-plugin 2.0.20
  • com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin 2.0.20-1.0.24
  • com.android.application 8.5.2
  • com.android.library 8.5.2
  • com.diffplug.spotless 6.25.0
  • org.jetbrains.kotlin.android 2.0.20
  • org.jetbrains.kotlin.kapt 2.0.20
  • org.jetbrains.kotlin.plugin.serialization 2.0.20
  • com.google.devtools.ksp 2.0.20-1.0.24
hideapi/build.gradle.kts
service/build.gradle.kts
gradle-wrapper
gradle/wrapper/gradle-wrapper.properties
  • gradle 8.10

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.