Awesome
<a href="https://apt.izzysoft.de/fdroid/index/apk/fr.husi/"> <img src="https://gitlab.com/IzzyOnDroid/repo/-/raw/master/assets/IzzyOnDroid.png" alt="Get it on IzzyOnDroid" height="80"> </a>🛠️ Contribution
🧭 Guide
📚 Localization
Is husi not in your language, or the translation is incorrect or incomplete? Get involved in the translations on our Weblate.
🔨 Learn to Compilation
In Linux, you can build husi reproducibly for release version.
For this, you should use the same version of JDK, NDK as below. And Go version should as same as version.sh.
🧰 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:
-
In some version need to apply patch.
<details> <summary>Unfold</summary>1.23.5: Apply this patch to
${GOROOT}/src/runtime/cgocall.go
1.23.x: Apply this patch to
</details>${GOROOT}
-
Openjdk-21 (Later is OK, too.)
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
🎁 APK
Environment:
- jdk-21
- ndk 27.0.12077973
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 PLUGIN=<Plugin name>
Plugin name list:
hysteria2
juicity
naive
mieru
☠️ End users
📖 License
🛡️ Credits
Core:
Android GUI: