Skip to content

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

Translation

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

Report issues

Please report issues here. Do not report issues to upstream because the core used is heavily modified.

  • For crashes, log file using "debug" log level is required. Log files may contain secret keys used to connect to servers. Please remove potential sensitive information or encrypt with GPG before posting them publicly.
  • For memory leak and high system resource usage, pprof profile is required. Long press "About" - "Version" to enable pprof HTTP server settings and kill and restart the app to take effect.
  • Encrypt with this GPG public key if the issue contains sensitive information or you are reporting a vulnerability.

FAQs and explanation of terms

Wiki. The wiki may contain potentially distressing or otherwise sensitive content. Viewer discretion is advised.

Build from source

  • Install and configure Git, JDK, Android SDK, Android NDK, Go and this Go Mobile fork.
  • Use Git to clone this project. Also clone the corresponding submodule library/core and/or plugin submodules if needed.
  • Replace release.keystore with your own. It can be generated by Java keytool.
  • Append the following 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 1
    • Download assets: ./gradlew :app:downloadAssets (or update assets: ./gradlew :app:updateAssets) 2
    • Build the app: ./gradlew :app:assembleOssRelease
    • APK files are located in app/build/outputs/apk/
  • Build a plugin:
    • Build native binaries: ./run plugin [hysteria2|juicity|mieru|tuic5|shadowquic|naive] 3
    • Build the plugin:./gradlew :plugin:[hysteria2|juicity|mieru|tuic5|shadowquic|naive]:assembleOssRelease
    • Plugin APK files are located in plugin/[hysteria2|juicity|mieru|tuic5|shadowquic|naive]/build/outputs/apk/

License

Copyright (C) 2023-2025 by dyhkwong
Copyright (C) 2021 by nekohasekai <contact-sagernet@sekai.icu>

This program (except for submodules) 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.

Submodule `library/core` (except for the files under the `clash` directory) 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.

Files under the `clash` directory of submodule `library/core` are free software: you can redistribute them and/or modify them under the terms of the GNU General Public License as published by the Free Software Foundation, version 3.

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 <https://www.gnu.org/licenses/>.

Acknowledgment

Footnotes

  1. If libcore is compiled with with_clash tag, the app is applicable to GPL v3 only. If libcore is compiled without with_clash tag, the app is applicable to GPL v3 or later.

  2. Assets are data files downloaded and bundled directly and therefore not subjected to the restrictions of GPL.

  3. Plugins are applicable to GPL v3 or later. However, native binaries are executables that run in separate processes and therefore not subjected to the restrictions of GPL.

About

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

Resources

License

Stars

Watchers

Forks

Languages

  • Kotlin 86.2%
  • Java 12.6%
  • Other 1.2%