update src

This commit is contained in:
Kai Ton 2024-02-27 02:51:00 +00:00
parent 16afbcb8b1
commit cc8636a7c6
14 changed files with 382 additions and 8 deletions

View File

@ -18,10 +18,10 @@ DB_CONNECTION=sqlite
# DB_PASSWORD= # DB_PASSWORD=
BROADCAST_DRIVER=log BROADCAST_DRIVER=log
CACHE_DRIVER=database CACHE_DRIVER=redis
FILESYSTEM_DISK=local FILESYSTEM_DISK=local
QUEUE_CONNECTION=rabbitmq QUEUE_CONNECTION=rabbitmq
SESSION_DRIVER=database SESSION_DRIVER=redis
SESSION_LIFETIME=120 SESSION_LIFETIME=120
MEMCACHED_HOST=127.0.0.1 MEMCACHED_HOST=127.0.0.1
@ -67,3 +67,4 @@ RABBITMQ_PASSWORD=rabbit@123
RABBITMQ_VHOST=/ RABBITMQ_VHOST=/
HORIZON_QUEUES='["default", "process1", "process2", "process3"]' HORIZON_QUEUES='["default", "process1", "process2", "process3"]'
PUPETEER_URL=https://google.com.vn

View File

@ -12,7 +12,7 @@ class JobRun extends Command
* *
* @var string * @var string
*/ */
protected $signature = 'job:run'; protected $signature = 'job:run {--count=1}';
/** /**
* The console command description. * The console command description.
@ -28,6 +28,14 @@ class JobRun extends Command
*/ */
public function handle() public function handle()
{ {
$count = $this->option('count');
if (!is_numeric($count)) {
$count = 1;
}
$this->output->title('count: ' . $count);
for ($i = 1; $i <= $count; $i++) {
dispatch(new ScreenshotJob); dispatch(new ScreenshotJob);
} }
}
} }

View File

@ -12,6 +12,6 @@ class VerifyCsrfToken extends Middleware
* @var array<int, string> * @var array<int, string>
*/ */
protected $except = [ protected $except = [
// 'terminal/*'
]; ];
} }

View File

@ -35,7 +35,7 @@ class ScreenshotJob implements ShouldQueue
{ {
file_put_contents( file_put_contents(
public_path('pupeteer/' . time() . '.jpg'), public_path('pupeteer/' . time() . '.jpg'),
file_get_contents('http://puppeteer:4000?url=' . 'https://payment.nswteam.net/') file_get_contents('http://puppeteer:4000?url=' . env('PUPPETEER_URL'))
); );
} }
} }

View File

@ -23,6 +23,7 @@
"mockery/mockery": "^1.4.4", "mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1", "nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10", "phpunit/phpunit": "^9.5.10",
"recca0120/terminal": "^1.11",
"spatie/laravel-ignition": "^1.0" "spatie/laravel-ignition": "^1.0"
}, },
"autoload": { "autoload": {

126
src/composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "25b944829f758ab8566122440a9ef34e", "content-hash": "c261068b48a5d80f538da80db452b996",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@ -7433,6 +7433,81 @@
], ],
"time": "2024-01-19T07:03:14+00:00" "time": "2024-01-19T07:03:14+00:00"
}, },
{
"name": "recca0120/terminal",
"version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/recca0120/laravel-terminal.git",
"reference": "902f92d214307ae42bfe503e1b9aa4a455c5b014"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/recca0120/laravel-terminal/zipball/902f92d214307ae42bfe503e1b9aa4a455c5b014",
"reference": "902f92d214307ae42bfe503e1b9aa4a455c5b014",
"shasum": ""
},
"require": {
"illuminate/config": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/console": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/database": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/events": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/filesystem": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/routing": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"illuminate/view": "^5.1|^6.0|^7.0|^8.0|^9.0|^10.0",
"php": ">=5.5.9",
"symfony/finder": "^2.7|^3.0|^4.0|^5.0|^6.0",
"webmozart/glob": "^4.1"
},
"require-dev": {
"mikey179/vfsstream": "^1.6",
"mockery/mockery": "^0.9.4|^1.0",
"nesbot/carbon": "^1.20|^2.0",
"phpunit/phpunit": "^4.8|^5.1|^6.1|^7.0|^8.0|^9.0|^10.0",
"roave/security-advisories": "dev-latest",
"vlucas/phpdotenv": "^4.0|^5.1"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Recca0120\\Terminal\\TerminalServiceProvider"
]
}
},
"autoload": {
"files": [
"src/polyfill.php"
],
"psr-4": {
"Recca0120\\Terminal\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "recca0120",
"email": "recca0120@gmail.com"
}
],
"description": "run laravel artisan command in web application",
"keywords": [
"artisan",
"console",
"laravel",
"terminal",
"web",
"web artisan"
],
"support": {
"issues": "https://github.com/recca0120/laravel-terminal/issues",
"source": "https://github.com/recca0120/laravel-terminal/tree/v1.11.0"
},
"time": "2023-02-15T12:26:42+00:00"
},
{ {
"name": "sebastian/cli-parser", "name": "sebastian/cli-parser",
"version": "1.0.1", "version": "1.0.1",
@ -8822,6 +8897,55 @@
} }
], ],
"time": "2023-11-20T00:12:19+00:00" "time": "2023-11-20T00:12:19+00:00"
},
{
"name": "webmozart/glob",
"version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/glob.git",
"reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/glob/zipball/3c17f7dec3d9d0e87b575026011f2e75a56ed655",
"reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8.0.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
"symfony/filesystem": "^5.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.1-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Glob\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "A PHP implementation of Ant's glob.",
"support": {
"issues": "https://github.com/webmozarts/glob/issues",
"source": "https://github.com/webmozarts/glob/tree/4.6.0"
},
"time": "2022-05-24T19:45:58+00:00"
} }
], ],
"aliases": [], "aliases": [],

View File

@ -196,6 +196,10 @@ return [
App\Providers\HorizonServiceProvider::class, App\Providers\HorizonServiceProvider::class,
App\Providers\RouteServiceProvider::class, App\Providers\RouteServiceProvider::class,
// More
Recca0120\Terminal\TerminalServiceProvider::class,
], ],
/* /*

View File

@ -15,7 +15,11 @@ return [
| |
*/ */
'paths' => ['api/*', 'sanctum/csrf-cookie'], 'paths' => [
'terminal/*',
'api/*',
'sanctum/csrf-cookie'
],
'allowed_methods' => ['*'], 'allowed_methods' => ['*'],

63
src/config/terminal.php Normal file
View File

@ -0,0 +1,63 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Package Enabled
|--------------------------------------------------------------------------
|
| This value determines whether the package is enabled. By default it
| will be enabled if APP_DEBUG is true.
|
*/
'enabled' => env('APP_DEBUG'),
/*
|--------------------------------------------------------------------------
| Whitelisted IP Addresses
|--------------------------------------------------------------------------
|
| This value contains a list of IP addresses that are allowed to access
| the Laravel terminal.
|
*/
'whitelists' => [],
/*
|--------------------------------------------------------------------------
| Route Configuration
|--------------------------------------------------------------------------
|
| This value sets the route information such as the prefix and middleware.
|
*/
'route' => [
'prefix' => 'terminal',
'as' => 'terminal.',
'middleware' => ['web'],
],
/*
|--------------------------------------------------------------------------
| Enabled Commands
|--------------------------------------------------------------------------
|
| This value contains a list of class names for the available commands
| for Laravel Terminal.
|
*/
'commands' => [
\Recca0120\Terminal\Console\Commands\Artisan::class,
\Recca0120\Terminal\Console\Commands\ArtisanTinker::class,
\Recca0120\Terminal\Console\Commands\Cleanup::class,
\Recca0120\Terminal\Console\Commands\Composer::class,
\Recca0120\Terminal\Console\Commands\Find::class,
// \Recca0120\Terminal\Console\Commands\Mysql::class,
\Recca0120\Terminal\Console\Commands\Tail::class,
\Recca0120\Terminal\Console\Commands\Vi::class,
],
];

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,107 @@
/*!
* Sizzle CSS Selector Engine v2.3.9
* https://sizzlejs.com/
*
* Copyright JS Foundation and other contributors
* Released under the MIT license
* https://js.foundation/
*
* Date: 2022-12-19
*/
/*!
* The buffer module from node.js, for the browser.
*
* @author Feross Aboukhadijeh <http://feross.org>
* @license MIT
*/
/*!
* jQuery JavaScript Library v3.6.3
* https://jquery.com/
*
* Includes Sizzle.js
* https://sizzlejs.com/
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
* Date: 2022-12-20T21:28Z
*/
/*!
* jQuery Mousewheel 3.1.13
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license
* http://jquery.org/license
*/
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
/**@license
* __ _____ ________ __
* / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /
* __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
* / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
* \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
* \/ /____/
* http://terminal.jcubic.pl
*
* This is example of how to create custom formatter for jQuery Terminal
*
* Copyright (c) 2014-2022 Jakub Jankiewicz <https://jcubic.pl/me>
* Released under the MIT license
*
* Includes: node-ansiparser, MIT license, Copyright (c) 2014 Joerg Breitbart
*
* Last Update in jQuery Terminal 2.23.0
*
*/
/**@license
* __ _____ ________ __
* / // _ /__ __ _____ ___ __ _/__ ___/__ ___ ______ __ __ __ ___ / /
* __ / // // // // // _ // _// // / / // _ // _// // // \/ // _ \/ /
* / / // // // // // ___// / / // / / // ___// / / / / // // /\ // // / /__
* \___//____ \\___//____//_/ _\_ / /_//____//_/ /_/ /_//_//_/ /_/ \__\_\___/
* \/ /____/ version 2.35.3
*
* This file is part of jQuery Terminal. https://terminal.jcubic.pl
*
* Copyright (c) 2010-2022 Jakub T. Jankiewicz <https://jcubic.pl/me>
* Released under the MIT license
*
* Contains:
*
* Storage plugin Distributed under the MIT License
* modified to work from Data URIs that block storage and cookies in Chrome
* Copyright (c) 2010 Dave Schindler
*
* jQuery Timers licenced with the WTFPL
* <http://jquery.offput.ca/timers/>
*
* Cross-Browser Split 1.1.1
* Copyright 2007-2012 Steven Levithan <stevenlevithan.com>
* Available under the MIT License
*
* jQuery Caret
* Copyright (c) 2009, Gideon Sireling
* 3 clause BSD License
*
* sprintf.js
* Copyright (c) 2007-2013 Alexandru Marasteanu <hello at alexei dot ro>
* licensed under 3 clause BSD license
*
* debounce function from Lodash
* Copyright JS Foundation and other contributors <https://js.foundation/>
* The MIT License
*
* emoji regex v9.0.0 by Mathias Bynens
* MIT license
*
* broken image by Sophia Bai from the Noun Project (CC-BY)
*
* Date: Mon, 06 Feb 2023 20:13:15 +0000
*/

View File

@ -0,0 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Terminal</title>
<link href="{{ asset('vendor/terminal/css/terminal.css') }}" rel="stylesheet"/>
<style>
html, body{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: hidden;
}
#tracy-debug-bar {
display: none;
}
</style>
</head>
<body>
<div id="terminal-shell"></div>
<script src="{{ asset('vendor/terminal/js/terminal.js') }}"></script>
<script>
(function() {
new Terminal("#terminal-shell", {!! $options !!});
})();
</script>
</body>
</html>

View File

@ -0,0 +1,13 @@
<div id="panel-terminal-shell-{{ $id }}" class="terminal-panel"></div>
<script>
(function() {
var preload=function(){var createElement=function(tag,attributes){var id="laravel-terminal-"+attributes.id;var element=document.getElementById(id);if(element){return element};element=document.createElement(tag);for(key in attributes){element.setAttribute(key,attributes[key])};return element};var appendTo=function(element){var appendTo=document.getElementsByTagName('head');appendTo=appendTo.length>0?appendTo[0]:document.body;appendTo.appendChild(element)};var f=function(filename){return filename.replace(/\?.*/,'')+'?'+(new Date()).getTime()};return{createElement:function(type,id,filename,callback,retry){var attributes={},source;if(!retry){retry=5}
if(type==='script'){source='src';attributes.type='text/javascript'}else{source='href';attributes.type='text/css';attributes.rel='stylesheet'}
attributes[source]=filename;attributes.id='laravel-terminal-'+id;var element=createElement(type,attributes);element.onerror=function(){if(retry===1){return}setTimeout(function(){preload.createElement(type,id,f(filename),callback,--retry)})};if(callback){element.onload=callback};appendTo(element)}}}()
preload.createElement('link', 'css', '{{ action('\Recca0120\Terminal\Http\Controllers\TerminalController@media', ['file' => 'css/terminal.css']) }}');
preload.createElement('script', 'terminal', '{{ action('\Recca0120\Terminal\Http\Controllers\TerminalController@media', ['file' => 'js/terminal.js']) }}', function () {
new Terminal('#panel-terminal-shell-{{ $id }}', {!! $options !!});
});
})();
</script>