Initial commit: OpenVPN Manager v1.0

OpenVPN Web management console with multi-instance support, client cert
issuance, traffic/connection auditing, certificate expiry reminders,
auto backup/restore.

Stack:
- Backend: Go 1.21+ (Gin + JWT)
- Frontend: Vue 3 + Element Plus + ECharts + Vite
- Storage: JSON file (db.json) + filesystem (pki/, instances/, clients/, backups/)

Features:
- Multi-instance OpenVPN management (independent port/proto/subnet/PKI)
- One-click client certificate issuance with .ovpn (embedded certs)
- Certificate expiry reminders (30-day threshold)
- Connection log parsing (status-version 3)
- Auto backup/restore (tar.gz)
- Audit log for all write operations
- JWT auth (12h TTL)
- One-line install.sh for Ubuntu/Debian/RHEL/Fedora
This commit is contained in:
cnbugs
2026-08-09 20:32:37 +08:00
commit 77f8b59290
34 changed files with 6063 additions and 0 deletions
+23
View File
@@ -0,0 +1,23 @@
[Unit]
Description=OpenVPN Manager Web Service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=root
Environment=OVPNMGR_HOST=0.0.0.0
Environment=OVPNMGR_PORT=8089
Environment=OVPNMGR_ADMIN_USER=admin
# 修改为你自己的初始密码(首次登录后请立刻在系统中修改)
Environment=OVPNMGR_ADMIN_PASS=admin123
# JWT 签名密钥,生产环境务必改成随机字符串
Environment=OVPNMGR_JWT_SECRET=change-me-in-prod-please
WorkingDirectory=/opt/openvpn-manager
ExecStart=/opt/openvpn-manager/bin/openvpn-manager --data /opt/openvpn-manager/data --dist /opt/openvpn-manager/dist
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target