__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php /** * @package Regular Labs Library * @version 23.12.10783 * * @author Peter van Westen <[email protected]> * @link https://regularlabs.com * @copyright Copyright © 2023 Regular Labs All Rights Reserved * @license GNU General Public License version 2 or later */ namespace RegularLabs\Library; defined('_JEXEC') or die; use Joomla\CMS\Factory as JFactory; use Joomla\CMS\Http\HttpFactory as JHttpFactory; use Joomla\Registry\Registry; use RuntimeException; /** * Class Http * * @package RegularLabs\Library */ class Http { /** * Get the contents of the given internal url */ public static function get(string $url, int $timeout = 20, string $default = ''): string { if (Uri::isExternal($url)) { return $default; } return @file_get_contents($url, false, stream_context_create(['http' => ['timeout' => $timeout]])) || self::getFromUrl($url, $timeout, $default); } /** * Get the contents of the given external url from the Regular Labs server */ public static function getFromServer( string $url, int $timeout = 20, string $default = '' ): string { $cache = new Cache; $cache_ttl = Input::getInt('cache', 0); if ($cache_ttl) { $cache->useFiles($cache_ttl > 1 ? $cache_ttl : null); } if ($cache->exists()) { return $cache->get(); } // only allow url calls from administrator if ( ! Document::isClient('administrator')) { die; } // only allow when logged in $user = JFactory::getApplication()->getIdentity() ?: JFactory::getUser(); if ( ! $user->id) { die; } if ( ! str_starts_with($url, 'http')) { $url = 'http://' . $url; } // only allow url calls to regularlabs.com domain if ( ! (RegEx::match('^https?://([^/]+\.)?regularlabs\.com/', $url))) { die; } // only allow url calls to certain files if ( ! str_contains($url, 'download.regularlabs.com/extensions.php') && ! str_contains($url, 'download.regularlabs.com/extensions.json') && ! str_contains($url, 'download.regularlabs.com/extensions.xml') && ! str_contains($url, 'download.regularlabs.com/check_key.php') ) { die; } $content = self::getContents($url, $timeout); $format = (str_contains($url, '.json') || str_contains($url, 'format=json')) ? 'application/json' : 'text/xml'; header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: public"); header("Content-type: " . $format); if (empty($content)) { return $default; } return $cache->set($content ?: $default); } /** * Get the contents of the given url */ public static function getFromUrl(string $url, int $timeout = 20, string $default = ''): string { $cache = new Cache; $cache_ttl = Input::getInt('cache', 0); if ($cache_ttl) { $cache->useFiles($cache_ttl > 1 ? $cache_ttl : null); } if ($cache->exists()) { return $cache->get(); } $content = self::getContents($url, $timeout); if (empty($content)) { return $default; } return $cache->set($content ?: $default); } /** * Load the contents of the given url */ private static function getContents( string $url, int $timeout = 20, string $default = '' ): string { try { // Adding a valid user agent string, otherwise some feed-servers returning an error $options = new Registry([ 'userAgent' => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0', ]); $response = JHttpFactory::getHttp($options)->get($url, [], $timeout); $content = $response->body ?? $default; } catch (RuntimeException $e) { return $default; } // Remove prefix and postfix stuff added by SocketTransport $content = preg_replace('#^\s*1c\s*(\{.*\})\s*0\s*$#s', '$1', $content); return $content; } }
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Form | Folder | 0775 |
|
|
| ActionLogPlugin.php | File | 8.29 KB | 0664 |
|
| Alias.php | File | 3.22 KB | 0664 |
|
| ArrayHelper.php | File | 14.13 KB | 0664 |
|
| Article.php | File | 10.14 KB | 0664 |
|
| Cache.php | File | 4.69 KB | 0664 |
|
| Color.php | File | 1.85 KB | 0664 |
|
| DB.php | File | 15.25 KB | 0664 |
|
| Date.php | File | 5.25 KB | 0664 |
|
| Document.php | File | 13.21 KB | 0664 |
|
| DownloadKey.php | File | 3.92 KB | 0664 |
|
| EditorButtonPlugin.php | File | 5.9 KB | 0664 |
|
| EditorButtonPopup.php | File | 5.53 KB | 0664 |
|
| Extension.php | File | 14.81 KB | 0664 |
|
| FieldsPlugin.php | File | 1001 B | 0664 |
|
| File.php | File | 14.92 KB | 0664 |
|
| Html.php | File | 22.41 KB | 0664 |
|
| HtmlTag.php | File | 4.84 KB | 0664 |
|
| Http.php | File | 4.54 KB | 0664 |
|
| Image.php | File | 29.04 KB | 0664 |
|
| Input.php | File | 4.64 KB | 0664 |
|
| Language.php | File | 985 B | 0664 |
|
| License.php | File | 1.78 KB | 0664 |
|
| MobileDetect.php | File | 748 B | 0664 |
|
| ObjectHelper.php | File | 2.92 KB | 0664 |
|
| Parameters.php | File | 7.27 KB | 0664 |
|
| Php.php | File | 6.81 KB | 0664 |
|
| PluginTag.php | File | 16.31 KB | 0664 |
|
| Protect.php | File | 27.82 KB | 0664 |
|
| RegEx.php | File | 8.02 KB | 0664 |
|
| ShowOn.php | File | 1.44 KB | 0664 |
|
| SimpleCategory.php | File | 1.7 KB | 0664 |
|
| StringHelper.php | File | 22.9 KB | 0664 |
|
| StringReplacer.php | File | 13.66 KB | 0664 |
|
| SystemPlugin.php | File | 15.4 KB | 0664 |
|
| Title.php | File | 2.8 KB | 0664 |
|
| Uri.php | File | 6.06 KB | 0664 |
|
| Variables.php | File | 11.55 KB | 0664 |
|
| Version.php | File | 8.32 KB | 0664 |
|
| Xml.php | File | 1.53 KB | 0664 |
|