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:
```php
// 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
1. **Clone the repository**
```bash
git clone https://github.com/VirtnetBond/Virtnet.bond.git
cd Virtnet.bond
```
2. **Install PHP dependencies**
```bash
composer install --no-dev --optimize-autoloader
```
3. **Install Node.js dependencies and build assets**
```bash
npm install
npm run build
```
4. **Configure environment**
```bash
cp .env.example .env
php artisan key:generate
```
5. **Configure your `.env` file**
```env
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
```
6. **Run migrations and seed database**
```bash
php artisan migrate --seed
```
7. **Create storage link**
```bash
php artisan storage:link
```
8. **Set up queue worker** (recommended)
```bash
php artisan queue:work
```
### Docker Installation
```bash
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
```bash
# 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
```php
extensions/
βββ YourExtension/
βββ YourExtension.php # Main extension class
βββ Livewire/ # Livewire components
βββ views/ # Blade templates
βββ routes/ # Custom routes
βββ migrations/ # Database migrations
```
### Basic Extension Class
```php
'setting_name',
'type' => 'text',
'label' => 'Setting Label',
'description' => 'Description of the setting',
],
];
}
}
```
## π οΈ Development
### Running in Development Mode
```bash
# Start the development server
php artisan serve
# Watch for asset changes
npm run dev
# Or run both simultaneously
composer dev
```
### Running Tests
```bash
php artisan test
```
### Code Style
```bash
# Fix code style issues
./vendor/bin/pint
```
### Database Migrations
```bash
# 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/api` when enabled
- **Authentication**: Laravel Passport OAuth2
- **Rate Limiting**: Configurable per-endpoint limits
```bash
# 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
1. **Fork the repository**
2. **Create a feature branch** (`git checkout -b feature/amazing-feature`)
3. **Commit your changes** (`git commit -m 'Add amazing feature'`)
4. **Push to the branch** (`git push origin feature/amazing-feature`)
5. **Open a Pull Request**
### Contribution Types
- π **Bug Reports** - Found an issue? [Create a bug report](https://github.com/VirtnetBond/Virtnet.bond/issues/new?template=bug_report.md)
- β¨ **Feature Requests** - Have an idea? [Submit a feature request](https://github.com/VirtnetBond/Virtnet.bond/issues/new?template=feature_request.md)
- π **Documentation** - Help improve our docs
- π§© **Extensions** - Build and share extensions
## π License
This project is licensed under the **MIT License** - see the [LICENSE](LICENSE) file for details.
## π Acknowledgments
Virtnet.bond is built on the shoulders of giants:
- [Laravel](https://laravel.com) - The PHP Framework
- [Livewire](https://livewire.laravel.com) - Full-stack framework for Laravel
- [Filament](https://filamentphp.com) - Admin panel framework
- [Tailwind CSS](https://tailwindcss.com) - Utility-first CSS framework
- [Alpine.js](https://alpinejs.dev) - Lightweight JavaScript framework
- [Paymenter](https://paymenter.org) - Original billing platform inspiration
---
Built with β€οΈ by the Virtnet.bond team
Website β’
Docs β’
Discord β’
Twitter