Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.222
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
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
README
+ Create Folder
+ Create File
/
home /
thearyasamaj /
public_html /
discover /
includes /
[ HOME SHELL ]
Name
Size
Permission
Action
actions
[ DIR ]
drwxr-xr-x
api
[ DIR ]
drwxr-xr-x
cache
[ DIR ]
drwxr-xr-x
context
[ DIR ]
drwxr-xr-x
db
[ DIR ]
drwxr-xr-x
debug
[ DIR ]
drwxr-xr-x
diff
[ DIR ]
drwxr-xr-x
extauth
[ DIR ]
drwxr-xr-x
filerepo
[ DIR ]
drwxr-xr-x
installer
[ DIR ]
drwxr-xr-x
interwiki
[ DIR ]
drwxr-xr-x
job
[ DIR ]
drwxr-xr-x
json
[ DIR ]
drwxr-xr-x
libs
[ DIR ]
drwxr-xr-x
logging
[ DIR ]
drwxr-xr-x
media
[ DIR ]
drwxr-xr-x
normal
[ DIR ]
drwxr-xr-x
objectcache
[ DIR ]
drwxr-xr-x
parser
[ DIR ]
drwxr-xr-x
profiler
[ DIR ]
drwxr-xr-x
resourceloader
[ DIR ]
drwxr-xr-x
revisiondelete
[ DIR ]
drwxr-xr-x
search
[ DIR ]
drwxr-xr-x
specials
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
upload
[ DIR ]
drwxr-xr-x
zhtable
[ DIR ]
drwxr-xr-x
.htaccess
14
B
-rw-r--r--
Action.php
14.69
KB
-rw-r--r--
AjaxDispatcher.php
3.34
KB
-rw-r--r--
AjaxResponse.php
6.32
KB
-rw-r--r--
Article.php
54.32
KB
-rw-r--r--
AuthPlugin.php
7.85
KB
-rw-r--r--
AutoLoader.php
52.01
KB
-rw-r--r--
Autopromote.php
5.92
KB
-rw-r--r--
BacklinkCache.php
9.32
KB
-rw-r--r--
Block.php
33.87
KB
-rw-r--r--
Category.php
8.44
KB
-rw-r--r--
CategoryPage.php
2.58
KB
-rw-r--r--
CategoryViewer.php
20
KB
-rw-r--r--
Categoryfinder.php
5.16
KB
-rw-r--r--
Cdb.php
3.67
KB
-rw-r--r--
Cdb_PHP.php
10.73
KB
-rw-r--r--
ChangeTags.php
8.57
KB
-rw-r--r--
ChangesFeed.php
5.94
KB
-rw-r--r--
ChangesList.php
34.87
KB
-rw-r--r--
Collation.php
9.86
KB
-rw-r--r--
ConfEditor.php
29.16
KB
-rw-r--r--
Cookie.php
6.22
KB
-rw-r--r--
CryptRand.php
17.09
KB
-rw-r--r--
DefaultSettings.php
186.34
KB
-rw-r--r--
DeferredUpdates.php
2.06
KB
-rw-r--r--
Defines.php
7.21
KB
-rw-r--r--
EditPage.php
103.6
KB
-rw-r--r--
Exception.php
13.93
KB
-rw-r--r--
Export.php
32.68
KB
-rw-r--r--
ExternalEdit.php
3.51
KB
-rw-r--r--
ExternalStore.php
4.29
KB
-rw-r--r--
ExternalStoreDB.php
4.47
KB
-rw-r--r--
ExternalStoreHttp.php
463
B
-rw-r--r--
ExternalUser.php
8.96
KB
-rw-r--r--
FakeTitle.php
6.54
KB
-rw-r--r--
Fallback.php
5.61
KB
-rw-r--r--
Feed.php
10.26
KB
-rw-r--r--
FeedUtils.php
6.37
KB
-rw-r--r--
FileDeleteForm.php
10.06
KB
-rw-r--r--
ForkController.php
4.04
KB
-rw-r--r--
FormOptions.php
7.56
KB
-rw-r--r--
GlobalFunctions.php
107.24
KB
-rw-r--r--
HTMLForm.php
53.15
KB
-rw-r--r--
HistoryBlob.php
14.38
KB
-rw-r--r--
Hooks.php
7.89
KB
-rw-r--r--
Html.php
26.4
KB
-rw-r--r--
HttpFunctions.old.php
318
B
-rw-r--r--
HttpFunctions.php
23.29
KB
-rw-r--r--
IP.php
21.76
KB
-rw-r--r--
ImageFunctions.php
2.33
KB
-rw-r--r--
ImageGallery.php
10.42
KB
-rw-r--r--
ImagePage.php
36.96
KB
-rw-r--r--
ImageQueryPage.php
1.5
KB
-rw-r--r--
Import.php
37.73
KB
-rw-r--r--
Init.php
5.19
KB
-rw-r--r--
Licenses.php
4.17
KB
-rw-r--r--
LinkFilter.php
4.46
KB
-rw-r--r--
Linker.php
67.82
KB
-rw-r--r--
LinksUpdate.php
24.83
KB
-rw-r--r--
LocalisationCache.php
31.51
KB
-rw-r--r--
MWFunction.php
2.22
KB
-rw-r--r--
MagicWord.php
19.42
KB
-rw-r--r--
Message.php
15.95
KB
-rw-r--r--
MessageBlobStore.php
10.5
KB
-rw-r--r--
Metadata.php
5.5
KB
-rw-r--r--
MimeMagic.php
32.92
KB
-rw-r--r--
Namespace.php
9.02
KB
-rw-r--r--
OutputHandler.php
4.81
KB
-rw-r--r--
OutputPage.php
104.02
KB
-rw-r--r--
PHPVersionError.php
2.95
KB
-rw-r--r--
PageQueryPage.php
639
B
-rw-r--r--
Pager.php
33.1
KB
-rw-r--r--
PathRouter.php
11.23
KB
-rw-r--r--
PoolCounter.php
5.69
KB
-rw-r--r--
Preferences.php
47.49
KB
-rw-r--r--
PrefixSearch.php
5.55
KB
-rw-r--r--
ProtectionForm.php
20.1
KB
-rw-r--r--
ProxyTools.php
2.5
KB
-rw-r--r--
QueryPage.php
22.78
KB
-rw-r--r--
RecentChange.php
22.31
KB
-rw-r--r--
Revision.php
33.01
KB
-rw-r--r--
RevisionList.php
7.2
KB
-rw-r--r--
Sanitizer.php
52.53
KB
-rw-r--r--
SeleniumWebSettings.php
5.85
KB
-rw-r--r--
Setup.php
16.36
KB
-rw-r--r--
SiteConfiguration.php
12.88
KB
-rw-r--r--
SiteStats.php
11.54
KB
-rw-r--r--
Skin.php
41.11
KB
-rw-r--r--
SkinLegacy.php
20.25
KB
-rw-r--r--
SkinTemplate.php
62.44
KB
-rw-r--r--
SpecialPage.php
32.82
KB
-rw-r--r--
SpecialPageFactory.php
18.3
KB
-rw-r--r--
SquidPurgeClient.php
10.05
KB
-rw-r--r--
Status.php
8.62
KB
-rw-r--r--
StreamFile.php
5.46
KB
-rw-r--r--
StringUtils.php
11.32
KB
-rw-r--r--
StubObject.php
4.61
KB
-rw-r--r--
Title.php
133.73
KB
-rw-r--r--
TitleArray.php
1.95
KB
-rw-r--r--
User.php
116.25
KB
-rw-r--r--
UserArray.php
1.92
KB
-rw-r--r--
UserMailer.php
24.12
KB
-rw-r--r--
UserRightsProxy.php
5.56
KB
-rw-r--r--
ViewCountUpdate.php
3.43
KB
-rw-r--r--
WatchedItem.php
4.81
KB
-rw-r--r--
WebRequest.php
37.03
KB
-rw-r--r--
WebResponse.php
4.29
KB
-rw-r--r--
WebStart.php
4.94
KB
-rw-r--r--
Wiki.php
18.24
KB
-rw-r--r--
WikiCategoryPage.php
618
B
-rw-r--r--
WikiError.php
3.88
KB
-rw-r--r--
WikiFilePage.php
3.71
KB
-rw-r--r--
WikiMap.php
5.38
KB
-rw-r--r--
WikiPage.php
85.98
KB
-rw-r--r--
Xml.php
27.63
KB
-rw-r--r--
XmlTypeCheck.php
2.52
KB
-rw-r--r--
ZhClient.php
2.85
KB
-rw-r--r--
ZhConversion.php
415
KB
-rw-r--r--
ZipDirectoryReader.php
20.33
KB
-rw-r--r--
mime.info
3.86
KB
-rw-r--r--
mime.types
5.24
KB
-rw-r--r--
tidy.conf
413
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : SquidPurgeClient.php
<?php /** * An HTTP 1.0 client built for the purposes of purging Squid and Varnish. * Uses asynchronous I/O, allowing purges to be done in a highly parallel * manner. * * Could be replaced by curl_multi_exec() or some such. */ class SquidPurgeClient { var $host, $port, $ip; var $readState = 'idle'; var $writeBuffer = ''; var $requests = array(); var $currentRequestIndex; const EINTR = 4; const EAGAIN = 11; const EINPROGRESS = 115; const BUFFER_SIZE = 8192; /** * The socket resource, or null for unconnected, or false for disabled due to error */ var $socket; public function __construct( $server, $options = array() ) { $parts = explode( ':', $server, 2 ); $this->host = $parts[0]; $this->port = isset( $parts[1] ) ? $parts[1] : 80; } /** * Open a socket if there isn't one open already, return it. * Returns false on error. * * @return false|resource */ protected function getSocket() { if ( $this->socket !== null ) { return $this->socket; } $ip = $this->getIP(); if ( !$ip ) { $this->log( "DNS error" ); $this->markDown(); return false; } $this->socket = socket_create( AF_INET, SOCK_STREAM, SOL_TCP ); socket_set_nonblock( $this->socket ); wfSuppressWarnings(); $ok = socket_connect( $this->socket, $ip, $this->port ); wfRestoreWarnings(); if ( !$ok ) { $error = socket_last_error( $this->socket ); if ( $error !== self::EINPROGRESS ) { $this->log( "connection error: " . socket_strerror( $error ) ); $this->markDown(); return false; } } return $this->socket; } /** * Get read socket array for select() * @return array */ public function getReadSocketsForSelect() { if ( $this->readState == 'idle' ) { return array(); } $socket = $this->getSocket(); if ( $socket === false ) { return array(); } return array( $socket ); } /** * Get write socket array for select() * @return array */ public function getWriteSocketsForSelect() { if ( !strlen( $this->writeBuffer ) ) { return array(); } $socket = $this->getSocket(); if ( $socket === false ) { return array(); } return array( $socket ); } /** * Get the host's IP address. * Does not support IPv6 at present due to the lack of a convenient interface in PHP. */ protected function getIP() { if ( $this->ip === null ) { if ( IP::isIPv4( $this->host ) ) { $this->ip = $this->host; } elseif ( IP::isIPv6( $this->host ) ) { throw new MWException( '$wgSquidServers does not support IPv6' ); } else { wfSuppressWarnings(); $this->ip = gethostbyname( $this->host ); if ( $this->ip === $this->host ) { $this->ip = false; } wfRestoreWarnings(); } } return $this->ip; } /** * Close the socket and ignore any future purge requests. * This is called if there is a protocol error. */ protected function markDown() { $this->close(); $this->socket = false; } /** * Close the socket but allow it to be reopened for future purge requests */ public function close() { if ( $this->socket ) { wfSuppressWarnings(); socket_set_block( $this->socket ); socket_shutdown( $this->socket ); socket_close( $this->socket ); wfRestoreWarnings(); } $this->socket = null; $this->readBuffer = ''; // Write buffer is kept since it may contain a request for the next socket } /** * Queue a purge operation * * @param $url string */ public function queuePurge( $url ) { $url = SquidUpdate::expand( str_replace( "\n", '', $url ) ); $this->requests[] = "PURGE $url HTTP/1.0\r\n" . "Connection: Keep-Alive\r\n" . "Proxy-Connection: Keep-Alive\r\n" . "User-Agent: " . Http::userAgent() . ' ' . __CLASS__ . "\r\n\r\n"; if ( $this->currentRequestIndex === null ) { $this->nextRequest(); } } /** * @return bool */ public function isIdle() { return strlen( $this->writeBuffer ) == 0 && $this->readState == 'idle'; } /** * Perform pending writes. Call this when socket_select() indicates that writing will not block. */ public function doWrites() { if ( !strlen( $this->writeBuffer ) ) { return; } $socket = $this->getSocket(); if ( !$socket ) { return; } if ( strlen( $this->writeBuffer ) <= self::BUFFER_SIZE ) { $buf = $this->writeBuffer; $flags = MSG_EOR; } else { $buf = substr( $this->writeBuffer, 0, self::BUFFER_SIZE ); $flags = 0; } wfSuppressWarnings(); $bytesSent = socket_send( $socket, $buf, strlen( $buf ), $flags ); wfRestoreWarnings(); if ( $bytesSent === false ) { $error = socket_last_error( $socket ); if ( $error != self::EAGAIN && $error != self::EINTR ) { $this->log( 'write error: ' . socket_strerror( $error ) ); $this->markDown(); } return; } $this->writeBuffer = substr( $this->writeBuffer, $bytesSent ); } /** * Read some data. Call this when socket_select() indicates that the read buffer is non-empty. */ public function doReads() { $socket = $this->getSocket(); if ( !$socket ) { return; } $buf = ''; wfSuppressWarnings(); $bytesRead = socket_recv( $socket, $buf, self::BUFFER_SIZE, 0 ); wfRestoreWarnings(); if ( $bytesRead === false ) { $error = socket_last_error( $socket ); if ( $error != self::EAGAIN && $error != self::EINTR ) { $this->log( 'read error: ' . socket_strerror( $error ) ); $this->markDown(); return; } } elseif ( $bytesRead === 0 ) { // Assume EOF $this->close(); return; } $this->readBuffer .= $buf; while ( $this->socket && $this->processReadBuffer() === 'continue' ); } /** * @throws MWException * @return string */ protected function processReadBuffer() { switch ( $this->readState ) { case 'idle': return 'done'; case 'status': case 'header': $lines = explode( "\r\n", $this->readBuffer, 2 ); if ( count( $lines ) < 2 ) { return 'done'; } if ( $this->readState == 'status' ) { $this->processStatusLine( $lines[0] ); } else { // header $this->processHeaderLine( $lines[0] ); } $this->readBuffer = $lines[1]; return 'continue'; case 'body': if ( $this->bodyRemaining !== null ) { if ( $this->bodyRemaining > strlen( $this->readBuffer ) ) { $this->bodyRemaining -= strlen( $this->readBuffer ); $this->readBuffer = ''; return 'done'; } else { $this->readBuffer = substr( $this->readBuffer, $this->bodyRemaining ); $this->bodyRemaining = 0; $this->nextRequest(); return 'continue'; } } else { // No content length, read all data to EOF $this->readBuffer = ''; return 'done'; } default: throw new MWException( __METHOD__.': unexpected state' ); } } /** * @param $line * @return */ protected function processStatusLine( $line ) { if ( !preg_match( '!^HTTP/(\d+)\.(\d+) (\d{3}) (.*)$!', $line, $m ) ) { $this->log( 'invalid status line' ); $this->markDown(); return; } list( , , , $status, $reason ) = $m; $status = intval( $status ); if ( $status !== 200 && $status !== 404 ) { $this->log( "unexpected status code: $status $reason" ); $this->markDown(); return; } $this->readState = 'header'; } /** * @param $line string */ protected function processHeaderLine( $line ) { if ( preg_match( '/^Content-Length: (\d+)$/i', $line, $m ) ) { $this->bodyRemaining = intval( $m[1] ); } elseif ( $line === '' ) { $this->readState = 'body'; } } protected function nextRequest() { if ( $this->currentRequestIndex !== null ) { unset( $this->requests[$this->currentRequestIndex] ); } if ( count( $this->requests ) ) { $this->readState = 'status'; $this->currentRequestIndex = key( $this->requests ); $this->writeBuffer = $this->requests[$this->currentRequestIndex]; } else { $this->readState = 'idle'; $this->currentRequestIndex = null; $this->writeBuffer = ''; } $this->bodyRemaining = null; } protected function log( $msg ) { wfDebugLog( 'squid', __CLASS__." ($this->host): $msg\n" ); } } class SquidPurgeClientPool { /** * @var array of SquidPurgeClient */ var $clients = array(); var $timeout = 5; function __construct( $options = array() ) { if ( isset( $options['timeout'] ) ) { $this->timeout = $options['timeout']; } } /** * @param $client SquidPurgeClient * @return void */ public function addClient( $client ) { $this->clients[] = $client; } public function run() { $done = false; $startTime = microtime( true ); while ( !$done ) { $readSockets = $writeSockets = array(); foreach ( $this->clients as $clientIndex => $client ) { $sockets = $client->getReadSocketsForSelect(); foreach ( $sockets as $i => $socket ) { $readSockets["$clientIndex/$i"] = $socket; } $sockets = $client->getWriteSocketsForSelect(); foreach ( $sockets as $i => $socket ) { $writeSockets["$clientIndex/$i"] = $socket; } } if ( !count( $readSockets ) && !count( $writeSockets ) ) { break; } $exceptSockets = null; $timeout = min( $startTime + $this->timeout - microtime( true ), 1 ); wfSuppressWarnings(); $numReady = socket_select( $readSockets, $writeSockets, $exceptSockets, $timeout ); wfRestoreWarnings(); if ( $numReady === false ) { wfDebugLog( 'squid', __METHOD__.': Error in stream_select: ' . socket_strerror( socket_last_error() ) . "\n" ); break; } // Check for timeout, use 1% tolerance since we aimed at having socket_select() // exit at precisely the overall timeout if ( microtime( true ) - $startTime > $this->timeout * 0.99 ) { wfDebugLog( 'squid', __CLASS__.": timeout ({$this->timeout}s)\n" ); break; } elseif ( !$numReady ) { continue; } foreach ( $readSockets as $key => $socket ) { list( $clientIndex, ) = explode( '/', $key ); $client = $this->clients[$clientIndex]; $client->doReads(); } foreach ( $writeSockets as $key => $socket ) { list( $clientIndex, ) = explode( '/', $key ); $client = $this->clients[$clientIndex]; $client->doWrites(); } $done = true; foreach ( $this->clients as $client ) { if ( !$client->isIdle() ) { $done = false; } } } foreach ( $this->clients as $client ) { $client->close(); } } }
Close