devolarax / raxos-shield
Domain-based licensing shield for Laravel applications. Authenticates against the Raxos Master Hub automatically by the deployment's domain — no license key file required.
Requires
- php: ^8.1
- illuminate/cache: ^10.0|^11.0|^12.0|^13.0
- illuminate/console: ^10.0|^11.0|^12.0|^13.0
- illuminate/http: ^10.0|^11.0|^12.0|^13.0
- illuminate/support: ^10.0|^11.0|^12.0|^13.0
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0|^10.0
- phpunit/phpunit: ^10.0|^11.0
README
Domain-based licensing shield for Laravel applications.
Authenticates each deployment against the Raxos Master Hub automatically by the request's hostname — no license key file is required on the client side. If the domain is registered in the Master Hub and the license is active, the app runs. Otherwise, a locked-out page is shown.
Features
- 🔐 Zero-config domain auth — install, deploy, done. The Master recognises the domain.
- 🔏 HMAC-signed responses — every Master Hub reply is verified to defeat MITM.
- ⚡ 5-minute cache — minimal latency and load on the Master.
- 🚦 Fail-closed — network errors block access (configurable grace period).
- 📦 Auto-discovery — Laravel auto-registers the middleware.
- 🛑 Bypass paths — static assets, health checks, and the Master Hub itself are exempt.
Requirements
- PHP ≥ 8.1
- Laravel 10 / 11 / 12 / 13
Installation
composer require devolarax/raxos-shield
That's it. The package auto-registers itself.
To customise (optional):
php artisan vendor:publish --tag=raxos-shield-config php artisan vendor:publish --tag=raxos-shield-views
Or run the interactive installer:
php artisan raxos:install
How it works
Browser → Your Laravel app → RaxosShield middleware
│
├─ Cache hit (5 min) → ✅ allow
│
└─ Cache miss → POST https://raxos.devolarax.com/sys-api/v1/verify-domain
body: {"domain": "yoursite.com"}
│
├─ valid + HMAC OK → ✅ cache + allow
│
└─ invalid / HMAC fail → 🔒 lock screen
Configuration (after publishing)
config/raxos-shield.php:
return [ // Cache TTL in minutes (default: 5). 'cache_ttl' => 5, // Paths that bypass licensing entirely. 'bypass_paths' => ['health', 'sitemap.xml', 'robots.txt', 'favicon.ico'], ];
Customising the lock screen
Publish views and edit resources/views/vendor/raxos-shield/errors/license.blade.php.
Support
- Web: https://devolarax.com
- Email: support@devolarax.com
License
Proprietary. See LICENSE.md.