feat(proxy): CI 添加 Docker 构建推送和 README 自动更新,HardwareTooltip 增强字段兼容

- build-proxy workflow 新增 docker job 构建多架构镜像推送 GHCR/Docker Hub
- build-proxy workflow 新增 update-readme job 自动更新下载链接表格
- Dockerfile 改用预编译二进制替代多阶段 Rust 编译
- 新增 docker-compose.yml 简化部署
- .env.example 精简为必要配置项
- README 补充 Docker 部署说明和下载表格标记
- HardwareTooltip 兼容 camelCase/snake_case 字段名,添加 pickRecord 辅助函数和原生 tooltip 回退
This commit is contained in:
fawney19
2026-02-22 01:13:03 +08:00
parent cf2eee222e
commit 5da9197eee
6 changed files with 242 additions and 63 deletions

View File

@@ -10,22 +10,5 @@ AETHER_PROXY_HMAC_KEY=
# Proxy listen port
AETHER_PROXY_LISTEN_PORT=18080
# Public IP (auto-detected if omitted)
# AETHER_PROXY_PUBLIC_IP=203.0.113.42
# Node identification
AETHER_PROXY_NODE_NAME=proxy-01
# AETHER_PROXY_NODE_REGION=ap-northeast-1
# Heartbeat interval in seconds
AETHER_PROXY_HEARTBEAT_INTERVAL=30
# Allowed destination ports (comma-separated)
AETHER_PROXY_ALLOWED_PORTS=80,443,8080,8443
# HMAC timestamp tolerance in seconds
AETHER_PROXY_TIMESTAMP_TOLERANCE=300
# Logging
AETHER_PROXY_LOG_LEVEL=info
AETHER_PROXY_LOG_JSON=false

View File

@@ -1,24 +1,11 @@
FROM rust:1.83-slim AS builder
WORKDIR /app
RUN apt-get update && apt-get install -y pkg-config libssl-dev && rm -rf /var/lib/apt/lists/*
COPY Cargo.toml Cargo.lock* ./
# Create dummy main.rs for dependency caching
RUN mkdir src && echo "fn main() {}" > src/main.rs
RUN cargo build --release 2>/dev/null || true
COPY src/ src/
# Touch main.rs to force rebuild with real source
RUN touch src/main.rs
RUN cargo build --release
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
ARG TARGETARCH
COPY --from=builder /app/target/release/aether-proxy /usr/local/bin/aether-proxy
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY build/linux-${TARGETARCH}/aether-proxy /usr/local/bin/aether-proxy
EXPOSE 18080

View File

@@ -4,9 +4,23 @@ Aether 正向代理节点,部署在海外 VPS 上,为墙内的 Aether 实例
## 安装
### Docker 部署
```bash
# 拉取镜像
docker pull ghcr.io/fawney19/aether-proxy:latest
# 或使用 docker compose
cp .env.example .env
# 编辑 .env 填入 AETHER_PROXY_AETHER_URL, MANAGEMENT_TOKEN, HMAC_KEY
docker compose up -d
```
### 下载预编译二进制
在 [GitHub Releases](https://github.com/fawney19/Aether/releases) 页面下载对应平台的预编译文件,无需安装 Rust 环境。
<!-- DOWNLOAD_TABLE_START -->
在 [GitHub Releases](https://github.com/fawney19/Aether/releases?q=proxy-v) 页面下载对应平台的预编译文件,无需安装 Rust 环境。
<!-- DOWNLOAD_TABLE_END -->
## 快速开始
@@ -89,7 +103,10 @@ sudo aether-proxy uninstall
## 发布新版本
推送 `proxy-v*` 格式的 tagGitHub Actions 会自动编译所有平台并发布到 Releases
推送 `proxy-v*` 格式的 tagGitHub Actions 会自动:
- 编译所有平台二进制并发布到 Releases
- 构建 Docker 镜像并推送到 GHCR 和 Docker Hub
- 更新 README 中的下载链接表格
```bash
git tag proxy-v0.1.0

View File

@@ -0,0 +1,17 @@
services:
aether-proxy:
image: ghcr.io/fawney19/aether-proxy:latest
container_name: aether-proxy
restart: unless-stopped
ports:
- "${AETHER_PROXY_LISTEN_PORT:-18080}:18080"
env_file:
- .env
environment:
AETHER_PROXY_LISTEN_PORT: 18080
AETHER_PROXY_LOG_JSON: "true"
logging:
driver: json-file
options:
max-size: "50m"
max-file: "3"