#!/usr/local/cpanel/3rdparty/bin/perl package scripts::whmlogin; # cpanel - scripts/whmlogin 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 use strict; use warnings; use Cpanel::SafeRun::Object (); use Cpanel::JSON (); exit( __PACKAGE__->run(@ARGV) ) unless caller(); sub run { my ( $self, @args ) = @_; unless ( $> == 0 || $< == 0 ) { print "You must run this program as the root user.\n"; return 1; } my $nowait; if (@args) { my $help = grep( m/help/, @args ) ? 1 : 0; my $msg = < 300 ) { print STDERR "\nGiving up on waiting.\n"; unlink $wait_file or print STDERR "Could not remove $wait_file: $!"; last; } } print STDERR "\n\n"; } my $run = Cpanel::SafeRun::Object->new_or_die( 'program' => '/usr/local/cpanel/bin/whmapi1', 'args' => [ '--output=json', 'create_user_session', 'user=root', 'service=whostmgrd' ] ); my $json = $run->stdout(); my $out = Cpanel::JSON::Load($json); if ( !$out->{'metadata'}{'result'} ) { die "whmapi1 create_user_session failed: $out->{'metadata'}{'reason'}" } print $out->{data}{url} . "\n"; return 0; }