feat(mini): add compact native EasyTier client (#2479)

Add a native EasyTier proof-of-concept binary with TCP and UDP
transports, TUN, UDP hole punching, AES-GCM, and a read-only RPC
portal.

Introduce a release-derived mini profile and musl linker policy so
x86_64, big-endian MIPS, and little-endian MIPS stay below the strict
5,000,000-byte target without UPX.
This commit is contained in:
KKRainbow
2026-08-09 19:43:30 +08:00
committed by GitHub
parent 1e40350c89
commit d375d7e455
47 changed files with 1688 additions and 302 deletions
+13 -7
View File
@@ -2,7 +2,7 @@
#[cfg(all(feature = "management", any(test, target_os = "wasi")))]
mod forwarded_rpc;
#[cfg(feature = "management")]
#[cfg(feature = "web-client")]
mod full;
mod instance_rpc;
mod rpc_server_hook;
@@ -28,16 +28,22 @@ pub(crate) use forwarded_rpc::{
};
#[cfg(all(feature = "management", target_os = "wasi"))]
pub(crate) use full::WebClientBackend;
#[cfg(all(feature = "web-client", test))]
pub(crate) use full::register_web_client_rpc;
#[cfg(feature = "management")]
pub use full::remote_client;
#[cfg(feature = "management")]
#[cfg(feature = "web-client")]
pub use full::{
ConfigFileStorage, ConfigServerEndpoint, InstanceMutationHooks, InstanceMutationResult,
LoggerControl, LoggerManagementRpc, ProcessManagement, ProcessManagementRpc,
UnsupportedConfigFileStorage, UnsupportedLoggerControl, WebClient, WebClientConfig,
apply_config_patch, call_instance_json_rpc, call_management_json_rpc, config_source_from_rpc,
config_source_to_rpc, log_level_name, network_instance_running_info, parse_log_level,
register_instance_management_rpc, register_management_rpc,
ProcessManagement, ProcessManagementRpc, UnsupportedConfigFileStorage, WebClient,
WebClientConfig, apply_config_patch, config_source_from_rpc, config_source_to_rpc,
network_instance_running_info,
};
#[cfg(feature = "management")]
pub use full::{
LoggerControl, LoggerManagementRpc, UnsupportedLoggerControl, call_instance_json_rpc,
call_management_json_rpc, log_level_name, parse_log_level, register_instance_management_rpc,
register_management_rpc,
};
pub use instance_rpc::InstanceManagementRpc;
pub use rpc_server_hook::ManagementRpcServerHook;