mwguerra/web-terminal
Secure web terminal for Laravel with Filament integration. Run whitelisted commands locally or over SSH, with interactive PTY sessions, enum-based permissions, reusable scripts, and full audit logging for safe, traceable execution.
SECURITY.md security policy with private vulnerability reporting instructionsallowInteractiveMode() flag — enables interactive execution (PTY/tmux) for whitelisted commands, supporting artisan tinker, reverb:start, queue:work, and other interactive/long-running Laravel commandsTerminalPermission enum — declarative permission configuration via allow([TerminalPermission::InteractiveMode, TerminalPermission::ShellOperators])allow(array) method on both Schema Component and TerminalBuilder for enum-based permission controlallowAllCommands(), allowPipes(), allowRedirection(), allowChaining(), allowExpansion(), allowAllShellOperators(), allowInteractiveMode(), environment(), loginShell(), shell(), startConnected(), title(), windowControls(), height(), log(), scripts()CACHE_STORE — file, Redis, database, memcached)CommandValidator now correctly match commands like php artisan * against php artisan tinker> 1 + 1), input lines render in command color (green)XDEBUG_MODE=off in child processesTuiDetector utility class for identifying TUI escape sequences and providing command suggestions# are filtered)clearOutput() method to programmatically clear terminal outputgetPlainTextOutput() method to retrieve terminal output as plain textallowPipes() - Allow pipe operators (|) for piping output between commandsallowRedirection() - Allow redirection operators (>, <, >>, <<) for file I/OallowChaining() - Allow chaining operators (;, &&, ||, &) for running multiple commandsallowExpansion() - Allow expansion operators ($, `, $(), ${}) for variable/command substitutionallowAllShellOperators() - Global toggle to allow all operator groups at onceallowChaining and allowExpansion params added to ValidCommand attribute for consistencyHow can I help you explore Laravel packages today?