alkhachatryan/laravel-web-console

Web console for your Laravel application

2.1.1 2019-11-10 16:56 UTC

README

Latest Version on Packagist StyleCI TESTED OS Total Downloads

Laravel Web Console is a package for Laravel applications that allow user to connect to the server via browser.

Screenshot

What is this package useful for?

Despite the fact that cloud hosting is now growing up and many people use VPS / Dedicated Server hosting, most people still use Sharing hosting without SSH connection. Using this package you can execute shell commands from your browser. Using Laravel Middleware features you can protect your system from danger from outside.

Features

  • Enable / Disable custom login
  • Multi-account support
  • Home dir selection
  • Home dir selection for multiple accounts
  • Custom password hashing

Supported Laravel Versions

  • 5.7.*
  • 5.8.*
  • 6.*

Installation

Manually:

  • Download the last release: https://github.com/alkhachatryan/laravel-web-console/releases/latest
  • Upload the compressed file to the server.
  • Unzip the files into /vendor/alkhachatryan/laravel-web-console (Without version number)
  • Add maintance for this package into composer autoloaders -- In /vendor/composer/autoload_namespaces.php add in the array this line:
     'Alkhachatryan\\LaravelWebConsole\\' => array($vendorDir . '/alkhachatryan/laravel-web-console/src'),
    -- In /vendor/composer/autoload_psr4.php add in the array this line:
     'Alkhachatryan\\LaravelWebConsole\\' => array($vendorDir . '/alkhachatryan/laravel-web-console/src'),
  • Update the /config/app.php and add the service provider into providers array
    Alkhachatryan\LaravelWebConsole\LaravelWebConsoleServiceProvider::class,
  • Remove the cache: delete the following files: /bootstrap/cache/packages.php /bootstrap/cache/services.php

Or Via Composer:

$ composer require alkhachatryan/laravel-web-console

Configuration

Publish the config file

  • Copy /vendor/alkhachatryan/laravel-web-console/config file to your /config folder

    OR via command line:

    php artisan vendor:publish --tag=webconsole
  • Edit the /config/laravelwebconsole.php file, create your credentials in .env file.

    // Single-user credentials (REQUIRED)
        'user' => [
            'name' => env('CONSOLE_USER_NAME', 'root'),
            'password' => env('CONSOLE_USER_PASSWORD', 'root')
        ],

!!! ATTENTION !!!! These user credentials ARE NOT your server user credentials. You can type here everything you want. This method of custom login is a small addition in the protection. Anyway you can disable it. Set no_login value TRUE

// Disable login (don't ask for credentials, be careful)
    'no_login' => true,
    ]

Usage

use Alkhachatryan\LaravelWebConsole\LaravelWebConsole;

class HomeController extends Controller
{
    public function index() {
       return LaravelWebConsole::show();
    }
}

Change log

Please see the changelog for more information on what has changed recently.

Security

If you discover any security related issues, please email info@khachatryan.org instead of using the issue tracker.

Credits

Open source tools included

License

MIT. Please see the license file for more information.