diff --git a/web/app/Console/Commands/ApachePingWebsitesWithCurl.php b/web/app/Console/Commands/ApachePingWebsitesWithCurl.php index 9dd159c..38b3bc8 100644 --- a/web/app/Console/Commands/ApachePingWebsitesWithCurl.php +++ b/web/app/Console/Commands/ApachePingWebsitesWithCurl.php @@ -31,16 +31,16 @@ class ApachePingWebsitesWithCurl extends Command $findCustomer = \App\Models\Customer::first(); $findHostingPlan = \App\Models\HostingPlan::first(); - for ($i = 900; $i <= 15000; $i++) { - + for ($i = 0; $i <= 50000; $i++) { $newSubscription = new \App\Models\HostingSubscription(); $newSubscription->customer_id = $findCustomer->id; $newSubscription->hosting_plan_id = $findHostingPlan->id; - $newSubscription->domain = 'tesx-site-'.$i.'.test.multiweber.com'; + $newSubscription->domain = 'tesx-site-'.$i.rand(1111,9999).'.test.multiweber.com'; $newSubscription->save(); - } + return; + // Retrieve all website configurations from the database $websiteConfigs = Domain::get(); diff --git a/web/app/Listeners/ModelPhyreServerCreatedListener.php b/web/app/Listeners/ModelPhyreServerCreatedListener.php index 3d5274b..50ad7b6 100644 --- a/web/app/Listeners/ModelPhyreServerCreatedListener.php +++ b/web/app/Listeners/ModelPhyreServerCreatedListener.php @@ -5,6 +5,7 @@ namespace App\Listeners; use App\Events\ModelPhyreServerCreated; use Illuminate\Remote\Connection; +use phpseclib3\Net\SSH2; use Spatie\Ssh\Ssh; class ModelPhyreServerCreatedListener @@ -27,11 +28,15 @@ class ModelPhyreServerCreatedListener $password = $event->model->password; $ip = $event->model->ip; - $process = Ssh::create($username . ':' . $password, $ip) - ->enablePasswordAuthentication() - ->execute('ls'); + $ssh = new SSH2($ip); + if ($ssh->login($username, $password)) { + $output = $ssh->exec('ls -la'); + echo $output; + } else { + echo 'SSH login failed.'; + } - dd($process->getOutput()); + dd(3); } } diff --git a/web/composer.json b/web/composer.json index c552331..0502cbb 100644 --- a/web/composer.json +++ b/web/composer.json @@ -23,6 +23,7 @@ "mkocansey/bladewind": "^2.4", "nwidart/laravel-modules": "^10.0", "outerweb/filament-settings": "^1.2", + "phpseclib/phpseclib": "^3.0", "spatie/ssh": "^1.10", "symfony/process": "^6.3", "symfony/yaml": "^7.0", diff --git a/web/composer.lock b/web/composer.lock index 4bc48c7..3b5b354 100644 --- a/web/composer.lock +++ b/web/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ba2b3ac0d17f502cef5560e3baecf9d0", + "content-hash": "df53a4b62178a500347c96ed76969669", "packages": [ { "name": "acmephp/core", @@ -5099,6 +5099,123 @@ }, "time": "2024-03-12T20:47:31+00:00" }, + { + "name": "paragonie/constant_time_encoding", + "version": "v2.6.3", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "58c3f47f650c94ec05a151692652a868995d2938" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", + "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "shasum": "" + }, + "require": { + "php": "^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7|^8|^9", + "vimeo/psalm": "^1|^2|^3|^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2022-06-14T06:56:20+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, { "name": "phpoption/phpoption", "version": "1.9.2", @@ -5174,6 +5291,116 @@ ], "time": "2023-11-12T21:59:55+00:00" }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.37", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/cfa2013d0f68c062055180dd4328cc8b9d1f30b8", + "reference": "cfa2013d0f68c062055180dd4328cc8b9d1f30b8", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib3\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.37" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2024-03-03T02:14:58+00:00" + }, { "name": "psr/cache", "version": "3.0.0",