Skip to content
forked from SagerNet/SagerNet

A fork of SagerNet powered by a custom version of v2ray-core

License

Notifications You must be signed in to change notification settings

dyhkwong/Exclave

 
 

Repository files navigation

Exclave

A fork of SagerNet, the universal proxy toolchain for Android written in Kotlin.

Download

Report issues

Please report issues here. Do not report issues to upstream because the core used is heavily modified. Encrypt with this GPG public key before posting if the issue contains sensitive information.

Translation

Is Exclave not in your language, or the translation is incorrect or incomplete? Get involved in the translations on Hosted Weblate.

License

Copyright (C) 2021 by nekohasekai <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.

Build

  • Install and configure JDK, Android SDK, Android NDK, Go and this Go Mobile fork. Apply this patch for Go version before 1.23.4 for debug build.
  • git clone this project and at least submodule library/core.
  • Replace release.keystore (can be generated by Java keytool) with your own.
  • Append these to your local.properties
KEYSTORE_PASS=your_keystore_pass
ALIAS_NAME=your_alias_name
ALIAS_PASS=your_alias_pass
  • Build app:
    • Build libcore:
      ./run lib core
      
    • Download assets:
      ./gradlew :app:downloadAssets
      
    • (Optional) update assets version:
      ./gradlew :app:updateAssets
      
    • Build app:
      ./gradlew :app:assembleOssRelease
      
    • APK files will be located in app/build/outputs/apk/.
  • Build a plugin:
    • Build plugin binaries (the next command already includes this command):
      ./run plugin [plugin_name]
      
    • Build plugin:
      ./gradlew :plugin:[plugin_name]:assembleOssRelease
      
    • Plugin APK files will be located in plugin/[plugin_name]/build/outputs/apk/.

About

A fork of SagerNet powered by a custom version of v2ray-core

Resources

License

Stars

Watchers

Forks

Languages

  • Kotlin 88.1%
  • Java 10.8%
  • Shell 0.6%
  • C++ 0.3%
  • AIDL 0.1%
  • Python 0.1%