SHELL BYPASS 403 |
Modern UI. Responsive. Powerful.

Faizzz-Chin Shell

: /usr/local/share/perl5/cPanel/PublicAPI/ [ drwxr-xr-x ]
Uname\Kernel: Linux server.kxo.bgz.mybluehostin.me 3.10.0-1160.119.1.el7.tuxcare.els19.x86_64 #1 SMP Mon Mar 31 17:29:00 UTC 2025 x86_64
Server: Apache
PHP Version: 8.2.28 [ PHP INFO ]
Operating System: Linux
Server Ip: 162.240.163.222
Your Ip: 216.73.216.114
Date Time: 2025-07-11 17:12:30
User: dilseshaadi (1027) | Group: dilseshaadi (1027)
Safe Mode: OFF
Disable Function: exec,passthru,shell_exec,system

name : WHM.pm
package cPanel::PublicAPI::WHM;

# Copyright (c) 2015, cPanel, Inc.
# All rights reserved.
# http://cpanel.net
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the owner nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

use cPanel::PublicAPI ();

our $VERSION = 1.0;

package cPanel::PublicAPI;

sub simple_get_whmreq {
    my ( $self, $uri, $argref, $argnameref, $opts ) = @_;

    $self->_init() if !exists $cPanel::PublicAPI::CFG{'init'};

    $self->debug("simple_get_whmreq: ( $self, $uri, $argref, $argnameref, $opts )\n") if $self->{'debug'};

    my $count = 0;
    if ( !$opts || !ref $opts ) { $opts = []; }
    if ( ref $argnameref ) {
        foreach my $arg ( @{$argnameref} ) {
            push @{$opts}, $cPanel::PublicAPI::CFG{'uri_encoder_func'}->($arg) . '=' . ( $cPanel::PublicAPI::CFG{'uri_encoder_func'}->( $argref->[$count] ) || '' );
            $count++;
        }
    }
    my $page_ref = $self->whmreq( $uri . '?' . join( '&', @{$opts} ) );
    if ( $self->{'error'} ) { return ''; }
    return $page_ref;
}

sub simple_post_whmreq {
    my ( $self, $uri, $argref, $argnameref, $opts ) = @_;

    $self->_init() if !exists $cPanel::PublicAPI::CFG{'init'};

    $self->debug("simple_post_whmreq: ( $self, $uri, $argref, $argnameref, $opts )") if $self->{'debug'};

    my $count = 0;
    if ( !$opts || !ref $opts ) { $opts = []; }
    if ( ref $argnameref ) {
        foreach my $arg ( @{$argnameref} ) {
            push @{$opts}, $cPanel::PublicAPI::CFG{'uri_encoder_func'}->($arg) . '=' . $cPanel::PublicAPI::CFG{'uri_encoder_func'}->( $argref->[$count] );
            $count++;
        }
    }
    my $page_ref = $self->whmreq( $uri, 'POST', join( '&', @{$opts} ) );
    if ( $self->{'error'} ) { return ''; }
    return $page_ref;
}

sub whmreq {
    my $self     = shift;
    my $uri      = shift;
    my $method   = shift || 'GET';
    my $formdata = shift;
    if ( $method eq 'GET' && $uri =~ /\?/ ) {
        ( $uri, $formdata ) = split( /\?/, $uri );
    }

    $self->debug("whmreq: ( $self, $uri, $method, $formdata )\n") if $self->{'debug'};

    my ( $status, $statusmsg, $data ) = $self->api_request( 'whostmgr', $uri, $method, $formdata );
    return wantarray ? split( /\r?\n/, $$data ) : $$data;
}

sub api1 {    #Cpanel::Accounting compat
    my $self   = shift;
    my $user   = shift;
    my $module = shift;
    my $func   = shift;
    return $self->cpanel_api1_request( 'whostmgr', { 'user' => $user, 'module' => $module, 'func' => $func }, \@_, 'xml' );
}

sub api2 {    #Cpanel::Accounting compat
    my $self   = shift;
    my $user   = shift;
    my $module = shift;
    my $func   = shift;
    return $self->cpanel_api2_request( 'whostmgr', { 'user' => $user, 'module' => $module, 'func' => $func }, {@_}, 'xml' );
}

1;
© 2025 Faizzz-Chin