À propos du projet

Husi (虎兕) est un ensemble d'outils proxy multiplateforme offrant des applications mobiles et de bureau pour gérer les connexions proxy. **Plateformes** : Android (APK) et ordinateurs de bureau (Linux, macOS, Windows) via un runtime Java 21 ou un JetBrains Runtime intégré. **Protocoles pris en charge** : - Hysteria2 - Juicity - Mieru - ShadowQUIC (Naive est obsolète ; les utilisateurs sont invités à compiler à partir du dépôt officiel.) **Architecture** : Le projet utilise Kotlin Multiplatform avec Compose pour la couche d'interface utilisateur, Go pour le moteur réseau principal (libcore), et Zig pour les composants natifs de bureau, y compris le lanceur et le démon. Le démon (`husi-core`) s'exécute avec des privilèges élevés pour le support du mode TUN ; sans cela, l'interface utilisateur revient à un hôte de session sans privilèges. **Paquets de bureau** : - Uber JAR nécessitant Java 21 système - AppImage avec JRE intégré (Linux) - Installateur NSIS et zip portable (Windows) - Bundle d'application `.dmg` (macOS) - Paquets natifs `deb`/`rpm`/`pacman` (Linux) - Installation relocalisable TAR.ZST pour déploiement sans racine **Configuration** : Les fichiers de configuration utilisateur sont stockés dans `$XDG_CONFIG_HOME/husi/` (Linux), `~/Library/Application Support/husi/` (macOS), ou `%LOCALAPPDATA%\Programs\Husi` (Windows). Les options JVM et les arguments de démarrage de l'application peuvent être définis via des fichiers de configuration dans le même répertoire. **GeoIP** : Husi peut générer des ressources de règles GeoIP à partir des données MaxMind GeoLite2 pour le routage basé sur la région. **Exigences de compilation** : JDK 21, NDK 29.0.14206865 (Android), Zig 0.16, et des outils spécifiques à la plateforme tels que `hdiutil`, `xorrisofs`, `nfpm`, `makensis`, et `osslsigncode` selon la cible. **Licence** : GPL-3.0 ou ultérieure. **Basé sur** : sing-box, shadowsocks-android, NekoBoxForAndroid, ClashMetaForAndroid, et d'autres projets proxy open source.