feat: frps-manager v1.0 - frp 0.70.1 multi-tenant web management system

- Multi-tenant client/proxy management with Flask+SQLite
- Frps server control (start/restart/token rotation)
- Generate frpc.ini with shared server token + admin API
- Dashboard API integration (live client/proxy status)
- RBAC: admin/tenant_admin/user roles
- Audit logging for all operations
- Systemd service files included
- Requires legacy INI format (frp 0.70 TOML auth broken)
This commit is contained in:
Your Name
2026-08-10 14:17:49 +08:00
commit 71214524f4
27 changed files with 2847 additions and 0 deletions
+12
View File
@@ -0,0 +1,12 @@
import os
os.makedirs(os.path.join(os.path.dirname(__file__), "instance"), exist_ok=True)
from app import app, db, seed_admin
# Initialize DB - safe for multi-worker gunicorn
with app.app_context():
try:
db.create_all()
seed_admin()
except Exception as e:
print(f"[wsgi] DB init: {e} (likely race condition with another worker, safe to ignore)")