Skip to content
This repository has been archived by the owner on Jan 24, 2025. It is now read-only.
/ husi Public archive

License

Notifications You must be signed in to change notification settings

xchacha20-poly1305/husi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

1fbb462 · Jan 24, 2025
Jan 20, 2025
Jan 24, 2025
Jan 20, 2025
Jan 20, 2025
Jan 30, 2024
Dec 21, 2024
Jan 23, 2025
Jan 21, 2025
Jun 6, 2024
Jul 11, 2024
Feb 2, 2024
Jan 23, 2025
May 12, 2024
Dec 15, 2024
Jan 23, 2025
Sep 1, 2024
Jan 16, 2025
Dec 21, 2024
Jul 12, 2024
Jan 21, 2025
Mar 15, 2023
Jan 6, 2024
Jan 6, 2024
Mar 15, 2023
Jan 20, 2025

Repository files navigation

Get it on IzzyOnDroid

🛠️ Contribution

🧭 Guide

CONTRIBUTING

📚 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

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:

  • These versions need to apply patch.

    Unfold

    1.22.5: Apply this patch to ${GOROOT}/src/runtime/cgocall.go

    1.23.0-1.23.3: Apply this patch to${GOROOT}. make patch_go1230

    1.23.4: Apply this patch to $(GOROOT). make patch_go1234

  • Openjdk-21 (Later may 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.2.12479018

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

Wiki

📖 License

GPL-3.0

🛡️ Credits

Core:

Android GUI: