feat(gui): add service and remote mode support (#1578)

This PR fundamentally restructures the EasyTier GUI, introducing support for service mode and remote mode, transforming it from a simple desktop application into a powerful network management terminal. This change allows users to persistently run the EasyTier core as a background service or remotely manage multiple EasyTier instances, greatly improving deployment flexibility and manageability.
This commit is contained in:
Mg Pig
2025-11-25 13:59:27 +08:00
committed by GitHub
parent b44053f496
commit 1f2517c731
29 changed files with 2921 additions and 2097 deletions

View File

@@ -32,6 +32,11 @@
rustVersion = "1.89.0";
makeRust =
features:
let
rustTarget = pkgs.stdenv.hostPlatform.config;
muslTarget = pkgs.lib.replaceStrings [ "gnu" ] [ "musl" ] rustTarget;
muslTargets = if pkgs.stdenv.isLinux then [ muslTarget ] else [ ];
in
pkgs.rust-bin.stable.${rustVersion}.default.override {
extensions = [
"rust-src"
@@ -39,7 +44,7 @@
]
++ (if builtins.elem "android" features then android.rust.extensions else [ ]);
targets = if builtins.elem "android" features then android.rust.targets else [ ];
targets = muslTargets ++ (if builtins.elem "android" features then android.rust.targets else []);
};
android = import ./android.nix {
@@ -76,6 +81,7 @@
);
buildInputs = with pkgs; ([
jemalloc
zstd
openssl
libclang
@@ -90,6 +96,7 @@
LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath (flattenPaths (buildInputs ++ nativeBuildInputs));
ZSTD_SYS_USE_PKG_CONFIG = true;
KCP_SYS_EXTRA_HEADER_PATH = "${pkgs.libclang.lib}/lib/clang/19/include:${pkgs.glibc.dev}/include";
JEMALLOC_OVERRIDE = "${pkgs.jemalloc}/lib/libjemalloc.so";
}
// (if hasFeature "android" then android.envVars else { }));
in