Download the PHP package ados-labs/enterprise-admin-panel without Composer

On this page you can find all versions of the php package ados-labs/enterprise-admin-panel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package enterprise-admin-panel

Enterprise Admin Panel

Author: Nicola Cucurachi Enterprise Lightning Framework - Package 0

Admin panel with cryptographic dynamic URLs. No predictable /admin endpoints.


What This Does

Traditional admin panels use /admin. Attackers know this. They scan for it. They brute-force it.

This panel generates URLs like:


Features Overview

Feature Description
Cryptographic URLs 128-bit entropy, impossible to guess
Two-Factor Auth Email, Telegram, Discord, Slack, TOTP
Session Management Database-backed, 256-bit session IDs
CSRF Protection Per-session tokens, constant-time comparison
Database Pool Connection pooling with circuit breaker
Audit Logging All actions logged with IP, user agent
Emergency Access Recovery tokens for lockout scenarios
Multi-Channel Notifications URL rotation alerts, security alerts

Requirements


Installation

Step 1: Create Project

Step 2: Create composer.json

Step 3: Install Dependencies

Step 4: Start Database Services

Option A: Use the included docker-compose.yml

Option B: Use existing database

Skip docker-compose and configure your existing database in Step 5.

Step 5: Create .env File (REQUIRED)

Important: Create this BEFORE running the installer!

Step 6: Run Installer

IMPORTANT: Save the output! You will see:

Step 7: Start Web Server

Step 8: Access Admin Panel

Open the URL shown in Step 6 (NOT /admin!)


Two-Factor Authentication (2FA)

Supported Methods

Method Configuration Description
Email Default OTP sent via SMTP
TOTP User setup Google Authenticator, Authy, etc.
Telegram Bot token required OTP sent via Telegram bot
Discord Webhook required OTP sent via Discord webhook
Slack Webhook required OTP sent via Slack webhook

Email 2FA (Default)

Email 2FA works out of the box with Mailpit (development) or any SMTP server.

Development: View codes at http://localhost:8025 (Mailpit)

TOTP Setup

Users can enable TOTP from their profile:

  1. Click "Enable Authenticator App"
  2. Scan QR code with Google Authenticator/Authy
  3. Enter verification code to confirm
  4. Save 8 recovery codes (XXXX-XXXX format)

Telegram 2FA

  1. Create a Telegram bot via @BotFather
  2. Get the bot token
  3. User sends /start to your bot
  4. Get user's chat ID from the message

Discord 2FA

  1. Create a Discord webhook in your server settings
  2. Add webhook URL to .env
  3. Configure user's Discord ID

Slack 2FA

  1. Create Slack Incoming Webhook in your workspace
  2. Add webhook URL to .env
  3. Configure user's Slack ID

Enable Notification Channels in Database

Enable channels via admin config:

Recovery Codes

When TOTP is enabled, 8 recovery codes are generated:


Session Management

Features

Session Lifecycle

  1. Login → 60-minute session created
  2. Activity within last 5 minutes before expiry → Extended by 60 minutes
  3. No activity → Session expires
  4. Explicit logout → Session destroyed

Configuration

API


CLI Commands

All commands are in vendor/ados-labs/enterprise-admin-panel/elf/.

All commands require triple authentication:

Available Commands

Command Description
install.php First-time installation
url-get.php Retrieve current admin URL
url-rotate.php Rotate admin URL (security)
password-change.php Change admin password
token-master-regenerate.php Regenerate master CLI token
token-emergency-create.php Create emergency access token
token-emergency-use.php Use emergency token for access
cache-clear.php Clear application cache
opcache-setup.php Setup OPcache configuration

Get Admin URL

Change Password

Password Requirements:

Rotate Admin URL

Effects:

Create Emergency Access Token

Security:

Use Emergency Token

Or via browser:


Notification System

Channels

Channel Configuration Use Cases
Email SMTP settings 2FA codes, URL rotation, alerts
Telegram Bot token 2FA codes, security alerts
Discord Webhook URL 2FA codes, team notifications
Slack Webhook URL 2FA codes, team notifications

Notification Types

API


Security Features

URL Security

Feature Traditional This Panel
URL Pattern /admin /x-{random 32 hex}
Entropy 0 bits 128 bits
Brute Force Easy 2^128 combinations

CSRF Protection

Audit Logging

All actions are logged:

Logged events:

Database Pool


Dashboard Features

The admin dashboard includes real-time metrics:


Project Structure

After installation:


Services

Service URL Purpose
PostgreSQL localhost:5432 Database
Redis localhost:6379 Circuit breaker
Mailpit http://localhost:8025 View 2FA emails
Admin Panel (secret URL) Your admin panel

Documentation

See the docs/ folder:


Development Setup (Package Maintainers)

If you're developing the package itself (not using it as a dependency), follow these steps:

Prerequisites

Your test project must have both packages installed:

Get Admin URL (Development)

IMPORTANT: Run the command from your test project directory, not from the package directory!

Why? The CLI scripts need access to both enterprise-admin-panel AND enterprise-psr3-logger classes. Your test project's vendor/autoload.php has both, while the package's own vendor/ only has its direct dependencies.

After Modifying composer.json in the Package

If you change composer.json in enterprise-psr3-logger or enterprise-admin-panel (e.g., removing/adding autoload files), you must reinstall in your test project:

This refreshes the autoloader with the new configuration.


Troubleshooting

"DB_PASSWORD is required"

Create .env with DB_PASSWORD before running the installer.

"404 Not Found" on /admin

Expected. Use the secret URL from installation.

Lost the admin URL?

If using as dependency:

If developing the package:

2FA codes not arriving

Email: Check Mailpit: http://localhost:8025

Telegram:

  1. Verify bot token: curl https://api.telegram.org/bot<TOKEN>/getMe
  2. Verify chat ID: User must have sent /start to your bot

Discord/Slack: Test webhook manually with curl

"Class not found" errors in CLI commands

Error: Class "AdosLabs\AdminPanel\Bootstrap" not found or Class "AdosLabs\EnterprisePSR3Logger\LoggerFacade" not found

Cause: You're running the command from the wrong directory. The package's own vendor/ doesn't include all required dependencies.

Solution: Run from your test project directory:

"Failed to open stream: should_log_stub.php"

Error: require(...should_log_stub.php): Failed to open stream: No such file or directory

Cause: The composer.lock file has stale autoload configuration after the package was updated.

Solution: Reinstall dependencies:

Connection refused

Make sure Docker services are running:


License

MIT License - see LICENSE


All versions of enterprise-admin-panel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
psr/log Version ^3.0
ext-json Version *
ext-pdo Version *
ext-mbstring Version *
ext-openssl Version *
psr/http-message Version ^2.0
psr/http-server-handler Version ^1.0
psr/http-server-middleware Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ados-labs/enterprise-admin-panel contains the following files

Loading the files please wait ...