PHPackages                             filaforge/filament-terminal-console - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. filaforge/filament-terminal-console

ActiveLibrary[CLI &amp; Console](/categories/cli)

filaforge/filament-terminal-console
===================================

A powerful Filament panel plugin that provides a browser-based terminal console with command presets, security allowlists, and real-time execution capabilities.

v1.0.0(8mo ago)06MITPHPPHP ^8.1CI failing

Since Aug 19Pushed 8mo agoCompare

[ Source](https://github.com/filaforge/filament-terminal-console)[ Packagist](https://packagist.org/packages/filaforge/filament-terminal-console)[ Docs](https://github.com/filaforge/terminal-console)[ RSS](/packages/filaforge-filament-terminal-console/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (12)Versions (5)Used By (0)

Filaforge Terminal Console
==========================

[](#filaforge-terminal-console)

A powerful Filament plugin that provides a web-based terminal console directly in your admin panel for command execution and system management.

Features
--------

[](#features)

- **Web-based Terminal**: Full terminal experience in your browser
- **Command Execution**: Run system commands and scripts
- **File Management**: Navigate and manage files through terminal commands
- **Process Control**: Monitor and manage system processes
- **Real-time Output**: Live command execution and response display
- **Command History**: Track and reuse executed commands
- **Session Management**: Persistent terminal sessions
- **Multi-user Support**: Separate terminal sessions for each user
- **Security Controls**: Role-based access and command restrictions
- **Audit Logging**: Track all terminal activities for security

Installation
------------

[](#installation)

### 1. Install via Composer

[](#1-install-via-composer)

```
composer require filaforge/terminal-console
```

### 2. Publish &amp; Migrate

[](#2-publish--migrate)

```
# Publish provider groups (config, views, migrations)
php artisan vendor:publish --provider="Filaforge\\TerminalConsole\\Providers\\TerminalConsoleServiceProvider"

# Run migrations
php artisan migrate
```

### 3. Register Plugin

[](#3-register-plugin)

Add the plugin to your Filament panel provider:

```
use Filament\Panel;

public function panel(Panel $panel): Panel
{
    return $panel
        // ... other configuration
        ->plugin(\Filaforge\TerminalConsole\TerminalConsolePlugin::make());
}
```

Setup
-----

[](#setup)

### Prerequisites

[](#prerequisites)

Before using this plugin, ensure your system meets these requirements:

- **Linux/Unix System**: Compatible operating system for terminal operations
- **System Permissions**: Appropriate permissions for command execution
- **Sudo Access**: Sudo access for administrative operations
- **Required Tools**: Essential system utilities installed

### Configuration

[](#configuration)

The plugin will automatically:

- Publish configuration files to `config/terminal-console.php`
- Publish view files to `resources/views/vendor/terminal-console/`
- Publish migration files to `database/migrations/`
- Register necessary routes and middleware

### Terminal Configuration

[](#terminal-configuration)

Configure the terminal console in the published config file:

```
// config/terminal-console.php
return [
    'enabled' => env('TERMINAL_CONSOLE_ENABLED', true),
    'allowed_commands' => [
        'ls', 'cd', 'pwd', 'cat', 'grep', 'find',
        'ps', 'top', 'htop', 'df', 'du', 'mkdir',
        'rm', 'cp', 'mv', 'chmod', 'chown', 'tar',
        'gzip', 'unzip', 'wget', 'curl', 'git'
    ],
    'blocked_commands' => [
        'rm -rf /', 'dd', 'mkfs', 'fdisk', 'shutdown',
        'reboot', 'halt', 'poweroff', 'init 0', 'rm -rf /*'
    ],
    'restricted_directories' => [
        '/etc', '/var/log', '/home', '/root', '/boot'
    ],
    'max_execution_time' => env('TERMINAL_CONSOLE_TIMEOUT', 300),
    'max_output_lines' => env('TERMINAL_CONSOLE_MAX_OUTPUT', 1000),
    'session_timeout' => env('TERMINAL_CONSOLE_SESSION_TIMEOUT', 3600),
    'log_commands' => env('TERMINAL_CONSOLE_LOG_COMMANDS', true),
    'allowed_users' => ['admin', 'developer', 'system_manager'],
];
```

### Environment Variables

[](#environment-variables)

Add these to your `.env` file:

```
TERMINAL_CONSOLE_ENABLED=true
TERMINAL_CONSOLE_TIMEOUT=300
TERMINAL_CONSOLE_MAX_OUTPUT=1000
TERMINAL_CONSOLE_SESSION_TIMEOUT=3600
TERMINAL_CONSOLE_LOG_COMMANDS=true
```

Usage
-----

[](#usage)

### Accessing the Terminal Console

[](#accessing-the-terminal-console)

1. Navigate to your Filament admin panel
2. Look for the "Terminal Console" menu item
3. Open a new terminal session

### Basic Terminal Operations

[](#basic-terminal-operations)

1. **Command Execution**: Type commands and press Enter
2. **File Navigation**: Use `cd`, `ls`, `pwd` for file operations
3. **File Management**: Create, edit, and delete files
4. **Process Control**: Monitor and manage system processes
5. **System Information**: Get system status and information

### Advanced Features

[](#advanced-features)

- **Tab Completion**: Use Tab key for command and file completion
- **Command History**: Access previous commands with arrow keys
- **Session Persistence**: Terminal sessions persist across page refreshes
- **Multi-tab Support**: Open multiple terminal tabs
- **Custom Aliases**: Create and use command aliases

### Security Features

[](#security-features)

- **Command Whitelisting**: Only allowed commands can be executed
- **Dangerous Command Blocking**: Prevents execution of harmful commands
- **Directory Restrictions**: Limits access to sensitive directories
- **User Isolation**: Each user has separate terminal sessions
- **Activity Logging**: All commands are logged for audit purposes

Troubleshooting
---------------

[](#troubleshooting)

### Common Issues

[](#common-issues)

- **Permission denied**: Ensure the user has appropriate system access
- **Command not found**: Check if the command is in the allowed list
- **Session timeout**: Increase session timeout in configuration
- **Performance issues**: Check system resources and command complexity

### Debug Steps

[](#debug-steps)

1. Check the plugin configuration:

```
php artisan config:show terminal-console
```

2. Verify routes are registered:

```
php artisan route:list | grep terminal-console
```

3. Check system permissions:

```
# Verify the web server user has system access
sudo -l
whoami
groups
```

4. Test basic terminal functionality:

```
# Test if basic commands work
php artisan tinker
shell_exec('pwd');
shell_exec('ls -la');
```

5. Clear caches:

```
php artisan optimize:clear
```

6. Check logs for errors:

```
tail -f storage/logs/laravel.log
```

### Terminal-Specific Issues

[](#terminal-specific-issues)

#### Command Execution

[](#command-execution)

- **Command blocked**: Check allowed\_commands configuration
- **Permission errors**: Verify user permissions for command execution
- **Timeout issues**: Adjust max\_execution\_time setting

#### File Operations

[](#file-operations)

- **Access denied**: Check directory restrictions and permissions
- **File not found**: Verify file paths and existence
- **Permission errors**: Check file and directory permissions

#### Process Management

[](#process-management)

- **Process not found**: Verify process exists and is accessible
- **Permission denied**: Check user permissions for process operations
- **High resource usage**: Monitor terminal resource consumption

Security Considerations
-----------------------

[](#security-considerations)

### Access Control

[](#access-control)

- **Role-based permissions**: Restrict terminal access to authorized users only
- **Command restrictions**: Whitelist allowed commands and block dangerous ones
- **Directory restrictions**: Limit access to sensitive system directories
- **User isolation**: Ensure users can only access their own terminal sessions

### Best Practices

[](#best-practices)

- Never expose terminal console to public users
- Regularly review and update command whitelists
- Monitor terminal usage and log suspicious activities
- Implement proper user authentication and authorization
- Use HTTPS for secure access
- Regular security audits of terminal access

### Command Security

[](#command-security)

- **Whitelist approach**: Only allow necessary commands
- **Input validation**: Validate all command inputs
- **Output sanitization**: Sanitize command outputs
- **Rate limiting**: Prevent command flooding attacks

Performance Optimization
------------------------

[](#performance-optimization)

### System Requirements

[](#system-requirements)

- **CPU**: Sufficient CPU for command execution
- **Memory**: Adequate RAM for terminal sessions
- **Storage**: Fast storage for command operations
- **Network**: Stable network for web terminal access

### Optimization Tips

[](#optimization-tips)

- Use command caching for repeated operations
- Implement session pooling for multiple users
- Monitor system resources during peak usage
- Optimize command execution timeouts

### Session Management

[](#session-management)

- **Session pooling**: Reuse terminal sessions when possible
- **Connection limits**: Limit concurrent terminal connections
- **Resource monitoring**: Monitor terminal resource usage
- **Cleanup strategies**: Implement proper session cleanup

Uninstall
---------

[](#uninstall)

### 1. Remove Plugin Registration

[](#1-remove-plugin-registration)

Remove the plugin from your panel provider:

```
// remove ->plugin(\Filaforge\TerminalConsole\TerminalConsolePlugin::make())
```

### 2. Roll Back Migrations (Optional)

[](#2-roll-back-migrations-optional)

```
php artisan migrate:rollback
# or roll back specific published files if needed
```

### 3. Remove Published Assets (Optional)

[](#3-remove-published-assets-optional)

```
rm -f config/terminal-console.php
rm -rf resources/views/vendor/terminal-console
```

### 4. Remove Package and Clear Caches

[](#4-remove-package-and-clear-caches)

```
composer remove filaforge/terminal-console
php artisan optimize:clear
```

### 5. Clean Up Environment Variables

[](#5-clean-up-environment-variables)

Remove these from your `.env` file:

```
TERMINAL_CONSOLE_ENABLED=true
TERMINAL_CONSOLE_TIMEOUT=300
TERMINAL_CONSOLE_MAX_OUTPUT=1000
TERMINAL_CONSOLE_SESSION_TIMEOUT=3600
TERMINAL_CONSOLE_LOG_COMMANDS=true
```

### 6. Security Cleanup

[](#6-security-cleanup)

After uninstalling, consider:

- Reviewing system access permissions
- Cleaning up any custom terminal configurations
- Removing any scheduled tasks or cron jobs
- Updating system security settings

Support
-------

[](#support)

- **Documentation**: [GitHub Repository](https://github.com/filaforge/terminal-console)
- **Issues**: [GitHub Issues](https://github.com/filaforge/terminal-console/issues)
- **Discussions**: [GitHub Discussions](https://github.com/filaforge/terminal-console/discussions)

Contributing
------------

[](#contributing)

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

License
-------

[](#license)

This plugin is open-sourced software licensed under the [MIT license](LICENSE).

---

**Made with ❤️ by the Filaforge Team**

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance59

Moderate activity, may be stable

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

264d ago

Major Versions

0.1.2 → v1.0.02025-08-19

### Community

Maintainers

![](https://www.gravatar.com/avatar/e7ccd0e302c517e0c6bc2b4ef05008e5beb1621bf5a64b17b82cdceb19566389?d=identicon)[filaforge](/maintainers/filaforge)

---

Top Contributors

[![blhk0532](https://avatars.githubusercontent.com/u/221689993?v=4)](https://github.com/blhk0532 "blhk0532 (4 commits)")

---

Tags

consoleterminallaravelshellcommandadminfilamentxtermpanel

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/filaforge-filament-terminal-console/health.svg)

```
[![Health](https://phpackages.com/badges/filaforge-filament-terminal-console/health.svg)](https://phpackages.com/packages/filaforge-filament-terminal-console)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[illuminated/console-mutex

Mutex for Laravel Console Commands.

146938.2k1](/packages/illuminated-console-mutex)[mwguerra/web-terminal

A web-based terminal component for Filament/Laravel with command whitelisting and multiple connection types

251.1k](/packages/mwguerra-web-terminal)[phpsa/filament-authentication

User &amp; Role (via Spatie Roles/Permissions) Manager Resource For Filament Admin

12663.6k](/packages/phpsa-filament-authentication)[a2insights/filament-saas

Filament Saas for A2Insights

161.1k](/packages/a2insights-filament-saas)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
