Linux server.thearyasamaj.org 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64
Apache
: 103.90.241.146 | : 216.73.216.3
Cant Read [ /etc/named.conf ]
5.6.40
ftpuser@mantra.thearyasamaj.org
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
libexec /
webmin /
exim /
[ HOME SHELL ]
Name
Size
Permission
Action
CHANGELOG
97
B
-rw-r--r--
config
205
B
-rw-r--r--
config.info
359
B
-rw-r--r--
config.info.ca
399
B
-rw-r--r--
config.info.de
410
B
-rw-r--r--
config.info.hu
0
B
-rw-r--r--
config.info.nl
385
B
-rw-r--r--
config.info.pl
388
B
-rw-r--r--
exim-lib.pl
6.24
KB
-rwxr-xr-x
install_check.pl
328
B
-rwxr-xr-x
module.info
97
B
-rw-r--r--
module.info.af
0
B
-rw-r--r--
module.info.af.auto
49
B
-rw-r--r--
module.info.ar
0
B
-rw-r--r--
module.info.ar.auto
65
B
-rw-r--r--
module.info.be
0
B
-rw-r--r--
module.info.be.auto
55
B
-rw-r--r--
module.info.bg
0
B
-rw-r--r--
module.info.bg.auto
49
B
-rw-r--r--
module.info.ca
32
B
-rw-r--r--
module.info.ca.auto
32
B
-rw-r--r--
module.info.cs
0
B
-rw-r--r--
module.info.cs.auto
72
B
-rw-r--r--
module.info.da
0
B
-rw-r--r--
module.info.da.auto
49
B
-rw-r--r--
module.info.de
0
B
-rw-r--r--
module.info.de.auto
49
B
-rw-r--r--
module.info.el
0
B
-rw-r--r--
module.info.el.auto
49
B
-rw-r--r--
module.info.es
0
B
-rw-r--r--
module.info.es.auto
49
B
-rw-r--r--
module.info.eu
0
B
-rw-r--r--
module.info.eu.auto
55
B
-rw-r--r--
module.info.fa
0
B
-rw-r--r--
module.info.fa.auto
74
B
-rw-r--r--
module.info.fi
0
B
-rw-r--r--
module.info.fi.auto
49
B
-rw-r--r--
module.info.fr
0
B
-rw-r--r--
module.info.fr.auto
59
B
-rw-r--r--
module.info.he
0
B
-rw-r--r--
module.info.he.auto
53
B
-rw-r--r--
module.info.hr
0
B
-rw-r--r--
module.info.hr.auto
57
B
-rw-r--r--
module.info.hu
33
B
-rw-r--r--
module.info.hu.auto
25
B
-rw-r--r--
module.info.it
0
B
-rw-r--r--
module.info.it.auto
49
B
-rw-r--r--
module.info.ja
0
B
-rw-r--r--
module.info.ja.auto
68
B
-rw-r--r--
module.info.ko
0
B
-rw-r--r--
module.info.ko.auto
54
B
-rw-r--r--
module.info.lt
0
B
-rw-r--r--
module.info.lt.auto
65
B
-rw-r--r--
module.info.lv
0
B
-rw-r--r--
module.info.lv.auto
52
B
-rw-r--r--
module.info.ms
26
B
-rw-r--r--
module.info.ms.auto
25
B
-rw-r--r--
module.info.mt
0
B
-rw-r--r--
module.info.mt.auto
53
B
-rw-r--r--
module.info.nl
24
B
-rw-r--r--
module.info.nl.auto
25
B
-rw-r--r--
module.info.no
0
B
-rw-r--r--
module.info.no.auto
49
B
-rw-r--r--
module.info.pl
29
B
-rw-r--r--
module.info.pl.auto
25
B
-rw-r--r--
module.info.pt
0
B
-rw-r--r--
module.info.pt.auto
57
B
-rw-r--r--
module.info.pt_BR
0
B
-rw-r--r--
module.info.pt_BR.auto
63
B
-rw-r--r--
module.info.ro
0
B
-rw-r--r--
module.info.ro.auto
49
B
-rw-r--r--
module.info.ru
0
B
-rw-r--r--
module.info.ru.auto
67
B
-rw-r--r--
module.info.sk
0
B
-rw-r--r--
module.info.sk.auto
70
B
-rw-r--r--
module.info.sl
0
B
-rw-r--r--
module.info.sl.auto
49
B
-rw-r--r--
module.info.sv
0
B
-rw-r--r--
module.info.sv.auto
49
B
-rw-r--r--
module.info.th
0
B
-rw-r--r--
module.info.th.auto
89
B
-rw-r--r--
module.info.tr
0
B
-rw-r--r--
module.info.tr.auto
56
B
-rw-r--r--
module.info.uk
0
B
-rw-r--r--
module.info.uk.auto
49
B
-rw-r--r--
module.info.ur
0
B
-rw-r--r--
module.info.ur.auto
71
B
-rw-r--r--
module.info.vi
0
B
-rw-r--r--
module.info.vi.auto
53
B
-rw-r--r--
module.info.zh
0
B
-rw-r--r--
module.info.zh.auto
57
B
-rw-r--r--
module.info.zh_TW
0
B
-rw-r--r--
module.info.zh_TW.auto
63
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : exim-lib.pl
# exim-lib.pl # Common functions for parsing exim config files do '../web-lib.pl'; &init_config(); do '../ui-lib.pl'; use Tie::File; $exim_virt_dir = "$config{'exim_virt_dir'}"; $config{'exim_aliasfileextre'} = "$config{'exim_aliasfileext'}"; $config{'exim_aliasfileextre'} =~ s/\./\\./g; # user_mail_file(&user) # get mbox/maildir name sub user_mail_file { my ($user) = @_; if( !$user->{'home'} ) { return 0; } return "$user->{'home'}/$config{'exim_mail_file'}"; } # remove_domain(&domain) # Remove exim data regarding the domain sub remove_domain($) { my ($domain) = @_; # remove alias file my $file = &alias_path($domain); `rm $file`; if( $config{'exim_dbmfile'} ) { # remove local_domains entry &process_file(op=>'delete', file=>$config{'exim_dbmfile'}, pat=>"^\\*\\.$domain:", onlyFirst=>1); # remove dbm file my $file = &alias_path($domain,1); if( -e $file ) { `rm $file`; } } } # add_local_domain(&domain) # Add a local domain sub add_local_domain($) { my ($domain) = @_; if( $config{'exim_dbmfile'} ) { open( LD, ">>$config{'exim_dbmfile'}" ); print LD "*.$domain:\t".&alias_path($domain,1)."\n"; close( LD ); } } # alias_path(&domain,[dbm]) # Return path to an alias file sub alias_path($) { my ($domain,$dbm) = @_; if( $dbm ) { return "$exim_virt_dir/$domain$config{'exim_dbmext'}"; } else { return "$exim_virt_dir/$domain$config{'exim_aliasfileext'}"; } } # create_aliases_file(&domain) # Creates an exim alias file sub create_aliases_file($) { my($domain) = shift(@_); $file = &alias_path($domain); if ( ! -e $file ) { open(CONF, ">$file"); print CONF <<EOF; *: :fail: That user does not exist. EOF close(CONF); } } # create_alias(&alias) # Creates a new exim alias sub create_alias { local $alias = $_[0]->{'name'}; local $domain = $_[0]->{'dom'}; local $to = $_[0]->{'values'}; local $tos; for (@$to) { s/^\\+//; } $tos = join(',',@$to); &create_aliases_file($domain); &process_file(op=>"insertBefore", file=>&alias_path($domain), pat=>"^\\*:", text=>"$alias:\t$tos", onlyFirst=>1); # update email-addresses if( $alias =~ /\@/ ) { return; } if( $config{'exim_addrfile'} ) { local $em = `cat $config{'exim_addrfile'}`; if( !($em =~ /@$to[0]\t/) ) { &process_file(op=>"insertBefore", file=>$config{'exim_addrfile'}, text=>"@$to[0]\t$alias\@$domain" ); } } } # modify_alias(&old, &alias) # Modifies an existing exim alias sub modify_alias(&old, &alias) { &delete_alias($_[0]); &create_alias($_[1]); } # delete_alias(&alias) # Deletes an existing exim alias file sub delete_alias { local $alias = $_[0]->{'name'}; local $domain = $_[0]->{'dom'}; &process_file(op=>"delete", file=>&alias_path($domain), pat=>"^$alias\[:\\s\]", onlyFirst=>1); if( $config{'exim_addrfile'} ) { &process_file(op=>"delete", file=>$config{'exim_addrfile'}, pat=>"\\t\\S*\@$domain\$" ); } } # list_domains # List all domains from the exim alias file dir sub list_domains { opendir(DIR, $exim_virt_dir); @files = readdir(DIR); closedir(DIR); for my $file (@files) { $file =~ s/$config{'exim_aliasfileextre'}$//g; } return @files; } # list_virtusers # Go through exim alias files and build list of users. sub list_virtusers { opendir(DIR,$exim_virt_dir); @files = sort(grep(/$config{'exim_aliasfileextre'}$/,readdir(DIR))); closedir(DIR); local $num = 1; local (@virts); $all_data = ""; foreach $file (@files) { $file =~ /^(.*)$config{'exim_aliasfileextre'}/; $domain = $1; $file_line = 1; open(FILE, "<$exim_virt_dir/$file") || die("Could not find $file. $!"); while ( <FILE> ) { if ( /^([^\*\#\s:]+):?\s+(.*)$/ ) { $lhs = $1; $rhs = $2; if ( $rhs =~ /mailman/ ) { #print $line; } else { if ( $rhs ne "dummyspamaccount" ) { my $from = "$lhs\@$domain"; local @tos = split(/,/,$rhs); local %rv = ( 'from' => $from, 'cmt' => undef); local %virt = ( 'number' => $num++, 'value' => @tos, 'file' => "$dir/$file", 'name' => $from, 'cmt' => undef, 'eline' => $file_line, 'map_file' => "$dir/$file", 'line' => $file_line); $rv{'virt'} = \%virt; $rv{'to'} = \@tos; push(@virts, \%rv); } } } $file_line++; } close(FILE); } return @virts; } # process_file(...) # Go through lines of a file and do various operations based on regexp # matching. sub process_file { my(%args) = @_; my $hitunless = 0; my $inrange = 0; my $endfound = 0; my $operation = $args{'op'}; my $file = $args{'file'}; my $pattern = $args{'pat'}; my $cc = defined $args{'cc'} ? $args{'cc'} : "#"; my $opCount = 0; if ( $operation eq "uncomment" ) { $pattern = "^$cc.*" . $pattern; } my $tie_obj = tie my @contents, 'Tie::File', $file || die "Couldn't open $file: $!. Exiting...\n"; $tie_obj->flock; my $i=0; my $skip = 0; for ( @contents ) { if ( $skip == 1 ) { $skip = 0; next; } if ( defined($args{'startrange'}) && defined($args{'endrange'}) && $_ =~ /$args{'startrange'}/ ) { $inrange = 1; } if ( defined($args{'endrange'}) && $_ =~ /$args{'endrange'}/ ) { $endfound = 1; } if ( defined($args{'unless'}) && $_ =~ /$args{'unless'}/ ) { $hitunless = 1; last; } if ( ( defined($pattern) && $_ =~ /$pattern/ ) || $inrange == 1 ) { if ( $operation eq "comment" ) { s/$_/$cc $&/; $opCount++; } elsif ( $operation eq "uncomment" ) { s/$cc\s?//; $opCount++; } elsif ( $operation eq "delete" ) { splice(@contents,$i,1); $opCount++; if ( $endfound == 1 ) { $inrange = 0; $endfound = 0; } redo if ( ( !defined($args{'onlyFirst'}) || $inrange == 1 ) && $#contents != -1 ); } elsif ( $operation eq "insertBefore" ) { splice(@contents,$i,0,$args{'text'}); $opCount++; $skip++; } elsif ( $operation eq "replace" ) { $_ = $args{'text'}; $opCount++; } if ( defined $args{'onlyFirst'} ) { last; } } if ( $endfound == 1 ) { $inrange = 0; $endfound = 0; } $i++; } if ( $operation eq "insertBefore" && $opCount == 0 && $hitunless == 0 ) { push(@contents, $args{'text'}); } untie @contents; } 1;
Close