mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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*` 格式的 tag,GitHub Actions 会自动编译所有平台并发布到 Releases:
|
||||
推送 `proxy-v*` 格式的 tag,GitHub Actions 会自动:
|
||||
- 编译所有平台二进制并发布到 Releases
|
||||
- 构建 Docker 镜像并推送到 GHCR 和 Docker Hub
|
||||
- 更新 README 中的下载链接表格
|
||||
|
||||
```bash
|
||||
git tag proxy-v0.1.0
|
||||
|
||||
17
aether-proxy/docker-compose.yml
Normal file
17
aether-proxy/docker-compose.yml
Normal 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"
|
||||
Reference in New Issue
Block a user