[ SEA-GHOST MINI SHELL]
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/hook 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
# This script is provided as an abstraction/sanity layer around Cpanel::Hooks.
# This is used to ensure that critical subsystems cannot break if Cpanel::Hooks does.
use Cpanel::Hooks ();
use Cpanel::Usage ();
my ( $category, $event, $stage );
Cpanel::Usage::wrap_options( \@ARGV, \&usage, { 'category' => \$category, 'event' => \$event, 'stage' => \$stage } );
unless ( $category && $event && $stage ) {
usage(1);
}
my ( $result, $msgs ) = Cpanel::Hooks::hook(
{
'category' => $category,
'event' => $event,
'stage' => $stage,
},
{},
);
my $hooks_msg = int @{$msgs} ? join "\n", @{$msgs} : '';
print $hooks_msg;
exit( $result ? 0 : 2 );
sub usage {
my $exit_code = shift || 0;
print <<EO_USAGE;
hook --category=<category> --event=<event> --stage=<stage>
Executes any hooks that would be called normally in the specified context.
Options:
--category Category of hook to execute (Example: System)
--event Event that the hook is for (Example: upcp)
--stage Stage of event for the hook (Example: pre)
EO_USAGE
exit $exit_code;
}
SEA-GHOST - SHELL CODING BY SEA-GHOST