/husi

匪兕匪虎 率彼旷野

Primary LanguageKotlinOtherNOASSERTION

Get it on IzzyOnDroid

🛠️ Contribution

📚 Localization

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

Translation status

🔨 Learn to Compilation

🧰 Get the Source Code

git clone https://github.com/xchacha20-poly1305/husi.git --depth=1
cd husi/
./run lib source # Will help you to get submodules

⚖️ libcore

Environment:

  • Go (should be as up-to-date as possible)
  • Openjdk-17 (Other version is ok. But require version 17 to build the same file as action.)

Run:

make libcore

This will generate app/libs/libcore.aar.

If gomobile is not in the GOPATH, it will be automatically downloaded and compiled.

If you don't want to build it, you can download then in actions

🎗️ Dashboard

Ensure that the Node environment is set up correctly (with pnpm, etc.).

make dashboard

🎁 APK

Environment:

  • jdk-17-openjdk
  • ndk 26.3.11579264

If the environment variables $ANDROID_HOME and $ANDROID_NDK_HOME are not set, you can run the script buildScript/init/env_ndk.sh:

echo "sdk.dir=${ANDROID_HOME}" > local.properties

Signing preparation (optional, it is recommended to sign after compilation): Replace release.keystore with your own keystore.

echo "KEYSTORE_PASS=" >> local.properties
echo "ALIAS_NAME=" >> local.properties
echo "ALIAS_PASS=" >> local.properties

Download geo resource files:

make assets

Compile the release version:

make apk

The APK file will be located in app/build/outputs/apk.

🌈 Plugins

make <Plugin name>

Plugin name list:

  • hysteria2

☠️ End users

Wiki

📖 License

GPL-3.0

🛡️ Credits

Core:

Android GUI:

Web Dashboard: