Linux premium180.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
LiteSpeed
: 162.0.209.168 | : 216.73.216.187
Cant Read [ /etc/named.conf ]
8.3.30
nortrmdp
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
local /
lsws /
add-ons /
webcachemgr /
src /
Panel /
[ HOME SHELL ]
Name
Size
Permission
Action
CPanel.php
23.94
KB
-rw-rw-r--
ControlPanel.php
30.42
KB
-rw-rw-r--
CustomPanel.php
2.49
KB
-rw-rw-r--
CustomPanelBase.php
1.09
KB
-rw-rw-r--
DirectAdmin.php
15.16
KB
-rw-rw-r--
Plesk.php
12.08
KB
-rw-rw-r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : DirectAdmin.php
<?php /** ****************************************** * LiteSpeed Web Server Cache Manager * * @author Michael Alegre * @copyright 2019-2024 LiteSpeed Technologies, Inc. * ******************************************* */ namespace Lsc\Wp\Panel; use DirectoryIterator; use Lsc\Wp\Logger; use Lsc\Wp\LSCMException; use Lsc\Wp\WPInstall; class DirectAdmin extends ControlPanel { protected function __construct() { /** @noinspection PhpUnhandledExceptionInspection */ parent::__construct(); } /** * * @since 1.13.2 */ protected function init2() { $this->panelName = 'DirectAdmin'; $this->defaultSvrCacheRoot = '/home/lscache/'; /** @noinspection PhpUnhandledExceptionInspection */ parent::init2(); } protected function initConfPaths() { $this->apacheConf = '/etc/httpd/conf/extra/httpd-includes.conf'; $this->apacheVHConf = '/usr/local/directadmin/data/templates/custom/' . 'cust_httpd.CUSTOM.2.pre'; } /** * * @return string */ protected function serverCacheRootSearch() { if ( !file_exists($this->apacheConf) ) { return ''; } return $this->getCacheRootSetting($this->apacheConf); } /** * * @return string */ protected function vhCacheRootSearch() { $apacheUserdataDir = dirname($this->apacheVHConf); if ( !file_exists($apacheUserdataDir) ) { return ''; } return $this->daVhCacheRootSearch($apacheUserdataDir); } /** * Searches the given directories '.pre' and '.post' files for CacheRoot * setting. * * @param string $confDir Directory to be searched. * * @return string */ public function daVhCacheRootSearch( $confDir ) { if ( !is_dir($confDir) ) { return ''; } $files = new DirectoryIterator($confDir); foreach ( $files as $file ) { $filename = $file->getFilename(); $isPreOrPostFile = ( strlen($filename) > 4 && ( substr_compare($filename, '.pre', -4) === 0 || substr_compare($filename, '.post', -5) === 0 ) ); if ( $isPreOrPostFile ) { $cacheRoot = $this->getCacheRootSetting($file->getPathname()); if ( $cacheRoot != '' ) { return $cacheRoot; } } } return ''; } /** * * @param array $file_contents * @param string $vhCacheRoot * * @return array */ protected function addVHCacheRootSection( array $file_contents, $vhCacheRoot = 'lscache' ) { array_unshift( $file_contents, "<IfModule LiteSpeed>\nCacheRoot $vhCacheRoot\n</IfModule>\n\n" ); return $file_contents; } /** * * @param string $vhConf * @param string $vhCacheRoot * * @throws LSCMException Thrown when mkdir() call fails to create virtual * host conf directory. * @throws LSCMException Thrown when file_put_contents() call fails to * create virtual host conf file. * @throws LSCMException Thrown indirectly by $this->log() call. * @throws LSCMException Thrown indirectly by $this->log() call. */ public function createVHConfAndSetCacheRoot( $vhConf, $vhCacheRoot = 'lscache' ) { $vhConfDir = dirname($vhConf); if ( !file_exists($vhConfDir) ) { if ( !mkdir($vhConfDir, 0755) ) { throw new LSCMException( "Failed to create directory $vhConfDir." ); } $this->log("Created directory $vhConfDir", Logger::L_DEBUG); } $bytesWrittenToFile = file_put_contents( $vhConf, "<IfModule Litespeed>\nCacheRoot $vhCacheRoot\n</IfModule>" ); if ( false === $bytesWrittenToFile ) { throw new LSCMException("Failed to create file $vhConf."); } $this->log("Created file $vhConf.", Logger::L_DEBUG); } public function applyVHConfChanges() { exec('/usr/local/directadmin/custombuild/build rewrite_confs'); } /** * * @since 1.13.7 * * @return array[] * * @throws LSCMException Thrown indirectly by Logger::debug() call. */ private function getHttpdConfDocrootMapInfo() { exec( 'grep -hros "DocumentRoot.*\|ServerAlias.*\|ServerName.*" ' . '/usr/local/directadmin/data/users/*/httpd.conf', $lines ); /** * [0]=servername, [1]=serveraliases, [2]=docroot, [3]=servername, etc. * Not unique & not sorted. * * Example: * ServerName www.daruby1.com * ServerAlias www.daruby1.com daruby1.com * DocumentRoot /home/daruby1/domains/daruby1.com/public_html * ServerName www.daruby1.com * ServerAlias www.daruby1.com daruby1.com * DocumentRoot /home/daruby1/domains/daruby1.com/private_html * ServerName www.dauser1.com * ServerAlias www.dauser1.com dauser1.com * DocumentRoot /home/dauser1/domains/dauser1.com/public_html * ServerName www.dauser1.com * ServerAlias www.dauser1.com dauser1.com * DocumentRoot /home/dauser1/domains/dauser1.com/private_html * * @noinspection SpellCheckingInspection */ $docRoots = array(); $curServerName = $curServerAliases = ''; foreach ( $lines as $line ) { if ( $curServerName == '' ) { if ( strpos($line, 'ServerName') === 0 ) { /** * 10 is strlen('ServerName') */ $curServerName = trim(substr($line, 10)); } } elseif ( strpos($line, 'ServerAlias') === 0 ) { /** * 11 is strlen('ServerAlias') */ $curServerAliases = trim(substr($line, 11)); } elseif ( strpos($line, 'DocumentRoot') === 0 ) { /** * 12 is strlen('DocumentRoot') */ $curDocRoot = trim(substr($line, 12), " \n\r\t\v\x00\""); /** * Avoid possible duplicate detections due to * public_html/private_html symlinks. */ if ( !isset($docRoots[$curDocRoot]) && is_dir($curDocRoot) && !is_link($curDocRoot) ) { $docRoots[$curDocRoot] = explode(' ', $curServerAliases); $docRoots[$curDocRoot][] = $curServerName; } /** * Looking for the next data set */ $curServerName = $curServerAliases = ''; } else { Logger::debug("Unused line when preparing docroot map: $line."); } } return $docRoots; } /** * * @since 1.13.7 * * @return array[] * * @throws LSCMException Thrown indirectly by Logger::debug() call. */ private function getOpenlitespeedConfDocrootMapInfo() { exec( 'grep -hros "docRoot.*\|vhDomain.*\|vhAliases.*" ' . '/usr/local/directadmin/data/users/*/openlitespeed.conf', $lines ); /** * [0]=docroot, [1]=servername, [2]=serveraliases, [3]=docroot, etc. * Not unique & not sorted. * * Example: * docRoot /home/test/domains/test.com/public_html * vhDomain test.com * vhAliases www.test.com * docRoot /home/test/domains/test.com/public_html * vhDomain testalias.com * vhAliases www.testalias.com * docRoot /home/test/domains/test.com/private_html * vhDomain test.com * vhAliases www.test.com * docRoot /home/test/domains/test.com/private_html * vhDomain testalias.com * vhAliases www.testalias.com * docRoot /home/test_2/domains/test2.com/public_html * vhDomain test2.com * vhAliases www.test2.com * docRoot /home/test_2/domains/test2.com/private_html * vhDomain test2.com * vhAliases www.test2.com * * @noinspection SpellCheckingInspection */ $docRoots = array(); $curServerName = $curDocRoot = ''; foreach ( $lines as $line ) { if ( $curDocRoot == '' ) { if ( strpos($line, 'docRoot') === 0 ) { /** * 7 is strlen('docRoot') */ $curDocRoot = trim(substr($line, 7)); } } elseif ( strpos($line, 'vhDomain') === 0 ) { /** * 8 is strlen('vhDomain') */ $curServerName = trim(substr($line, 8)); } elseif ( strpos($line, 'vhAliases') === 0 ) { /** * 9 is strlen('vhAliases') */ $curServerAlias = trim(substr($line, 9)); /** * Avoid possible duplicate detections due to * public_html/private_html symlinks. */ if ( is_dir($curDocRoot) && !is_link($curDocRoot) ) { if ( !isset($docRoots[$curDocRoot]) ) { $docRoots[$curDocRoot] = array( $curServerName, $curServerAlias ); } else { if ( !in_array($curServerName, $docRoots[$curDocRoot]) ) { $docRoots[$curDocRoot][] = $curServerName; } if ( !in_array($curServerAlias, $docRoots[$curDocRoot]) ) { $docRoots[$curDocRoot][] = $curServerAlias; } } } /** * Looking for the next data set */ $curDocRoot = $curServerName = ''; } else { Logger::debug("Unused line when preparing docroot map: $line."); } } return $docRoots; } /** * Gets a list of found docroots and associated server names. * Only needed for scan operation. * * @throws LSCMException Thrown indirectly by * $this->getHttpdConfDocrootMapInfo() call. * @throws LSCMException Thrown indirectly by * $this->getOpenlitespeedConfDocrootMapInfo() call. */ protected function prepareDocrootMap() { $docRootMapInfo = $this->getHttpdConfDocrootMapInfo(); $openlitespeedConfDocrootMapInfo = $this->getOpenlitespeedConfDocrootMapInfo(); foreach ( $openlitespeedConfDocrootMapInfo as $oDocRoot => $oDomains ) { if ( !isset($docRootMapInfo[$oDocRoot]) ) { $docRootMapInfo[$oDocRoot] = $oDomains; } else { foreach ( $oDomains as $oDomain ) { if ( !in_array($oDomain, $docRootMapInfo[$oDocRoot]) ) { $docRootMapInfo[$oDocRoot][] = $oDomain; } } } } $roots = array(); $servernames = array(); $index = 0; foreach ( $docRootMapInfo as $docRoot => $domains ) { $domains = array_unique($domains); $roots[$index] = $docRoot; foreach ( $domains as $domain ) { $servernames[$domain] = $index; } $index++; } $this->docRootMap = array( 'docroots' => $roots, 'names' => $servernames ); } /** * Check the user's httpd.conf file for a VirtualHost entry containing a * given servername/docroot combination and return the PHP handler version * if set. * * @param WPInstall $wpInstall * * @return string * * @throws LSCMException Thrown when a valid user data conf file could not * be found. */ protected function getCustomPhpHandlerVer( WPInstall $wpInstall ) { if ( ($serverName = $wpInstall->getServerName()) == null || ($docroot = $wpInstall->getDocRoot()) == null ) { return ''; } $escServerName = str_replace('.', '\.', $serverName); $escDocRoot = str_replace(array('.', '/'), array('\.', '\/'), $docroot); $user = $wpInstall->getOwnerInfo('user_name'); $httpdConfFile = "/usr/local/directadmin/data/users/$user/httpd.conf"; $olsConfFile = "/usr/local/directadmin/data/users/$user/openlitespeed.conf"; if ( file_exists($httpdConfFile) ) { $confFile = $httpdConfFile; $pattern = '/VirtualHost' . '(?:(?!<\/VirtualHost).)*' . "ServerName $escServerName" . '(?:(?!<\/VirtualHost).)*' . "DocumentRoot $escDocRoot" . '(?:(?!<\/VirtualHost).)*' . 'AddHandler.* \.php(\d\d)/sU'; } elseif ( file_exists($olsConfFile) ) { $confFile = $olsConfFile; $pattern = '/virtualHost\s' . '(?:(?!}\s*\n*virtualHost).)*?' . '{' . '(?:(?!}\s*\n*virtualHost).)*?' . "(?:\s|\n)docRoot\s+$escDocRoot(?:\s|\n)" . '(?:(?!}\s*\n*virtualHost).)*?' . "(?:\s|\n)vhDomain\s+$escServerName(?:\s|\n)" . '(?:(?!}\s*\n*virtualHost).)*?' . '(?:\s|\n)scripthandler(?:\s|\n)*{' . '(?:(?!}\s*\n*virtualHost).)*?' . '\sphp(\d\d)(?=\s|\n)/s'; } else { throw new LSCMException('Could not find valid user data conf file'); } if ( preg_match($pattern, file_get_contents($confFile), $m) ) { return $m[1]; } return ''; } /** * * @param WPInstall $wpInstall * * @return string * * @throws LSCMException Thrown indirectly by * $this->getCustomPhpHandlerVer() call. */ public function getPhpBinary( WPInstall $wpInstall ) { $phpBin = '/usr/local/bin/php'; if ( ($ver = $this->getCustomPhpHandlerVer($wpInstall)) != '' ) { $customBin = "/usr/local/php$ver/bin/php"; if ( file_exists($customBin) && is_executable($customBin) ) { $phpBin = $customBin; } } return "$phpBin $this->phpOptions"; } }
Close