## Why 当前项目需要一套支持多服务器的 Ansible 配置,能够一键部署 Trojan 和 Snell 代理服务。与参考的 `ansible-proxy-chain` 项目不同,本项目不需要 relay/landing 链式架构,而是需要直接在多台服务器上部署独立的代理服务,其中 Trojan 需要支持多用户配置。 ## What Changes - 新增 Ansible playbook 和 roles,支持多服务器基础安全配置(SSH 加固、UFW 防火墙、fail2ban、自动更新) - 新增 Snell 服务部署 role,支持单用户模式 - 新增 Trojan 服务部署 role,支持多用户模式,用户通过 YAML 文件配置 - 新增 inventory 和 group_vars 配置模板 - 新增多用户 Trojan 的 YAML 配置文件格式和解析逻辑 ## Capabilities ### New Capabilities - `server-base`: 服务器基础安全配置,包括包管理、SSH 加固、UFW 防火墙、fail2ban、自动安全更新 - `snell-service`: 单用户 Snell 代理服务部署,包含安装、配置和 systemd 管理 - `trojan-multiuser`: 多用户 Trojan 代理服务部署,支持通过 YAML 文件定义多个用户,包含 TLS 证书管理、配置模板和 systemd 管理 ### Modified Capabilities - 无现有 spec 需要修改(本项目为全新初始化) ## Impact - 新增 Ansible roles: `base`, `snell`, `trojan` - 新增 inventory 配置和 group_vars 模板 - 新增 `users.yml` 格式的多用户配置支持 - 新增 systemd service 单元文件 - 新增 Jinja2 配置模板 - 依赖: Python 3, systemd, certbot (Trojan TLS)