feat: 重构为 SOCKS5 代理管理平台 v2.0

架构:
- engine/server.py: asyncio SOCKS5 服务器引擎(含隧道/认证/限速)
- engine/instances.py: 多实例管理器(独立事件循环/热启动/热停止)
- services/user_service.py: 用户认证/流量统计/IP白名单/防爆破
- services/stats_service.py: 实时监控/流量趋势/连接追踪
- services/backup_service.py: 数据库备份与恢复
- api/v1.py: 完整 RESTful API
- web/routes.py: Web 管理面板(暗色 Bootstrap 5 主题)

功能覆盖:
 多实例 SOCKS5 管理(创建/启动/停止/重启/热加载)
 用户认证(无认证/账号密码/流量上限/限速/并发限制)
 IP 白名单/黑名单/防爆破
 实时仪表盘(CPU/内存/网络/活跃连接)
 流量统计(30天趋势图/用户排名/实例统计)
 活跃连接追踪
 审计日志(事件/用户/IP 筛选)
 数据库备份与恢复
 管理员密码保护
 16 项功能测试全部通过
This commit is contained in:
Your Name
2026-07-16 17:31:53 +08:00
parent d59699b5ce
commit 558bd8153f
35 changed files with 3245 additions and 817 deletions
+23 -3
View File
@@ -1,5 +1,25 @@
"""SOCKS5 代理管理系统 — 启动入口。"""
from app import app
#!/usr/bin/env python3
"""SOCKS Manager — 启动入口。"""
import os
import sys
from app import create_app
app = create_app()
if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000, debug=False)
port = int(os.environ.get("SM_PORT", 5000))
host = os.environ.get("SM_HOST", "0.0.0.0")
debug = os.environ.get("SM_DEBUG", "false").lower() == "true"
# 启动时同步实例
app.instance_manager.sync_instances()
print(f"\n ╔══════════════════════════════════════════╗")
print(f" ║ SOCKS Manager — 代理管理平台 ║")
print(f" ║ 面板: http://{host}:{port}")
print(f" ║ 用户: admin ║")
pwd = os.environ.get("SM_ADMIN_PASSWORD", "")
print(f" ║ 密码: {'*' * len(pwd) if pwd else '未设置(请先设 SM_ADMIN_PASSWORD)'}{' '*(20-len(pwd) if pwd else 22)}")
print(f" ╚══════════════════════════════════════════╝\n")
app.run(host=host, port=port, debug=debug, use_reloader=False)