Is husi not in your language, or the translation is incorrect or incomplete? Get involved in the translations on our Weblate.
git clone https://github.com/xchacha20-poly1305/husi.git --depth=1
cd husi/
./run lib source # Will help you to get submodules
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
Ensure that the Node environment is set up correctly (with pnpm, etc.).
make dashboard
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
.
make <Plugin name>
Plugin name list:
hysteria2
Core:
Android GUI:
- shadowsocks/shadowsocks-android
- SagerNet/SagerNet
- XTLS/AnXray
- MatsuriDayo/NekoBoxForAndroid
- SagerNet/sing-box-for-android
- AntiNeko/CatBoxForAndroid
- MetaCubeX/ClashMetaForAndroid
Web Dashboard: