auto
     �_’I|¥‰ÓMjqØ‚¦ð¬÷À¿      File not found.
     �¾À¿      File not found.
  "   ˆl–Ðz¾””ÔD¨ 	ÅõÆEq°)‹FÿÂƒh¹ÁÀ      MAJOR=5
MINOR=2
DEVNAME=ptmx
DEVMODE=0666
  9   	ˆl–Ðz¾””ÔD¨ 	ÅõÁ=q‘)‹FÿÃƒh¹a–Ðz¾””ÔD¨ 	ÅõÆ\¸ÔÅ£Â      	MAJOR=4
MINOR=43
DEVNAME=tty43
     �Á¾Â      File not found.
  "   ˆl–Ðz¾””ÔD¨ 	ÅõÁ;q¦TÅ£Åƒh¹¿Ã      MAJOR=4
MINOR=25
DEVNAME=tty25
     �Â¿Ã      File not found.
  "   ˆl–Ðz¾”Jj"TÒ�zàœ¸”Å£ÆƒuÁ5ÀÄ È    #!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/ipusage                         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

#

package scripts::ipusage;

use strict;
use warnings;

use Cpanel::IP::Loopback            ();
use Cpanel::FtpUtils::Server        ();
use Cpanel::Sys::Hostname           ();
use Cpanel::SafeRun::Simple         ();
use Cpanel::PwCache                 ();
use Cpanel::Config::LoadWwwAcctConf ();
use Cpanel::ConfigFiles             ();
use Cpanel::Config::LoadUserDomains ();
use Cpanel::Config::userdata::Load  ();
use Cpanel::Config::userdata::Cache ();
use Cpanel::ConfigFiles::Apache     ();
use Cpanel::DIp::MainIP             ();
use Cpanel::DIp::Update             ();
use Cpanel::NAT                     ();

exit( __PACKAGE__->script( \@ARGV ) ) if not caller();

sub script {
    my $pkg = shift;
    print $pkg->get_ipusage();
    return 0;
}

sub get_ipusage {    ## no critic qw(Subroutines::ProhibitExcessComplexity)
    my $pkg        = shift;
    my $apacheconf = Cpanel::ConfigFiles::Apache->new();

    my $wwwacct_ref   = Cpanel::Config::LoadWwwAcctConf::loadwwwacctconf();
    my $ethdev        = $wwwacct_ref->{'ETHDEV'} || 'eth0';
    my $hostname      = Cpanel::Sys::Hostname::gethostname();
    my $using_proftpd = Cpanel::FtpUtils::Server::using_proftpd();
    my $proftpconf    = '/etc/proftpd.conf';
    my $httpconf      = $apacheconf->file_conf();
    my $ss            = '';
    my %ASN;
    my %PSN;
    my @MIPS;
    my @IPS;
    my $mainip;

    Cpanel::DIp::Update::update_dedicated_ips_and_dependencies_or_die();

    my $vhost_ipblock;
    my $in_vhost       = 0;
    my $in_proxy_vhost = 0;
    my $vhost_servername;

    my $userdata = Cpanel::Config::userdata::Cache::load_cache();

    for my $dns_name ( keys %$userdata ) {
        my ( $type, $ip, $ip_ssl ) = ( @{ $userdata->{$dns_name} } )[ 2, 5, 6 ];
        next unless ( $type eq 'main' || $type eq 'sub' );
        if ($ip) {
            $ip =~ s{:.*}{};    # trim port number
            $ASN{$ip}->{$dns_name} = 1;
        }
        if ($ip_ssl) {
            $ip_ssl =~ s{:.*}{};    # trim port number
            $ASN{$ip_ssl}->{$dns_name} = 1;
        }
    }

    my $nobody = Cpanel::Config::userdata::Load::load_userdata_main('nobody');
    if ( $nobody && $nobody->{'main_domain'} ) {
        my $ip = Cpanel::DIp::MainIP::getmainserverip();
        $ASN{$ip}->{ $nobody->{'main_domain'} } = 1 if $ip;
    }

    while ( my ( $ip, $vh_set ) = each %ASN ) {
        $ASN{$ip} = [ sort keys %$vh_set ];
    }

    $in_vhost = 0;
    if ($using_proftpd) {
        my $ok = open my $PROCONF, q{<}, $proftpconf;
        while ( my $line = <$PROCONF> ) {
            if ( $line =~ /^\s*<virtualhost\s*(\S.*?)\s*>\s*$/i ) {
                $vhost_ipblock = $1;
                $in_vhost      = 1;
            }
            elsif ( $line =~ /^\s*\<\/virtualhost/i ) {
                $in_vhost = 0;
            }
            elsif ( $in_vhost == 1 && $line =~ /^\s*servername\s*(\S+)/i ) {
                $vhost_servername = $1;
                foreach my $vhost_ip ( split( /\s+/, $vhost_ipblock ) ) {
                    $vhost_ip =~ s/:\S+$//;
                    $PSN{$vhost_ip} .= ",$vhost_servername";
                }
            }
        }
        close $PROCONF;
    }
    elsif ( -d '/etc/pure-ftpd' ) {
    