📊 Dashboard Overview
Real-time snapshot of all iStockPro deployments
Total Clients
—
Loading...
Online Now
—
Live sessions
Blocked
—
Suspended access
Trial Mode
—
Loading...
Active Today
—
Unique heartbeats
🏢 Recent Client Activity
| Company | Status | Last Ping | Location | Actions | |
|---|---|---|---|---|---|
| Loading... | |||||
📈 Sessions — 7 Days
Mon
Tue
Wed
Thu
Fri
Sat
Sun
⚡ Live Events
Loading live feed...
🏢 All Clients
Manage activations, licenses and client information
| Company | City | Contact | RC / NIC | Hardware ID | Status | License | Expiry | Last Seen | Actions | |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading... | ||||||||||
🟢 Online Sessions
Clients currently running iStockPro
Online Now
—
Live sessions
Heartbeats Today
—
Pings received
⚡ Active Sessions
| Company | Login User | IP Address | Location | Machine | OS | Connected | Duration | Actions | |
|---|---|---|---|---|---|---|---|---|---|
| Loading... | |||||||||
🚫 Blocked Clients
Suspended licenses — software shows error and closes
| Company | Hardware ID | City | Blocked Since | Reason | By | Actions |
|---|---|---|---|---|---|---|
| Loading... | ||||||
⏱️ Trial & Expiring Licenses
Extend trial periods or convert to full license
| Company | City | Type | Days Left | Expires | Actions |
|---|---|---|---|---|---|
| Loading... | |||||
📋 Activity Log
Full audit trail of all admin actions and client events
| Time | Event | Client | Hardware ID | Change | Admin | Notes |
|---|---|---|---|---|---|---|
| Loading... | ||||||
🔑 License Key Generator
Generate and assign activation keys to clients
Generate New Key
Generated Key
🔑
Enter Hardware ID and click Generate
Recent Keys (this session)
No keys generated yet
📖 Integration Guide
Step-by-step: connect iStockPro to this panel
1
Upload Server Files to Your Web Hosting
Take the
server/ folder and upload all 5 PHP files to your web hosting (cPanel, VPS, or any PHP host with MySQL). Put them in a folder like /public_html/istock-license/Your web server folder structure:
/public_html/istock-license/
├── config.php ← edit this first
├── validate.php
├── heartbeat.php
├── logout.php
└── admin.php ← dashboard talks to this
2
Create the MySQL Database
In cPanel → phpMyAdmin (or MySQL Workbench), create a database called
istockpro_licenses, then run the SQL file:cPanel → phpMyAdmin → Import → choose file:
database/LICENSE_SERVER_MySQL.sql
OR run from MySQL command line:
mysql -u root -p < LICENSE_SERVER_MySQL.sql
Then get your API key:
SELECT api_key FROM admin_users WHERE username = 'admin';
3
Edit config.php with Your Database Details
Open
server/config.php and fill in your MySQL credentials:define('DB_HOST', 'localhost');
define('DB_NAME', 'istockpro_licenses');
define('DB_USER', 'your_mysql_username');
define('DB_PASS', 'your_mysql_password');
define('ADMIN_API_KEY', 'paste_key_from_step_2');
4
Set Dashboard API URL in index.html
Open this
index.html file, scroll to the bottom JS section, and change API_BASE:Line ~10 of the script section in index.html:
const API_BASE = 'https://your-domain.com/istock-license';
const API_KEY = 'paste_your_api_key_here';
5
Add LicenseManager.vb to Your iStockPro Project
In Visual Studio: right-click your iStockPro project → Add → Existing Item → choose
project/LicenseManager.vb. Then install NuGet packages:Tools → NuGet Package Manager → Package Manager Console:
Install-Package Newtonsoft.Json
Install-Package System.Management
6
Set Your Server URL in LicenseManager.vb
Open
LicenseManager.vb and change line 27:Private Const SERVER_URL As String = "https://your-domain.com/istock-license"
7
Add 2 Lines to frmMain.vb
This is the only code you write in your existing iStockPro project. Just 2 lines:
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' ... your existing startup code stays unchanged ...
LicenseManager.Initialize() ' ← ADD THIS ONE LINE HERE
End Sub
Private Sub frmMain_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
LicenseManager.Shutdown() ' ← ADD THIS ONE LINE HERE
End Sub
8
Test & Register Your First Client
Build and run iStockPro. It will show an error (not registered yet). Note the Hardware ID shown in the error popup. Then in this panel → All Clients → Register Client — paste that Hardware ID, fill in the company info, generate a key. Go back to iStockPro, enter the key in the Activation screen. Done!
Flow summary:
1. iStockPro starts → reads HardwareID from CPU+motherboard
2. Sends HardwareID + ActivationKey to your server
3. Server checks MySQL → returns ok/blocked/expired
4. If ok → starts 5-minute heartbeat timer
5. Each heartbeat → sends company info, IP, machine, user
6. This panel shows live data from MySQL
7. When you block someone → next heartbeat closes their software