Your Name
|
3232159d29
|
feat: add one-click deploy script + project optimization
- deploy.sh: one-click deployment (venv + pip deps + .env + gunicorn + systemd + firewall)
- gunicorn_config.py: unified gunicorn config with env var overrides
- .env.example: full env var template (admin, security, port, session, backup, etc.)
- app.py: optional dotenv .env file loading
- requirements.txt: add python-dotenv
|
2026-09-09 13:41:03 +08:00 |
|
cnbugs
|
eba7ae831f
|
fix(socks5): 加后台 sync loop, 周期探活自动救活死 SOCKS5 实例
背景:
is_alive() 健康探活已就绪, 但 sync_instances 只能由 API 手动触发。
没人调 API 就没人探活, 死掉的 SOCKS5 实例一直挂着, DB.running 还是
true, 用户看到的就是'实例莫名停止'。这是最后一块拼图。
变更:
app.py
+ _start_sync_loop() 后台 daemon 线程, 周期调用 sync_instances
(默认 30s, SM_SYNC_INTERVAL 可调, SM_SYNC_LOOP_ENABLE
可关)。线程级单例, 多次 create_app 只启一次。
+ create_app 末尾调 _start_sync_loop + 初始 sync_instances, 保证
gunicorn worker 启动时就把实例拉起来
engine/instances.py
M is_alive() docstring 补充判定依据 (thread/server/is_serving)
测试:
+ tests/e2e_sync_loop.py create_app 启动 loop -> 插 DB 实例 -> loop 拉起
-> kill server socket -> loop 自动救活 + 换对象
本地 3 次连续运行全 PASS, 端口 ~4.5s 被救活
验证:
- smoke tunnel timeout: PASS
- e2e lifecycle (userpass + add_traffic): PASS
- e2e health check (sync_instances 探活): PASS
- e2e sync loop (后台自动救活): PASS
- app import: OK
|
2026-08-10 23:57:56 +08:00 |
|
Your Name
|
00d9750662
|
fix: 首次启动自动设置默认密码
新服务器无 .env 文件时,get_or_set_password() 自动:
1. 设置默认密码 admin123
2. 写入 .env 文件
3. 控制台打印提示
解决新服务器无法登录的问题。
|
2026-07-16 19:06:37 +08:00 |
|
Your Name
|
5ab5366534
|
fix: SOCKS5 隧道修复 - 子线程事件循环兼容性
1. 去掉 asyncio.wait_for 包装 open_connection,改用直接调用
2. ConnectionHandler 增加 flask_app 参数,数据库操作使用 app context
3. InstanceManager 传递 flask_app 到 Socks5Server
4. 修复 _reply 中 writer.write 不需要 await 的问题
验证:
- 直连测试: HTTP/1.1 200 OK (ifconfig.me)
- 端口监听: 10800 正常工作
|
2026-07-16 19:00:53 +08:00 |
|
Your Name
|
558bd8153f
|
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 项功能测试全部通过
|
2026-07-16 17:31:53 +08:00 |
|
Your Name
|
aa8af6c2e0
|
feat: SOCKS5 代理管理系统 v1.0
Flask + SQLite + Bootstrap5 暗色主题
- 仪表盘: 在线/离线统计 + 最近代理 + 操作日志
- 代理 CRUD: 增删改 + 启用/禁用 + 单/批量健康检测(SOCKS5)
- 分组管理: 创建/删除/筛选
- 操作日志: 分页查询
- RESTful API + Web 界面
- 管理员登录认证 (SM_ADMIN_PASSWORD 环境变量)
|
2026-07-16 16:40:20 +08:00 |
|