Remove the newly added quick actions strip from the shared Proxmox layout because it duplicated existing navigation and added visual noise. Keep the original tab navigation as the single, clear navigation surface. Made-with: Cursor
Virtnet.bond
Enterprise-Grade Billing & Service Automation Platform for Hosting Providers 🚀
Website • Documentation • Community • Issues
📖 Introduction
Virtnet.bond is a powerful, self-hosted billing and service automation platform built specifically for hosting providers. It provides a centralized solution for managing product catalogs, automating server provisioning, processing payments, and delivering exceptional customer experiences.
Built on Laravel, Livewire, and Filament, Virtnet.bond offers a modern, reactive single-page application experience with a comprehensive admin panel and customer portal.
✨ Features
🎛️ Admin Panel
- Filament-Powered Dashboard - Modern admin interface with real-time statistics
- Product & Service Management - Create and manage products, pricing, and configurations
- Customer Management - View customer details, services, invoices, and activity
- Ticket System - Handle support tickets with attachments and priority levels
- Announcements - Publish system-wide or targeted announcements
- Knowledge Base - Create documentation and guides for customers
🖥️ Server Integrations
| Server Type | Features |
|---|---|
| Proxmox | VM/LXC management, console access, statistics, firewall, cloud-init, backups |
| Pterodactyl | Game server management, file manager, console, backups |
| Virtualizor | VPS management, OS reinstall, network configuration |
| VirtFusion | Virtual machine provisioning and management |
| cPanel | Web hosting account automation |
| DirectAdmin | Web hosting panel integration |
| Plesk | Web hosting automation |
| Convoy | Container orchestration |
| Enhance | Web hosting platform |
| Froxlor | Server management panel |
🖥️ Proxmox VE Integration
Virtnet.bond includes a comprehensive Proxmox VE extension that provides enterprise-grade virtual machine and container management directly within the client portal. This powerful integration enables hosting providers to offer self-service VPS and cloud computing products.
Overview Dashboard
The Proxmox extension provides customers with a real-time overview of their virtual servers:
- Server Status - Live VM/LXC status (running, stopped, suspended)
- Resource Usage - CPU, memory, disk, and network utilization
- Quick Actions - Start, stop, reboot, and shutdown controls
- Hostname Management - Customizable server hostname
- Server Notes - Add custom notes stored in Proxmox VM description
📊 Statistics & Monitoring
Comprehensive real-time and historical statistics with interactive charts:
- CPU Usage - Percentage utilization over time (hour/day/week/month views)
- Memory Consumption - RAM usage with average and maximum aggregation
- Network Traffic - Inbound/outbound data transfer visualization
- Disk I/O - Read/write operations performance
- Network Analysis - Connection tracking, top ports, and security insights
- Task History - Complete audit log of all VM operations with timing
🔒 Firewall Management
Full firewall control integrated with Proxmox and CoreRouter:
- Enable/Disable Firewall - Per-interface firewall toggling
- Default Policies - Configure inbound/outbound DROP or ACCEPT policies
- Rule Management - Create, edit, delete, and reorder firewall rules
- Protocol Support - TCP, UDP, ICMP, and all IP protocols
- Proxmox Macros - 50+ predefined service macros (HTTP, HTTPS, SSH, RDP, MySQL, etc.)
- Logging Options - Configure rule logging levels (none, alert, critical, error, warning)
- CoreRouter Integration - Advanced routing and firewall synchronization
- Save/Load Configurations - Save firewall configurations and apply them across multiple VPS instances
💾 Firewall Configuration Templates
The firewall module includes a powerful configuration save/load system:
- Save Current Configuration - Capture all firewall rules and policies as a named template
- Configuration Library - Store unlimited configurations per user account
- Quick Apply - One-click application of saved configurations to any VPS
- Cross-VPS Compatibility - Intelligent compatibility checking when applying configurations
- Auto-Disable Incompatible Rules - Rules targeting non-existent interfaces or IPs are automatically disabled
- Configuration Preview - View saved configuration details including rules count and policies
- Delete Configurations - Remove outdated configurations from your library
🌐 Network Configuration
Complete network interface management:
- Interface Types - VirtIO, Intel E1000/E1000e, Realtek RTL8139, VMware vmxnet3, AMD PCnet
- Multi-queue Support - Configure network adapter queues for performance
- Link State Control - Enable/disable network interfaces
- MTU Configuration - Custom Maximum Transmission Unit settings
- Guest Agent Networks - View IP addresses assigned via QEMU guest agent
💾 Storage Management
Comprehensive disk and storage operations:
- Drive Management - View, add, resize, and remove virtual disks
- Bus Types - IDE, SATA, SCSI, and VirtIO block devices
- SCSI Controllers - LSI, MegaRAID SAS, VirtIO SCSI, VMware PVSCSI
- Cache Modes - No cache, directsync, writethrough, writeback, unsafe
- Async I/O - io_uring, native, and threads options
- SSD Emulation - Enable SSD emulation for solid-state performance
- Discard/TRIM - Enable discard for thin-provisioned storage
- I/O Threads - Dedicated I/O threads for improved performance
- Unused Disks - Manage detached/unused drives
🔄 Boot Order Configuration
Control VM boot sequence and media:
- Boot Device Order - Drag-and-drop reordering of boot devices
- Multiple CD/DVD Drives - Support for multiple optical drives
- ISO Management - Mount/unmount ISO images from storage
- Available Devices - Add/remove boot devices from sequence
🖼️ Display Settings
Graphics adapter configuration:
- Display Types - Standard VGA, VirtIO-GPU, VMware compatible, Cirrus, Serial console
- Video Memory - Configurable display memory (VirtIO-GPU)
- USB Tablet - Toggle tablet device for pointer synchronization
☁️ Cloud-Init Support
Automated VM configuration via cloud-init:
- User Configuration - Set default user and password
- SSH Keys - Manage authorized SSH public keys
- DNS Settings - Configure DNS domain and nameservers
- Network Configuration - Static IP, gateway, and IPv6 settings per interface
- OS Type Selection - Linux (modern/legacy), Windows variants, Solaris, and generic
- Package Upgrades - Enable automatic package upgrades on boot
📦 Backup Management
Integrated backup and restore functionality:
- Backup List - View all available VM backups with timestamps
- Restore Operations - One-click backup restoration with confirmation
- Backup Deletion - Remove old backups to free storage space
- Configurable Limits - Per-product backup quantity limits
🔧 OS Reinstallation
Self-service operating system reinstallation:
- OS Selection - Choose from available operating system templates
- Location-Based Templates - OS options filtered by server location
- Protection Check - Prevents reinstall on protected VMs
- Confirmation Required - Multi-step confirmation to prevent accidents
🌍 Subdomain Management
Dynamic DNS subdomain creation (Technitium DNS integration):
- Auto-Generated Subdomains - Randomly generated memorable subdomains
- Custom Subdomains - User-defined subdomain names
- Multiple Zones - Support for multiple DNS zones
- Record Types - A records for IPv4 addresses
- IP Selection - Bind subdomains to specific server IP addresses
🖥️ Console Access
Multiple console options for server access:
- VNC Console - Browser-based graphical console via noVNC
- xterm.js Terminal - Web-based terminal access
- Node Configuration - Per-node VNC enable/disable settings
System Configuration
Advanced VM system settings:
- Resource Limits - CPU cores, sockets, memory allocation
- CPU Models - 70+ CPU models (Intel, AMD, generic)
- Resource Pools - Organize VMs into Proxmox resource pools
- IP Address Allocation - IPv4 and IPv6 address management
- Location-Based Provisioning - Node selection by location
Extension Configuration
Flexible product configuration options:
// Available product settings
[
'location_id' => 'Server location for provisioning',
'ipv4' => 'Number of IPv4 addresses',
'ipv6' => 'Number of IPv6 addresses',
'pool' => 'Proxmox resource pool',
'cpu' => 'CPU model (70+ options)',
'cores' => 'Number of CPU cores',
'sockets' => 'Number of CPU sockets',
'memory' => 'RAM allocation (MiB)',
'disk' => 'Storage allocation (GiB)',
'backups' => 'Number of backup slots',
]
Proxmox Extension Structure
extensions/Servers/Proxmox/
├── Proxmox.php # Main extension class
├── TechnitiumDns.php # DNS integration
├── routes.php # Extension routes
├── Admin/ # Admin panel resources
├── Console/ # Artisan commands
├── database/ # Migrations
├── Http/ # Controllers
├── Jobs/ # Queue jobs
├── Livewire/ # Livewire components
│ ├── Overview.php # Dashboard with stats
│ ├── Statistics.php # Detailed analytics
│ ├── Firewall.php # Firewall management
│ ├── Network.php # Network interfaces
│ ├── Storage.php # Disk management
│ ├── BootOrder.php # Boot configuration
│ ├── Display.php # Graphics settings
│ ├── CloudInit.php # Cloud-init config
│ ├── Subdomain.php # DNS subdomains
│ ├── Reinstall.php # OS reinstallation
│ ├── VNC.php # VNC console
│ ├── XTerm.php # Terminal access
│ └── Backups/ # Backup management
├── Models/ # Eloquent models
├── Providers/ # Service providers
├── Services/ # API services
│ └── CoreRouterClient.php # Router integration
└── views/ # Blade templates
💳 Payment Gateways
- Stripe - Credit cards, Apple Pay, Google Pay, and more
- PayPal - PayPal payments and subscriptions
- Extensible architecture for additional gateways
🧩 Extensions & Plugins
| Category | Extensions |
|---|---|
| Communication | Announcements, Knowledge Base, Contact Page, JivoChat, OpenWidget |
| Security | AntiVPN, Authentik SSO, Security Suite, Compliance Tools |
| Analytics | Cloudflare Analytics, UptimeLab |
| Customization | NavbarManager, Custom Pages, Cookie Banner, Force Theme |
| Social | Discord+, Social Base |
| Billing | Credits Plus, Onboarding |
🏗️ Architecture
┌─────────────────────────────────────────────────────────────────┐
│ Virtnet.bond │
├─────────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ │
│ │ Themes │ │ Extensions │ │ Core Platform │ │
│ │ (LucentUI) │ │ (Modular) │ │ (Laravel + Livewire) │ │
│ └─────────────┘ └─────────────┘ └─────────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Filament Admin Panel │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────────┐│ │
│ │ │Products │ │Services │ │ Tickets │ │ Configuration ││ │
│ │ └─────────┘ └─────────┘ └─────────┘ └─────────────────┘│ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────────┐ │
│ │ Servers │ │ Gateways │ │ Others │ │
│ │ ┌─────────┐ │ │ ┌─────────┐ │ │ ┌─────────────┐ │ │
│ │ │Proxmox │ │ │ │ Stripe │ │ │ │Announcements│ │ │
│ │ │Pterodac.│ │ │ │ PayPal │ │ │ │KnowledgeBase│ │ │
│ │ │Virtuali.│ │ │ └─────────┘ │ │ │ Security │ │ │
│ │ │VirtFusi.│ │ │ │ │ │ Analytics │ │ │
│ │ │ cPanel │ │ │ │ │ └─────────────┘ │ │
│ │ └─────────┘ │ │ │ │ │ │
│ └───────────────┘ └───────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
🚀 Quick Start
Prerequisites
Before installing Virtnet.bond, ensure you have:
- PHP ^8.2 or ^8.3
- MySQL/MariaDB 8.0+
- Redis (recommended for caching/queues)
- Node.js 18+ and npm
- Composer 2.x
Required PHP Extensions
bcmath, curl, exif, gd, gmp, intl, json, mbstring, pcntl, pdo, pdo_mysql, redis, sockets, xml, zip
Installation
- Clone the repository
git clone https://github.com/VirtnetBond/Virtnet.bond.git
cd Virtnet.bond
- Install PHP dependencies
composer install --no-dev --optimize-autoloader
- Install Node.js dependencies and build assets
npm install
npm run build
- Configure environment
cp .env.example .env
php artisan key:generate
- Configure your
.envfile
APP_URL=https://your-domain.com
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_DATABASE=virtnetbond
DB_USERNAME=your_username
DB_PASSWORD=your_password
- Run migrations and seed database
php artisan migrate --seed
- Create storage link
php artisan storage:link
- Set up queue worker (recommended)
php artisan queue:work
Docker Installation
docker-compose up -d
📂 Project Structure
Virtnet.bond/
├── app/
│ ├── Admin/ # Filament admin resources
│ │ ├── Resources/ # CRUD resources
│ │ ├── Pages/ # Custom admin pages
│ │ └── Widgets/ # Dashboard widgets
│ ├── Livewire/ # Livewire components
│ │ ├── Tickets/ # Ticket management
│ │ ├── Services/ # Service management
│ │ └── Products/ # Product browsing
│ ├── Models/ # Eloquent models
│ └── Helpers/ # Utility classes
├── extensions/
│ ├── Gateways/ # Payment gateway integrations
│ │ ├── PayPal/
│ │ └── Stripe/
│ ├── Servers/ # Server provisioning integrations
│ │ ├── Proxmox/
│ │ ├── Pterodactyl/
│ │ └── ...
│ └── Others/ # Additional extensions
│ ├── Announcements/
│ ├── KnowledgeBase/
│ └── ...
├── themes/
│ └── lucentui/ # Default theme
│ ├── css/
│ ├── views/
│ └── vite.config.js
├── resources/
│ └── views/ # Core Blade templates
├── routes/
│ ├── web.php # Web routes
│ └── api.php # API routes
└── config/ # Configuration files
🎨 Theming
Virtnet.bond uses a powerful theming system powered by LucentUI. Themes support:
- CSS Custom Properties - Theme tokens for consistent styling
- Dark/Light Mode - Automatic theme switching
- Tailwind CSS - Utility-first styling
- Remix Icons - Comprehensive icon library
Creating a Custom Theme
# Create a new theme
cp -r themes/lucentui themes/mytheme
# Update theme.php with your theme details
# Customize CSS and Blade templates
# Build assets
node vite.js mytheme
🔌 Extension Development
Extensions are the heart of Virtnet.bond's modularity. Create your own extensions to add:
- Server integrations
- Payment gateways
- Custom pages and features
- Admin panel additions
Extension Structure
extensions/
└── YourExtension/
├── YourExtension.php # Main extension class
├── Livewire/ # Livewire components
├── views/ # Blade templates
├── routes/ # Custom routes
└── migrations/ # Database migrations
Basic Extension Class
<?php
namespace Paymenter\Extensions\Others\YourExtension;
use App\Helpers\ExtensionHelper;
class YourExtension
{
public function enabled(): bool
{
// Run migrations, register routes, etc.
return true;
}
public function getConfig(): array
{
return [
[
'name' => 'setting_name',
'type' => 'text',
'label' => 'Setting Label',
'description' => 'Description of the setting',
],
];
}
}
🛠️ Development
Running in Development Mode
# Start the development server
php artisan serve
# Watch for asset changes
npm run dev
# Or run both simultaneously
composer dev
Running Tests
php artisan test
Code Style
# Fix code style issues
./vendor/bin/pint
Database Migrations
# Create a new migration
php artisan make:migration create_example_table
# Run migrations
php artisan migrate
# Rollback migrations
php artisan migrate:rollback
📊 API Documentation
Virtnet.bond provides a comprehensive REST API for integration with external systems.
- API Documentation: Available at
/docs/apiwhen enabled - Authentication: Laravel Passport OAuth2
- Rate Limiting: Configurable per-endpoint limits
# Generate API documentation
php artisan scramble:export
🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or spreading the word - we'd love to have you.
How to Contribute
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Contribution Types
- 🐛 Bug Reports - Found an issue? Create a bug report
- ✨ Feature Requests - Have an idea? Submit a feature request
- 📖 Documentation - Help improve our docs
- 🧩 Extensions - Build and share extensions
📜 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
Virtnet.bond is built on the shoulders of giants:
- Laravel - The PHP Framework
- Livewire - Full-stack framework for Laravel
- Filament - Admin panel framework
- Tailwind CSS - Utility-first CSS framework
- Alpine.js - Lightweight JavaScript framework
- Paymenter - Original billing platform inspiration
Built with ❤️ by the Virtnet.bond team