Skip to content

A complete and easy-to-install OpenConnect VPN (ocserv) server with a modern web-based dashboard for managing users, groups, and server settings. Includes user statistics, usage monitoring, and automated account expiration management.

License

Notifications You must be signed in to change notification settings

mmtaee/ocserv-dashboard

Repository files navigation

OpenConnect VPN Server (Ocserv) with Dashboard

A simple, efficient, and scalable solution to deploy and manage an OpenConnect VPN server (ocserv) with a powerful web-based dashboard.
Easily manage users, groups, and server configurations while keeping your VPN secure and performant.

Project Logo

GitHub stars GitHub forks GitHub issues GitHub contributors Repo size

Dashboard Home Page Preview
Dashboard UI Preview


🌟 Key Features

1. Ocserv User Management

  • Create, update, remove, block, and disconnect users with ease.
  • Sync the ocpasswd file with the database to keep user credentials consistent.
  • Set traffic usage limits per user (e.g., GB or monthly quotas).
  • Manage account expiration to automatically deactivate users when their subscription ends.

2. Ocserv Group Management

  • Create, update, and delete user groups.
  • Sync the /etc/ocserv/groups/* files with the database to ensure consistent group configurations.
  • Organize users into logical groups for easier management.

3. Ocserv Command-Line Tools

  • Use the occtl CLI utility to perform various server operations efficiently.

4. Ocserv User Statistics & Monitoring

  • View real-time statistics for user traffic (RX/TX).
  • Track data usage per user and per group.

5. Ocserv Live Server Logs

  • Monitor Ocserv logs in real-time directly from the web dashboard.

6. Staffs and Staff Management

  • Manage admin accounts: create, update, delete, and reset passwords.
  • Track staff activities and administrative actions for accountability.
  • Each staff member can create and manage their own Ocserv Users and Groups. Staff members cannot view or modify users/groups created by others;
    only admin users have full access.

7. Customer Account Details & Usage

  • View detailed customer account information.
  • Monitor user-specific usage summaries and traffic data.

8. Internationalization (i18n)

  • Multi-language support:
    • English (en)
    • Russian (ru)
    • Chinese (zh)
    • Arabic (ar)
    • Persian (fa)

⚠️ Legacy Version Note

  • Branch name: legacy
  • Old version: Developed using Python backend with Vue 2 frontend.
  • Features: Minimal, limited functionality compared to the current version β€” only basic user and group management existed.

βš™οΈ System Requirements


πŸš€ Quick Start

  1. Clone the repository:
git clone https://github.com/mmtaee/ocserv-dashboard.git

cd ocserv-dashboard

chmod +x install.sh

./install.sh

then select an option to continue:

Installation Menu


🌐 Access the Admin Dashboard

  1. Open your web browser.
  2. Navigate to https://YOUR-DOMAIN-OR-IP:3443 in the browser.
  3. Complete the administrative setup wizard.
  4. Start managing users, groups, and VPN settings from the dashboard.

🌐 Access the Customers page for quick insights

  1. Open your web browser.
  2. Navigate to https://YOUR-DOMAIN-OR-IP:3443/summary/ in the browser.
  3. Enter your Ocserv username and password to see insights.

πŸ”’ Security & Scalability

  • Designed with best practices for security to ensure a safe and reliable VPN environment.
  • The web panel is intuitive and easy to use for both administrators and end users.
  • Scalable architecture allows efficient management of multiple users and groups.
  • Real-time usage tracking and monitoring built-in.
  • If you encounter any issues, please refer to the documentation or contact support.

🧭 Roadmap / TODO

The planned features and upcoming improvements are tracked in the TODO.md file.

Check it out to see what's coming next!


🌍 Contributing to Translations (i18n)

We welcome community contributions to improve and expand internationalization (i18n) support!

πŸ“ Translation Files Directory

All web dashboard translation files are located at:

web/src/locales/

Each language has its own JSON file (e.g., en.json, zh.json, ru.json, etc.).

πŸ› οΈ How to Contribute

  1. Go to the locales directory.
  2. Choose an existing language file to improve, or create a new <lang>.json file for a new language.
  3. Add all required translation keys with proper JSON structure.
  4. Make sure the JSON syntax is valid.

πŸ”§ Update the Installer (Required for New Languages)

After adding a new <lang>.json file, you must update the install.sh file:

Open πŸ‘‰ install.sh

Find the line that defines supported languages, and add your new language in the same format, comma-separated.

Example (adding Spanish):

LANGUAGES=en:English,zh:δΈ­ζ–‡,ru:Русский,fa:فارسی,ar:Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©,es:EspaΓ±ol

Contributing translations and updating the installer helps ensure the dashboard supports users around the world.


πŸ“¦ License

This project is licensed under the MIT License β€” see the LICENSE file for details.


πŸ“ˆ Star History

Star History Chart

About

A complete and easy-to-install OpenConnect VPN (ocserv) server with a modern web-based dashboard for managing users, groups, and server settings. Includes user statistics, usage monitoring, and automated account expiration management.

Topics

Resources

License

Stars

Watchers

Forks