You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bluecherry is a modular, open-source video surveillance and management system. It includes a C++ server backend for video processing and streaming, a PHP web frontend for configuration and monitoring, and a set of tools for device management, event handling, and user access control.
4
+
5
+
Licensing and feature restrictions are enforced using Cryptlex, a commercial licensing and activation system. Cryptlex is integrated into both the backend (C++ daemons) and the web UI to validate license keys, enforce feature restrictions, and manage trial/activation states. Licensing checks occur at startup, during feature access, and when users attempt to activate or update their license. The system supports online activation, trial periods, and periodic license validation with the Cryptlex cloud service. License status and metadata are stored in the database (Licenses table) and referenced throughout the codebase for access control.
6
+
7
+
**Integration Points:**
8
+
- C++ backend: Integrates Cryptlex SDK in files such as `server/v3license_server.cpp`, `server/v3license_processor.cpp`, and related headers. Handles license activation, validation, and feature gating.
9
+
- PHP web UI: License management and activation handled in `www/ajax/licenses.php`, `www/template/licenses.php`, and related AJAX endpoints. UI for entering license keys, viewing status, and triggering activation.
10
+
- Database: License data stored in the `Licenses` table (see `misc/sql/schema_mysql.sql`).
11
+
- API calls: Backend communicates with Cryptlex cloud via HTTPS for activation, validation, and status checks. Example API endpoints include `/api/licenses.php` (PHP) and internal C++ calls to Cryptlex SDK.
12
+
- Licensing logic: Enforced in both backend (C++ feature checks, daemon startup) and frontend (PHP access checks, UI restrictions).
13
+
- Trial and activation: Trial status, activation, and periodic re-validation are managed by both the backend and web UI, with status reflected in the database and UI.
14
+
major_components:
15
+
- Bluecherry Server (C++): Handles video ingest, RTSP/HLS streaming, event processing, API, and Cryptlex license enforcement (see `server/v3license_server.cpp`, `server/v3license_processor.cpp`).
16
+
- www Frontend (PHP): Web UI for configuration, monitoring, user management, and license activation/validation (see `www/ajax/licenses.php`, `www/template/licenses.php`).
17
+
- RTSP/HLS Streaming: Real-time and historical video delivery.
18
+
- Licensing & User Restrictions: Enforces access and feature controls using Cryptlex (see `Licenses` table, `misc/sql/schema_mysql.sql`).
19
+
primary_languages:
20
+
- C++
21
+
- PHP
22
+
- JavaScript (Chart.js, AJAX)
23
+
- SQL (MySQL, SQLite)
24
+
- Bash (scripts)
25
+
language_guidance:
26
+
- Use C++ for performance-critical backend and streaming logic, including Cryptlex SDK integration (see `server/v3license_server.cpp`).
27
+
- Use PHP for web UI, AJAX endpoints, business logic, and license management UI (see `www/ajax/licenses.php`).
28
+
- Use SQL for relational data and event storage, including license metadata (see `Licenses` table).
29
+
- Use JavaScript for dynamic frontend features and charting.
0 commit comments