Skip to content
forked from SagerNet/SagerNet

A proxy client derived from SagerNet and powered by a hard fork 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

Get it on GitHub Get it on F-Droid

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.

FAQs and explanation of terms

Wiki. Some of the words may be subjective and offensive.

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 Git, JDK, Android SDK, Android NDK, Go and this Go Mobile fork.
  • git clone this project and submodule library/core. Also clone the corresponding plugin submodules if needed.
  • Replace release.keystore (can be generated by Java keytool) with your own.
  • Append these lines to your local.properties
KEYSTORE_PASS=your_keystore_pass
ALIAS_NAME=your_alias_name
ALIAS_PASS=your_alias_pass
  • Build the app:
    • Build libcore: /run lib core
    • Download assets ./gradlew :app:downloadAssets or update assets ./gradlew :app:updateAssets
    • Build app: ./gradlew :app:assembleOssRelease
    • APK files are located in app/build/outputs/apk/.
  • Build a plugin:
    • plugin_name is brook/hysteria2/juicity/mieru/naive.
    • Build plugin binaries: ./run plugin [plugin_name]
    • Build plugin APK:./gradlew :plugin:[plugin_name]:assembleOssRelease
    • Plugin APK files are located in plugin/[plugin_name]/build/outputs/apk/.

About

A proxy client derived from SagerNet and powered by a hard fork of v2ray-core.

Resources

License

Stars

Watchers

Forks

Languages

  • Kotlin 88.1%
  • Java 11.0%
  • Shell 0.4%
  • C++ 0.3%
  • AIDL 0.1%
  • Python 0.1%