0d0761cb310c9cf65eaf185e2bf7a7d4b7dc0ea0
OpenVPN Monitor & Profiler
A modern, full-stack management solution for OpenVPN servers. It combines real-time traffic monitoring, historical analytics, and comprehensive user profile/PKI management into a unified web interface.
<EFBFBD>️ Project Architecture
The project is modularized into three core components:
| Component | Directory | Description |
|---|---|---|
| Core Monitoring | APP_CORE/ |
Flask-based API (v3) for log parsing, real-time stats, and historical TSDB. |
| Profiler | APP_PROFILER/ |
FastAPI-based module for managing PKI, Certificates, and Server Configs. |
| User Interface | APP_UI/ |
Vue 3 + Vite Single Page Application (SPA) serving as the unified dashboard. |
📚 Documentation
Detailed documentation has been moved to the DOCS/ directory.
- Installation & Deployment: Setup guide for Linux (Alpine/Debian).
- Service Management: Configuring Systemd/OpenRC services.
- Security & Auth: 2FA, JWT, and Security details.
API References
- Core Monitoring API: Endpoints for stats, sessions, and history.
- Profiler Management API: Endpoints for profiles, system config, and control.
🚀 Quick Start (Dev Mode)
1. Core API (Flask)
cd APP_CORE
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 openvpn_api_v3.py
# Runs on :5001 (Monitoring)
2. Profiler API (FastAPI)
cd APP_PROFILER
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python3 main.py
# Runs on :8000 (Management)
3. Frontend (Vue 3)
cd APP_UI
npm install
npm run dev
# Runs on localhost:5173
⚠️ Important Notes
- Environment: Production deployment relies on Nginx to proxy requests to the backend services. See the Deployment Guide.
- Permissions: The backend requires
sudoor root privileges to manage OpenVPN processes and write to/etc/openvpn.
Description
Languages
Python
44.6%
Vue
37.5%
CSS
13.4%
JavaScript
2.5%
Jinja
0.9%
Other
1.1%