LittleDemon WebShell


Linux sh00002.bigrock.com 5.14.0-687.29.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 23 16:18:48 EDT 2026 x86_64
Path : /scripts/
File Upload :
Command :
Current File : //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;
}

LittleDemon - FACEBOOK
[ KELUAR ]
Page not found – Sparkplug Films
Small totara tree on ridge above Long Point

Page not found

The page you are looking for doesn't exist, or it has been moved. Please try searching using the form below.