StealthSurf-VPN/awg-server

GitHub: StealthSurf-VPN/awg-server

AmneziaWG 2.0 的 HTTP API 管理服务,提供内核级 DPI 混淆 VPN 的程序化控制能力。

Stars: 1 | Forks: 0

# awg-server 用于管理 **AmneziaWG 2.0** VPN 客户端的 HTTP API 服务器。在主机上使用 **AmneziaWG 内核模块** 和 `awg` CLI 工具 —— 提供内核级性能,并通过 CPS (Custom Protocol Signature) 实现 DPI 混淆。 ## 快速安装 (Linux) 一键安装 AmneziaWG,下载最新的 `awg-server` 二进制文件,并准备运行: ``` # 1. 安装 AmneziaWG 内核模块 (DKMS) apt update && apt install -y software-properties-common linux-headers-$(uname -r) add-apt-repository -y ppa:amnezia/ppa apt update && apt install -y amneziawg # 2. 安装 AmneziaWG 工具 (awg CLI) apt install -y build-essential git git clone https://github.com/amnezia-vpn/amneziawg-tools.git /tmp/amneziawg-tools make -C /tmp/amneziawg-tools/src && make -C /tmp/amneziawg-tools/src install rm -rf /tmp/amneziawg-tools # 3. 启用 IP 转发 sysctl -w net.ipv4.ip_forward=1 echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf # 4. 下载最新 awg-server curl -fsSL https://github.com/stealthsurf-vpn/awg-server/releases/latest/download/awg-server-linux-$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/') -o /usr/local/bin/awg-server chmod +x /usr/local/bin/awg-server # 5. 创建数据目录 mkdir -p /data # 6. 创建 systemd 服务 cat > /etc/systemd/system/awg-server.service <`。 ``` # 列出客户端 curl http://localhost:7777/api/clients -H "Authorization: Bearer $TOKEN" # 创建客户端 curl -X POST http://localhost:7777/api/clients \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"my-client-uuid"}' # 获取客户端配置 (.conf) curl http://localhost:7777/api/clients/my-client-uuid/configuration \ -H "Authorization: Bearer $TOKEN" # 删除客户端 curl -X DELETE http://localhost:7777/api/clients/my-client-uuid \ -H "Authorization: Bearer $TOKEN" ``` ## 配置 环境变量: | Variable | Required | Default | Description | | -------- | -------- | ------- | ----------- | | `AWG_API_TOKEN` | yes | — | 用于 API 认证的 Bearer token | | `AWG_ADDRESS` | yes | — | 服务器 VPN 地址 (CIDR),例如 `10.0.0.1/24` | | `AWG_ENDPOINT` | yes | — | 用于客户端配置的公网 IP/主机名 | | `AWG_LISTEN_PORT` | no | `51820` | WireGuard UDP 端口 | | `AWG_HTTP_PORT` | no | `7777` | HTTP API 端口 | | `AWG_MTU` | no | `1420` | MTU 值 | | `AWG_DNS` | no | `1.1.1.1` | 用于客户端配置的 DNS | | `AWG_DATA_DIR` | no | `/data` | 数据持久化目录 | ### AmneziaWG 混淆 | Variable | Description | | -------- | ----------- | | `AWG_JC` | 垃圾数据包数量 | | `AWG_JMIN` / `AWG_JMAX` | 垃圾数据包大小范围 | | `AWG_S1` - `AWG_S4` | 数据包填充 (init, response, underload, transport) | | `AWG_H1` - `AWG_H4` | 数据包头 (init, response, underload, transport) | | `AWG_I1` - `AWG_I5` | CPS 签名数据包 (AmneziaWG 2.0),例如 `` | ## 架构 ``` main.go → config → awg (device, keygen) → clients (manager, storage) → api (server, handlers) ``` - **内核模块** —— 主机上的 `amneziawg-linux-kernel-module`,使用 `awg` CLI 进行管理 - **静态二进制文件** —— `CGO_ENABLED=0`,除 `golang.org/x/crypto` 外无外部 Go 依赖 - **持久化** 通过 JSON 文件及原子写入实现 - **IP 分配** 从 .2 开始顺序分配,释放的 IP 可重用 - **认证** 所有端点使用 Bearer token
标签:AI代理, AmneziaWG, CPS混淆, DPI规避, EVTX分析, EVTX分析, Golang, Homebrew安装, HTTP API, IP 地址批量处理, Linux服务器, Systemd, VPN管理, WireGuard, 代理工具, 内核模块, 安全编程, 安全资源, 抗封锁, 日志审计, 深度包检测, 系统服务, 网络安全, 网络安全, 网络安全分析, 网络调试, 自动化, 隐私保护, 隐私保护, 静态二进制