# 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. ## �️ 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](DOCS/General/Deployment.md)**: Setup guide for Linux (Alpine/Debian). - **[Service Management](DOCS/General/Service_Management.md)**: Configuring Systemd/OpenRC services. - **[Security & Auth](DOCS/General/Security_Architecture.md)**: 2FA, JWT, and Security details. ### API References - **[Core Monitoring API](DOCS/Core_Monitoring/API_Reference.md)**: Endpoints for stats, sessions, and history. - **[Profiler Management API](DOCS/Profiler_Management/API_Reference.md)**: Endpoints for profiles, system config, and control. ## 🚀 Quick Start (Dev Mode) ### 1. Core API (Flask) ```bash 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) ```bash 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) ```bash cd APP_UI npm install npm run dev # Runs on localhost:5173 ``` --- ## ⚠️ Important Notes 1. **Environment**: Production deployment relies on Nginx to proxy requests to the backend services. See the [Deployment Guide](DOCS/General/Deployment.md). 2. **Permissions**: The backend requires `sudo` or root privileges to manage OpenVPN processes and write to `/etc/openvpn`.