!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/uploads/script/vendor/composer/composer/src/Composer/Util/Http/   drwxr-xr-x
Free 13.18 GB of 57.97 GB (22.73%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     ProxyHelper.php (5.2 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

/*
 * This file is part of Composer.
 *
 * (c) Nils Adermann <naderman@naderman.de>
 *     Jordi Boggiano <j.boggiano@seld.be>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Composer\Util\Http;

/**
 * Proxy discovery and helper class
 *
 * @internal
 * @author John Stevenson <john-stevenson@blueyonder.co.uk>
 */
class ProxyHelper
{
    
/**
     * Returns proxy environment values
     *
     * @throws \RuntimeException on malformed url
     * @return array             httpProxy, httpsProxy, noProxy values
     */
    
public static function getProxyData()
    {
        
$httpProxy null;
        
$httpsProxy null;

        
// Handle http_proxy/HTTP_PROXY on CLI only for security reasons
        
if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
            if (
$env self::getProxyEnv(array('http_proxy''HTTP_PROXY'), $name)) {
                
$httpProxy self::checkProxy($env$name);
            }
        }

        
// Prefer CGI_HTTP_PROXY if available
        
if ($env self::getProxyEnv(array('CGI_HTTP_PROXY'), $name)) {
            
$httpProxy self::checkProxy($env$name);
        }

        
// Handle https_proxy/HTTPS_PROXY
        
if ($env self::getProxyEnv(array('https_proxy''HTTPS_PROXY'), $name)) {
            
$httpsProxy self::checkProxy($env$name);
        } else {
            
$httpsProxy $httpProxy;
        }

        
// Handle no_proxy
        
$noProxy self::getProxyEnv(array('no_proxy''NO_PROXY'), $name);

        return array(
$httpProxy$httpsProxy$noProxy);
    }

    
/**
     * Returns http context options for the proxy url
     *
     * @param  string $proxyUrl
     * @return array
     */
    
public static function getContextOptions($proxyUrl)
    {
        
$proxy parse_url($proxyUrl);

        
// Remove any authorization
        
$proxyUrl self::formatParsedUrl($proxyfalse);
        
$proxyUrl str_replace(array('http://''https://'), array('tcp://''ssl://'), $proxyUrl);

        
$options['http']['proxy'] = $proxyUrl;

        
// Handle any authorization
        
if (isset($proxy['user'])) {
            
$auth rawurldecode($proxy['user']);

            if (isset(
$proxy['pass'])) {
                
$auth .= ':' rawurldecode($proxy['pass']);
            }
            
$auth base64_encode($auth);
            
// Set header as a string
            
$options['http']['header'] = "Proxy-Authorization: Basic {$auth}";
        }

        return 
$options;
    }

    
/**
     * Sets/unsets request_fulluri value in http context options array
     *
     * @param string $requestUrl
     * @param array  $options    Set by method
     */
    
public static function setRequestFullUri($requestUrl, array &$options)
    {
        if (
'http' === parse_url($requestUrlPHP_URL_SCHEME)) {
            
$options['http']['request_fulluri'] = true;
        } else {
            unset(
$options['http']['request_fulluri']);
        }
    }

    
/**
     * Searches $_SERVER for case-sensitive values
     *
     * @param  array       $names Names to search for
     * @param  mixed       $name  Name of any found value
     * @return string|null The found value
     */
    
private static function getProxyEnv(array $names, &$name)
    {
        foreach (
$names as $name) {
            if (!empty(
$_SERVER[$name])) {
                return 
$_SERVER[$name];
            }
        }
    }

    
/**
     * Checks and formats a proxy url from the environment
     *
     * @param  string            $proxyUrl
     * @param  string            $envName
     * @throws \RuntimeException on malformed url
     * @return string            The formatted proxy url
     */
    
private static function checkProxy($proxyUrl$envName)
    {
        
$error sprintf('malformed %s url'$envName);
        
$proxy parse_url($proxyUrl);

        
// We need parse_url to have identified a host
        
if (!isset($proxy['host'])) {
            throw new 
\RuntimeException($error);
        }

        
$proxyUrl self::formatParsedUrl($proxytrue);

        
// We need a port because streams and curl use different defaults
        
if (!parse_url($proxyUrlPHP_URL_PORT)) {
            throw new 
\RuntimeException($error);
        }

        return 
$proxyUrl;
    }

    
/**
     * Formats a url from its component parts
     *
     * @param  array  $proxy       Values from parse_url
     * @param  bool   $includeAuth Whether to include authorization values
     * @return string The formatted value
     */
    
private static function formatParsedUrl(array $proxy$includeAuth)
    {
        
$proxyUrl = isset($proxy['scheme']) ? strtolower($proxy['scheme']) . '://' '';

        if (
$includeAuth && isset($proxy['user'])) {
            
$proxyUrl .= $proxy['user'];

            if (isset(
$proxy['pass'])) {
                
$proxyUrl .= ':' $proxy['pass'];
            }
            
$proxyUrl .= '@';
        }

        
$proxyUrl .= $proxy['host'];

        if (isset(
$proxy['port'])) {
            
$proxyUrl .= ':' $proxy['port'];
        } elseif (
strpos($proxyUrl'http://') === 0) {
            
$proxyUrl .= ':80';
        } elseif (
strpos($proxyUrl'https://') === 0) {
            
$proxyUrl .= ':443';
        }

        return 
$proxyUrl;
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0062 ]--