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 submodulesEnvironment:
- 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 libcoreThis 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 dashboardEnvironment:
- 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.propertiesSigning 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.propertiesDownload geo resource files:
make assetsCompile the release version:
make apkThe 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: