refactor: 代理节点架构重构与功能增强

aether-proxy:
- 重构 main.rs,拆分为 app/state/hardware/net 模块
- setup.rs 拆分为 setup/tui.rs + setup/service.rs,支持 systemd 服务管理子命令
- 新增 delegate 端点,支持后端通过代理节点转发请求而非传统 CONNECT 代理
- 注册时上报硬件信息(CPU/内存/fd_limit)和估算最大并发数
- 心跳上报活跃连接数,支持远程下发 node_name 配置
- HTTP 转发时剥离 X-Forwarded-* 等敏感头部
- 切换到 rustls-tls,降低日志级别减少噪音

后端:
- 从 http_client.py 提取代理相关逻辑至 proxy_node/resolver.py
- 从 routes.py 提取业务逻辑至 proxy_node/service.py
- handler 支持 delegate 模式(通过代理节点 HTTP 端点转发而非 CONNECT 隧道)
- ProxyNode 模型新增 hardware_info 和 estimated_max_concurrency 字段

前端:
- 新增 HardwareTooltip 组件展示节点硬件信息
- 远程配置支持下发 node_name
This commit is contained in:
fawney19
2026-02-08 13:33:08 +08:00
parent 254d30d32d
commit 519ad67eb1
44 changed files with 3339 additions and 1709 deletions

View File

@@ -7,7 +7,10 @@
:z-index="70"
@update:model-value="$emit('update:open', $event)"
>
<template v-if="providerId && items.length > 0" #header-actions>
<template
v-if="providerId && items.length > 0"
#header-actions
>
<DropdownMenu :modal="false">
<DropdownMenuTrigger as-child>
<Button

View File

@@ -107,7 +107,10 @@
>
<!-- 主区域拖拽 粘贴输入框同一位置切换 -->
<div v-if="!importText" class="mt-3">
<div
v-if="!importText"
class="mt-3"
>
<!-- 拖拽模式 -->
<div
v-if="!showManualInput"
@@ -168,7 +171,10 @@
</div>
<!-- 已有内容文件导入后显示文本框 -->
<div v-if="importText" class="space-y-2">
<div
v-if="importText"
class="space-y-2"
>
<div class="flex items-center justify-between">
<span class="text-xs text-muted-foreground">{{ importFileName || '已粘贴内容' }}</span>
<button