|
1 | 1 | <div align="center"> |
2 | | - <img src="https://img.shields.io/badge/VortexPanel-v3.0-6c7fff?style=for-the-badge&logo=lightning&logoColor=white" alt="VortexPanel"> |
3 | | - <img src="https://img.shields.io/badge/Python-3.8+-3776ab?style=for-the-badge&logo=python&logoColor=white"> |
4 | | - <img src="https://img.shields.io/badge/Flask-3.x-000000?style=for-the-badge&logo=flask"> |
5 | | - <img src="https://img.shields.io/badge/Alpine.js-3.14-8bc0d0?style=for-the-badge"> |
6 | | - <img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge"> |
7 | | - |
8 | | - <h1>⚡ VortexPanel</h1> |
9 | | - <p><strong>Open-source server management panel built for developers.</strong><br> |
10 | | - A modern alternative to aaPanel / HestiaCP — built with Python/Flask + Alpine.js.</p> |
| 2 | + |
| 3 | +<img src="https://img.shields.io/badge/VortexPanel-v3.1-6c7fff?style=for-the-badge&logo=lightning&logoColor=white" alt="VortexPanel v3.1"> |
| 4 | +<img src="https://img.shields.io/badge/Python-3.8+-3776ab?style=for-the-badge&logo=python&logoColor=white"> |
| 5 | +<img src="https://img.shields.io/badge/Flask-3.x-000000?style=for-the-badge&logo=flask"> |
| 6 | +<img src="https://img.shields.io/badge/Alpine.js-3.14-8bc0d0?style=for-the-badge"> |
| 7 | +<img src="https://img.shields.io/badge/License-MIT-22c55e?style=for-the-badge"> |
| 8 | +<img src="https://img.shields.io/github/stars/BrowserlessAPI/VortexPanel?style=for-the-badge&color=f59e0b"> |
| 9 | +<img src="https://img.shields.io/github/last-commit/BrowserlessAPI/VortexPanel?style=for-the-badge&color=6c7fff"> |
| 10 | + |
| 11 | +<br><br> |
| 12 | + |
| 13 | +<h1>⚡ VortexPanel</h1> |
| 14 | + |
| 15 | +<p><strong>Free, open-source server control panel.</strong><br> |
| 16 | +Everything aaPanel locks behind a paid Pro tier — WAF, Fail2Ban, Load Balancer, WP Toolkit — built in and free.<br> |
| 17 | +Built with Python/Flask + Alpine.js. No Node.js build step. No bloat. 2-minute install.</p> |
| 18 | + |
| 19 | +<a href="#-quick-install"><img src="https://img.shields.io/badge/Quick_Install-1_command-6c7fff?style=for-the-badge" /></a> |
| 20 | +<a href="https://github.com/BrowserlessAPI/VortexPanel/releases"><img src="https://img.shields.io/badge/Releases-Changelog-22c55e?style=for-the-badge" /></a> |
| 21 | +<a href="https://github.com/BrowserlessAPI/VortexPanel/issues"><img src="https://img.shields.io/badge/Issues-Report_a_bug-ef4444?style=for-the-badge" /></a> |
| 22 | + |
11 | 23 | </div> |
12 | 24 |
|
13 | 25 | --- |
14 | 26 |
|
| 27 | +## 🆚 Why VortexPanel over aaPanel / HestiaCP / cPanel? |
| 28 | + |
| 29 | +| Feature | cPanel | aaPanel Free | aaPanel Pro | HestiaCP | **VortexPanel** | |
| 30 | +|---|---|---|---|---|---| |
| 31 | +| **Price** | $30–$65/mo | Free | Paid add-on | Free | **Free (MIT)** | |
| 32 | +| **ModSecurity WAF** | Paid ext. | ❌ | ✅ paid | Manual | **✅ Built-in** | |
| 33 | +| **Fail2Ban** | Paid ext. | ❌ | ✅ paid | ✅ | **✅ Built-in** | |
| 34 | +| **Load Balancer** | ❌ | ❌ | ✅ paid | ❌ | **✅ Built-in** | |
| 35 | +| **WP Toolkit** | ❌ | ❌ | ❌ | ❌ | **✅ Built-in** | |
| 36 | +| **Firewall (UFW + firewalld)** | ❌ | UFW only | UFW only | UFW only | **✅ Both** | |
| 37 | +| **Cloud Backup (S3)** | Paid | ❌ | ✅ paid | Manual | **✅ Built-in** | |
| 38 | +| **Docker UI** | ❌ | ✅ | ✅ | ❌ | **✅ Built-in** | |
| 39 | +| **RHEL/AlmaLinux/Rocky** | ✅ | Partial | Partial | ❌ | **✅ 9 distros** | |
| 40 | +| **Web Terminal** | ✅ | ✅ | ✅ | ❌ | **✅ Built-in** | |
| 41 | +| **Open source** | ❌ | Partial | ❌ | ✅ | **✅ MIT** | |
| 42 | + |
| 43 | +--- |
| 44 | + |
15 | 45 | ## ✨ Features |
16 | 46 |
|
17 | | -| Category | Features | |
18 | | -|---|---| |
19 | | -| **Web Servers** | Nginx, Apache2, OpenLiteSpeed, Caddy — install, configure, SSL | |
20 | | -| **PHP** | Multi-version (7.4 → 8.4), extensions, php.ini editor, FPM control | |
21 | | -| **Databases** | MySQL, MariaDB, PostgreSQL, MongoDB — create DBs, users, backup | |
22 | | -| **File Manager** | Full-featured: editor, chmod, compress/extract, search, drag-upload | |
23 | | -| **Docker** | Container management, 40+ pre-configured images catalog | |
24 | | -| **CDN** | Cloudflare, BunnyCDN, Akamai, CloudFront, KeyCDN — full API | |
25 | | -| **Security** | Firewall (UFW), Fail2ban, ModSecurity WAF, SSH hardening | |
26 | | -| **Cron Jobs** | Visual scheduler, run-now, logs, 10 task types | |
27 | | -| **Monitoring** | Real-time CPU/RAM/Disk, process list, bandwidth tracking | |
28 | | -| **Backups** | Website + database backups, restore, upload | |
29 | | -| **DNS** | BIND9 zone management, DDNS | |
30 | | -| **Mail** | Postfix + Dovecot, domains, accounts | |
31 | | -| **AI Assistant** | Built-in NeonCodex AI for server help (requires API key) | |
| 47 | +### 🌐 Website Management |
| 48 | +- **Nginx, Apache2, OpenLiteSpeed, Caddy** — install and manage from the same panel |
| 49 | +- **One-click SSL** via Let's Encrypt — auto-detects Cloudflare DNS-01 vs HTTP-01 |
| 50 | +- Reverse proxy, custom directives, PHP version per site, Composer integration |
| 51 | +- One-click WordPress/Laravel/Symfony deploy |
| 52 | + |
| 53 | +### 🔷 WP Toolkit *(new in v3.1)* |
| 54 | +- **Full WordPress install** — downloads WP, creates DB, writes wp-config.php, creates vhost, configures SSL — all in one click |
| 55 | +- **PHP 7.4–8.5**, **Nginx / Apache / OpenLiteSpeed / Caddy**, **MariaDB / MySQL** |
| 56 | +- Plugin & theme management, one-click admin login, bulk updates |
| 57 | +- **Security scanner** — 9 checks with one-click auto-fix buttons |
| 58 | +- **Staging clone** — full site clone with DB, push/pull between staging and live |
| 59 | +- Backup/restore, maintenance mode, system cron, debug mode toggle |
| 60 | +- Powered by wp-cli (auto-installed if missing) |
| 61 | + |
| 62 | +### 🔒 Security *(free — no "Pro" tier)* |
| 63 | +- **Firewall** — UFW (Debian/Ubuntu) **and** firewalld (Fedora/RHEL/AlmaLinux/Rocky/Oracle/CentOS/CloudLinux) from the same UI |
| 64 | +- **Fail2ban** — intrusion prevention, brute-force protection |
| 65 | +- **ModSecurity WAF** — Nginx web application firewall, one-click install + toggle |
| 66 | +- **Security Score** — at-a-glance audit with actionable fix buttons |
| 67 | +- SSH hardening, login-attempt monitoring, open port scanner |
| 68 | + |
| 69 | +### 🗄 Databases |
| 70 | +- MySQL, MariaDB, PostgreSQL, MongoDB — multi-engine |
| 71 | +- phpMyAdmin integration (auto-configured on its own port, separate PHP version) |
| 72 | + |
| 73 | +### 📦 App Store |
| 74 | +- 25+ one-click installs: Nginx, Apache, OpenLiteSpeed, Caddy, PHP (multi-version), MySQL, MariaDB, PostgreSQL, MongoDB, Redis, Docker, Node.js, Python, Composer, Fail2ban, ClamAV, ModSecurity, Roundcube, Supervisor, Pure-FTPd, BIND9 DNS, and more |
| 75 | +- Automatic conflict detection, RHEL-family package manager support |
| 76 | + |
| 77 | +### ⚡ Performance |
| 78 | +- Dashboard stats from `/proc` (not `top -bn1`) — **10× faster** response |
| 79 | +- Response caching for expensive endpoints |
| 80 | +- **Gzip compression** — `app.js` 150KB → ~40KB, `index.html` 350KB → ~70KB |
| 81 | + |
| 82 | +### 🔧 Everything else |
| 83 | +- **Docker** — container management, 45+ pre-configured image catalog |
| 84 | +- **DNS** — BIND9 zone management + Cloudflare DDNS (no ddclient) |
| 85 | +- **Mail** — Postfix + Dovecot, domains, accounts, Roundcube webmail |
| 86 | +- **CDN** — Cloudflare, BunnyCDN, Akamai, CloudFront, KeyCDN |
| 87 | +- **Monitoring** — real-time CPU/RAM/Disk/Network, process list, bandwidth |
| 88 | +- **File Manager** — code editor, chmod, AES-encrypted zip support, ClamAV scan |
| 89 | +- **Web Terminal** — full PTY shell in browser over WebSocket |
| 90 | +- **Backups** — website + database, restore, S3-compatible cloud backup |
| 91 | +- **Cron Jobs** — visual scheduler, 10 task types, run-now, logs |
| 92 | +- **AI Assistant** — configurable OpenAI-compatible API (NeonCodex, OpenAI, etc.) |
32 | 93 |
|
33 | 94 | --- |
34 | 95 |
|
35 | 96 | ## 🚀 Quick Install |
36 | 97 |
|
37 | 98 | ```bash |
38 | | -# One-line install (Ubuntu, Debian, Fedora, AlmaLinux, Rocky, RHEL, Oracle Linux, CentOS) |
39 | | -wget -O install.sh https://raw.githubusercontent.com/BrowserlessAPI/Vortexpanel/main/install.sh && bash install.sh |
| 99 | +wget -O install.sh https://raw.githubusercontent.com/BrowserlessAPI/VortexPanel/main/install.sh && bash install.sh |
40 | 100 | ``` |
41 | 101 |
|
42 | | -Access the panel at: `http://YOUR-SERVER-IP:8888` |
| 102 | +Access the panel at: **`http://YOUR-SERVER-IP:8888`** |
43 | 103 |
|
44 | | -The installer auto-detects your OS and package manager (`apt` or `dnf`), and on |
45 | | -RHEL 8-family systems (AlmaLinux 8 / Rocky 8, where the default Python is 3.6) |
46 | | -it automatically installs and uses Python 3.11 for the panel's virtual environment. |
| 104 | +The installer auto-detects your OS and package manager. On RHEL 8-family systems (AlmaLinux 8 / Rocky 8, where default Python is 3.6) it automatically installs Python 3.11. |
47 | 105 |
|
48 | 106 | --- |
49 | 107 |
|
50 | | -## 📋 Requirements |
| 108 | +## 📋 Supported Operating Systems |
51 | 109 |
|
52 | | -- **OS**: Ubuntu 20.04 / 22.04 / 24.04, Debian 11 / 12, Fedora 38+, AlmaLinux 8 / 9 / 10, Rocky Linux 8 / 9 / 10, RHEL 8 / 9 / 10, Oracle Linux 8 / 9, CentOS Stream, CloudLinux 8 / 9 / 10 |
53 | | -- **RAM**: 512 MB minimum (1 GB recommended) |
54 | | -- **Disk**: 2 GB free |
55 | | -- **Python**: 3.8+ (the installer handles this automatically on older RHEL 8-family systems) |
| 110 | +| Distro | Versions | |
| 111 | +|---|---| |
| 112 | +| **Ubuntu** | 20.04, 22.04, 24.04 | |
| 113 | +| **Debian** | 11, 12 | |
| 114 | +| **AlmaLinux** | 8, 9, 10 | |
| 115 | +| **Rocky Linux** | 8, 9, 10 | |
| 116 | +| **RHEL** | 8, 9, 10 | |
| 117 | +| **Oracle Linux** | 8, 9 | |
| 118 | +| **CentOS Stream** | 8, 9 | |
| 119 | +| **CloudLinux** | 8, 9, 10 | |
| 120 | +| **Fedora** | 38+ | |
| 121 | + |
| 122 | +**Minimum requirements:** 512 MB RAM (1 GB recommended) · 2 GB free disk |
56 | 123 |
|
57 | 124 | --- |
58 | 125 |
|
59 | | -## 🔧 Manual Setup |
| 126 | +## 🛠 Tech Stack |
60 | 127 |
|
61 | | -```bash |
62 | | -git clone https://github.com/BrowserlessAPI/Vortexpanel.git |
63 | | -cd Vortexpanel |
64 | | -pip install -r requirements.txt |
65 | | -python3 app.py |
66 | | -``` |
| 128 | +| Layer | Technology | |
| 129 | +|---|---| |
| 130 | +| **Backend** | Python 3.8+ · Flask 3.x · Gunicorn (4 workers × 4 threads) | |
| 131 | +| **Frontend** | Alpine.js 3.14 · Vanilla CSS (no build step, no npm) | |
| 132 | +| **Auth** | Session-based · SHA-256 hashed passwords | |
| 133 | +| **Panel config** | JSON files (no external database required) | |
| 134 | +| **Service** | systemd · auto-start on boot | |
67 | 135 |
|
68 | 136 | --- |
69 | 137 |
|
70 | | -## 🛠 Stack |
| 138 | +## 🤝 Contributing |
| 139 | + |
| 140 | +Contributions are welcome — bug reports, feature requests, and pull requests all help. |
71 | 141 |
|
72 | | -- **Backend**: Python 3 + Flask |
73 | | -- **Frontend**: Alpine.js 3.14 + Vanilla CSS (no framework) |
74 | | -- **Database**: File-based config (no external DB required for panel itself) |
75 | | -- **Auth**: Session-based with SHA-256 hashed passwords |
| 142 | +**Before you start:** |
| 143 | +1. Check [open issues](https://github.com/BrowserlessAPI/VortexPanel/issues) to avoid duplicates |
| 144 | +2. For new features, open an issue to discuss before coding |
| 145 | +3. Read [CONTRIBUTING.md](CONTRIBUTING.md) for code style and PR process |
| 146 | + |
| 147 | +```bash |
| 148 | +git clone https://github.com/BrowserlessAPI/VortexPanel.git |
| 149 | +cd VortexPanel |
| 150 | +pip install -r requirements.txt |
| 151 | +python3 app.py # runs on :8888 |
| 152 | +``` |
76 | 153 |
|
77 | 154 | --- |
78 | 155 |
|
79 | | -## 🤝 Contributing |
| 156 | +## 🗺 Roadmap |
80 | 157 |
|
81 | | -Pull requests welcome! Please open an issue first to discuss changes. |
| 158 | +- [ ] Per-site website analytics (traffic, top URIs, status codes, bot detection) |
| 159 | +- [ ] Alerting — CPU/RAM/SSL-expiry push to Telegram/Discord/email/webhook |
| 160 | +- [ ] Disk usage analyzer (visual tree, delete from panel) |
| 161 | +- [ ] Multi-user / RBAC |
| 162 | +- [ ] PHP webshell scanner (pattern-based, integrates with File Manager) |
| 163 | +- [ ] LB node health monitoring + TCP/stream load balancing |
82 | 164 |
|
83 | 165 | --- |
84 | 166 |
|
85 | 167 | ## 📄 License |
86 | 168 |
|
87 | | -MIT License — free to use, modify, and distribute. |
| 169 | +MIT License — free to use, modify, and distribute, including commercially. |
88 | 170 |
|
89 | 171 | --- |
90 | 172 |
|
91 | 173 | <div align="center"> |
92 | | - Made with ⚡ by <a href="https://github.com/BrowserlessAPI">BrowserlessAPI</a> |
| 174 | + Made with ⚡ by <a href="https://github.com/BrowserlessAPI">BrowserlessAPI</a> · <a href="https://github.com/BrowserlessAPI/VortexPanel/releases">Releases</a> · <a href="https://github.com/BrowserlessAPI/VortexPanel/issues">Issues</a> · <a href="CONTRIBUTING.md">Contributing</a> |
93 | 175 | </div> |
0 commit comments