Server : Apache System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64 User : nobody ( 99) PHP Version : 8.1.23 Disable Function : NONE Directory : /scripts/ |
#!/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; }