[ SEA-GHOST MINI SHELL]

Path : /scripts/
FILE UPLOADER :
Current File : //scripts/updatessldomains

#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/updatessldomains                Copyright 2022 cPanel, L.L.C.
#                                                           All rights reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

# ignore our parent if it dies as this could result in
# a blank domainips files
$SIG{'HUP'} = 'IGNORE';
$SIG{'INT'} = 'IGNORE';

use strict;
use Cpanel::Config                  ();
use Cpanel::Config::userdata::Cache ();
use Cpanel::SafeFile                ();
use IO::Handle                      ();
use Getopt::Long                    ();
use Pod::Usage                      ();

my $help = 0;
Getopt::Long::GetOptions( 'help' => \$help );
Pod::Usage::pod2usage(1) if $help;

my $ssl_port = Cpanel::Config::get_ssl_httpd_port();
my %SSLDOMAINIPS;

my $userdata = Cpanel::Config::userdata::Cache::load_cache();
for my $dns_name ( keys %{$userdata} ) {
    my ( $type, $ssl_ip ) = @{ $userdata->{$dns_name} }[ 2, 6 ];
    next unless $ssl_ip;
    next unless ( $type eq 'main' || $type eq 'sub' );
    $ssl_ip =~ s/:.*//;    # Strip off port number
    $SSLDOMAINIPS{$dns_name} = $ssl_ip;
}

my $ssldomains_fh  = IO::Handle->new();
my $ssldomainslock = Cpanel::SafeFile::safeopen( $ssldomains_fh, '>', '/etc/ssldomains' ) || die "Unable to write: $!";
foreach my $ssldomain ( sort keys %SSLDOMAINIPS ) {
    print $ssldomains_fh "$ssldomain: $SSLDOMAINIPS{$ssldomain}\n";
}
Cpanel::SafeFile::safeclose( $ssldomains_fh, $ssldomainslock );

chmod oct(600), '/etc/ssldomains';

__END__

=head1 NAME

updatessldomains - Update the /etc/ssldomains list of SSL domains assigned to IP addresses

=head1 SYNOPSIS

updatessldomains [options]

    Options:
      --help       Brief help message

=cut

SEA-GHOST - SHELL CODING BY SEA-GHOST