proposal.md 1.5 KB

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)