Sobre o projeto

Husi (虎兕) é um conjunto de ferramentas de proxy multiplataforma que oferece aplicativos para dispositivos móveis e desktop para gerenciar conexões de proxy. **Plataformas**: Android (APK) e desktop (Linux, macOS, Windows) via runtime Java 21 ou JetBrains Runtime integrado. **Protocolos suportados**: - Hysteria2 - Juicity - Mieru - ShadowQUIC (Naive está obsoleto; os usuários são direcionados a compilar a partir do repositório oficial.) **Arquitetura**: O projeto usa Kotlin Multiplatform com Compose para a camada de UI, Go para o motor de rede principal (libcore) e Zig para componentes nativos de desktop, incluindo o launcher e o daemon. O daemon (`husi-core`) é executado com privilégios elevados para suporte ao modo TUN; sem ele, a UI recorre a um host de sessão sem privilégios. **Pacotes para desktop**: - Uber JAR exigindo Java 21 do sistema - AppImage com JRE integrado (Linux) - Instalador NSIS e zip portátil (Windows) - Pacote de aplicativo `.dmg` (macOS) - Pacotes nativos `deb`/`rpm`/`pacman` (Linux) - Instalação relocável TAR.ZST para implantação sem root **Configuração**: Os arquivos de configuração do usuário são armazenados em `$XDG_CONFIG_HOME/husi/` (Linux), `~/Library/Application Support/husi/` (macOS) ou `%LOCALAPPDATA%\Programs\Husi` (Windows). Opções da JVM e argumentos de inicialização do aplicativo podem ser definidos por meio de arquivos de configuração no mesmo diretório. **GeoIP**: O Husi pode gerar recursos de conjunto de regras GeoIP a partir de dados do MaxMind GeoLite2 para roteamento baseado em região. **Requisitos de compilação**: JDK 21, NDK 29.0.14206865 (Android), Zig 0.16 e ferramentas específicas da plataforma, como `hdiutil`, `xorrisofs`, `nfpm`, `makensis` e `osslsigncode`, dependendo do alvo. **Licença**: GPL-3.0 ou posterior. **Baseado em**: sing-box, shadowsocks-android, NekoBoxForAndroid, ClashMetaForAndroid e outros projetos de proxy de código aberto.