MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.144.89.42
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /srv/../scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //srv/../scripts/whoowns
#!/usr/local/cpanel/3rdparty/bin/perl
package scripts::whoowns;

use strict;

use Getopt::Long ();
use IO::Handle   ();

our $USERDOMAINS = '/etc/userdomains';

exit script( \*STDOUT, @ARGV ) unless caller;

sub script {
    my ( $fh, @args ) = @_;

    my $help;
    Getopt::Long::GetOptionsFromArray(
        \@args,
        'help' => \$help
    ) or return usage(2);
    return usage(0) if $help;
    return usage(2) unless @args;

    my $found;
    my $domain = $args[0] =~ s{^https?://([^/]+)/?.*$}{$1}r;
    if ( open( my $ud, '<', $USERDOMAINS ) ) {
        while (<$ud>) {
            if (/^\Q$domain\E: (\S+)/i) {
                $fh->print("$1\n");
                $found = 1;
            }
        }
        close($ud);
    }
    return $found ? 0 : 1;
}

sub usage {
    my ($retval) = @_;
    my $fh = $retval ? \*STDERR : \*STDOUT;
    $fh->print(<<EOM);
whoowns DOMAIN-OR-URL

Prints the user that owns the given domain, if any.  If a URL is given instead,
looks for the user owning the domain specified in the URL.  Only HTTP and HTTPS
URLs are accepted.

Exits 0 if the user is found, 1 if not, and 2 on error.
EOM
    return $retval;
}

MMCT - 2023