⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.133
Server IP:
185.119.109.197
Server:
Linux managedhosting.chostar.me 5.15.0-160-generic #170-Ubuntu SMP Wed Oct 1 10:06:56 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.1.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
perl5
/
Virtualmin
/
Config
/
Plugin
/
View File Name :
Usermin.pm
package Virtualmin::Config::Plugin::Usermin; use strict; use warnings; no warnings qw(once); use parent 'Virtualmin::Config::Plugin'; our $config_directory; our (%gconfig, %uconfig, %uminiserv); our $trust_unknown_referers = 1; sub new { my ($class, %args) = @_; # inherit from Plugin my $self = $class->SUPER::new(name => 'Usermin', %args); return $self; } # actions method performs whatever configuration is needed for this # plugin. sub actions { my $self = shift; use Cwd; my $cwd = getcwd(); my $root = $self->root(); chdir($root); $0 = "$root/virtual-server/config-system.pl"; push(@INC, $root); push(@INC, "$root/vendor_perl"); eval 'use WebminCore'; ## no critic init_config(); $self->spin(); eval { foreign_require("init", "init-lib.pl"); foreign_require("usermin", "usermin-lib.pl"); usermin::get_usermin_config(\%uconfig); $uconfig{'theme'} = "authentic-theme"; $uconfig{'gotomodule'} = 'mailbox'; usermin::put_usermin_config(\%uconfig); usermin::get_usermin_miniserv_config(\%uminiserv); $uminiserv{'preroot'} = "authentic-theme"; $uminiserv{'ssl'} = "1"; $uminiserv{'ssl_cipher_list'} = $webmin::strong_ssl_ciphers; $uminiserv{'domainuser'} = 1; $uminiserv{'domainstrip'} = 1; # Enable 2FA $uminiserv{'twofactor_provider'} = 'totp'; $uminiserv{'twofactorfile'} ||= "$usermin::config{'usermin_dir'}/twofactor-users"; $uminiserv{'twofactor_wrapper'} = "$usermin::config{'usermin_dir'}/twofactor/twofactor.pl"; usermin::create_cron_wrapper($uminiserv{'twofactor_wrapper'}, "twofactor", "twofactor.pl"); my (%uacl, %umdirs); lock_file(usermin::usermin_acl_filename()); usermin::read_usermin_acl(\%uacl, \%umdirs); push(@{$umdirs{'user'}}, 'twofactor'); usermin::save_usermin_acl("user", $umdirs{'user'}); unlock_file(usermin::usermin_acl_filename()); usermin::put_usermin_miniserv_config(\%uminiserv); if (init::status_action("usermin")) { usermin::restart_usermin_miniserv(); } else { usermin::start_usermin(); } # Start Usermin at boot foreign_require("init", "init-lib.pl"); init::enable_at_boot("usermin"); $self->done(1); # OK! }; if ($@) { $self->done(0); # NOK! } } 1;