Linux sagir-us1.hostever.us 5.14.0-570.51.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 8 09:41:34 EDT 2025 x86_64
LiteSpeed
Server IP : 104.247.108.91 & Your IP : 216.73.216.105
Domains : 74 Domain
User : georgeto
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
softaculous /
apps /
exim /
Delete
Unzip
Name
Size
Permission
Date
Action
3
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
assets
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
build
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
images
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
includes
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
languages
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
themes
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
todo
[ DIR ]
drwxr-xr-x
2026-04-11 11:45
2020020100.sql
2.03
KB
-rw-r--r--
2026-04-11 11:45
autoresponder_charsets.json
2.88
KB
-rw-r--r--
2025-01-13 08:52
box_msg.json
2.43
KB
-rw-r--r--
2023-02-02 09:28
boxtrapper.php
6.23
KB
-rwxr-xr-x
2023-03-06 08:04
boxtrapper_func.php
8.22
KB
-rw-r--r--
2023-12-15 01:43
boxtrapper_url.php
2.06
KB
-rw-r--r--
2025-10-17 04:29
c7_exim-x86_64.tar.gz
1.89
MB
-rw-r--r--
2026-04-11 11:45
config.inc.php
7.65
KB
-rw-r--r--
2026-04-10 07:27
configure.php
71.76
KB
-rw-r--r--
2026-04-10 05:55
exim-x86_64.tar.gz
1.92
MB
-rw-r--r--
2026-04-11 11:45
exim.conf
44.01
KB
-rw-r--r--
2021-12-24 06:44
exim.json
2.97
KB
-rw-r--r--
2024-06-11 08:31
exim4.conf.template
76.83
KB
-rw-r--r--
2021-12-24 06:44
greylist_common_providers.json
62.76
KB
-rw-r--r--
2022-08-04 11:24
hooks.php
677.01
KB
-rw-r--r--
2026-04-10 07:33
info.xml
4.15
KB
-rw-r--r--
2026-04-10 07:27
install.php
62.1
KB
-rw-r--r--
2026-04-10 07:33
install.xml
63
B
-rw-r--r--
2025-05-08 02:51
logrotate
304
B
-rw-r--r--
2024-02-19 05:16
md5
13.23
KB
-rw-r--r--
2026-04-10 07:33
notes.txt
293
B
-rw-r--r--
2025-11-26 03:01
popb4smtp
1.75
KB
-rw-r--r--
2022-12-09 08:27
popb4smtp-clean
1.93
KB
-rw-r--r--
2022-12-09 08:27
popb4smtp-watch
3.34
KB
-rw-r--r--
2022-12-09 08:27
rbl.json
396
B
-rw-r--r--
2022-09-23 08:09
remove.php
7.95
KB
-rw-r--r--
2026-04-10 07:33
rev
4
B
-rw-r--r--
2026-04-10 07:33
roundcube.tar.gz
7.17
MB
-rw-r--r--
2026-04-11 11:45
sqlite.rcube.db
62
KB
-rw-r--r--
2023-01-12 05:14
update-exim4.conf.conf
1.01
KB
-rw-r--r--
2021-12-24 06:44
update.php
11.53
KB
-rw-r--r--
2026-04-10 07:33
Save
Rename
<?php /** * Boxtrapper PHP Pipe program Functions * * @author Julfekar Shaikh */ function check_email_exists($user, $email){ $emailuser = explode('@', $email); $userDir = '/etc/exim/users/'.$user.'/'.trim($emailuser[1]).'/passwd'; if(!file_exists($userDir)){ return false; } // Email user list of domain $lines = file($userDir); foreach($lines as $k => $v){ // Email Username !!! $data = explode(':', $lines[$k]); if(trim($data[0]) == trim($emailuser[0])){ return true; } } return false; } function add_mail_in_queue($user, $msg, $msg_id, $mail){ $email = explode("@", $mail); $queueDIR = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/queue'; @mkdir($queueDIR); exim_perms($user, $queueDIR); $msgpath = $queueDIR.'/'.$msg_id.'.msg'; // Adding msg file_put_contents($msgpath, $msg); exim_perms($user, $msgpath); } function add_mail_in_whilelist($user, $tomail, $from){ $email = explode('@', $tomail); $box_path = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0]; $box_list_path = $box_path.'/lists/'; $whitelist = $box_list_path.'whitelist'; $log_path = $box_path.'/log'; if(!is_dir($box_list_path)){ mkdir($box_list_path); } exim_perms($user, $box_list_path); file_put_contents($whitelist, "\nfrom ".$from, FILE_APPEND); exim_perms($user, $whitelist); boxtrapper_log($user, $tomail, 'Whitelisting and delivering all mails from '.$from."\n"); } function send_verify_mail($user, $to, $from, $msg_id, $header){ $email = explode('@', $to); $mdata = get_boxtrapper_automessages($user, $to, 'verify'); $url = 'http://'.$email[1].':2002/boxtrapper.php?email='.$to.'&msgid='.$msg_id; // Update in subject and msg $subject = str_replace('{{msgid}}', $msg_id, $mdata['subject']); $msg = str_replace('{{url}}', $url, $mdata['body']); $msg = str_replace('{{headers}}', $header, $msg); // Now we had the subject and body ready to send sendboxtrappermail($from, $to, $subject, $msg); } function send_verifyreleased_mail($user, $to, $from, $header){ $mdata = get_boxtrapper_automessages($user, $to, 'verifyreleased'); // Update in subject and msg $subject = str_replace('{{fromname}}', $to, $mdata['subject']); $msg = str_replace('{{fromname}}', $to, $mdata['body']); $msg = str_replace('{{headers}}', $header, $msg); // Now we had the subject and body ready to send sendboxtrappermail($from, $to, $subject, $msg); } function deliver_to_mail_address($user, $to, $msg = '', $msgid = ''){ $email = explode('@', $to); $boxpath = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0]; // First if MSG is empty then we need to find the MSG if(empty($msg)){ $msg = file_get_contents($boxpath.'/queue/'.$msgid.'.msg'); } $mailpath = $boxpath.'/mail/'; @mkdir($mailpath); exim_perms($user, $mailpath); $msgfile = $mailpath.time().'M'.rand(0000, 9999).$email[1]; file_put_contents($msgfile, $msg); } function forward_to_forwarders($user, $to, $headers, $subject, $message){ $email = explode('@', $to); $forwardlist = file('/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/lists/forwards'); if(!empty($forwardlist)){ foreach($forwardlist as $fk => $fv){ sendboxtrappermail($fv, $to, $subject, $message, $headers); } boxtrapper_log($user, $to, 'The mail with subject:'.$subject.' has been delivered and forwarded to '.implode(', ', $forwardlist)); } return true; } function send_returnverify_mail($user, $to, $from, $msgid, $subject, $header){ $mdata = get_boxtrapper_automessages($user, $to, 'returnverify'); // Update in subject and msg $subject = str_replace('{{subject}}', $subject, $mdata['subject']); $msg = str_replace('{{headers}}', $header, $mdata['body']); $msg = str_replace('{{msgid}}', $msgid, $msg); // Now we had the subject and body ready to send sendboxtrappermail($from, $to, $subject, $msg); } function sendblacklistmail($user, $from, $to, $subject, $headers, $fromname){ $mdata = get_boxtrapper_automessages($user, $to, 'blacklist'); // Update in subject and msg $subject = str_replace('{{subject}}', $subject, $mdata['subject']); $msg = str_replace('{{headers}}', $headers, $mdata['body']); $msg = str_replace('{{acct}}', $from, $msg); // Now we had the subject and body ready to send sendboxtrappermail($from, $fromname, $subject, $msg); } // Send mail using function sendboxtrappermail($to, $from = '', $subject, $msg, $header = ''){ if(empty($header)){ if(!empty($from)){ $header .= "From:$from \r\n"; } $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-type:text/html;charset=UTF-8" . "\r\n"; } mail($to, $subject, nl2br($msg), $header); return true; } // Make boxtrapper log function boxtrapper_log($user, $mail, $msg) { $email = explode("@", $mail); $emailpath = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0]; $logpath = $emailpath.'/log'; if(!file_exists($emailpath)){ @mkdir($emailpath); exim_perms($user, $emailpath); } if(!file_exists($logpath)){ @mkdir($logpath); exim_perms($user, $logpath); } $logfile = $logpath.'/'.date('Y-m-d').'.log'; file_put_contents($logfile, date('Y-m-d h:i:s').' '.$msg, FILE_APPEND); exim_perms($user, $logfile); } function exim_perms($user, $path){ global $group; chown($path, $group); chgrp($path, $user); if(is_dir($path)){ chmod($path, 0750); }elseif(is_file($path)){ chmod($path, 0740); } } function exim_check_boxtrapper_list($user, $from, $to, $subject, $list = 'whitelist'){ $listarr = ['whitelist', 'ignorelist', 'blacklist']; // Check if list called are valid list if(!in_array($list, $listarr)){ return false; } $email = explode('@', $to); $lists = file('/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/lists/'.$list); foreach($lists as $key => $val){ // Here we just check the values available in the list with there preg if((preg_match('/'.$val.'/', 'from '.$from)) || (preg_match('/'.$val.'/', 'to '.$to)) || (preg_match('/'.$val.'/', 'subject '.$subject)) || (preg_match('/'.$val.'/', 'cc '.$to))){ return true; } // Now with our Preg if((preg_match('/^from+\s'.$from.'/', $val)) || (preg_match('/^to+\s'.$to.'/', $val)) || (preg_match('/^subject+\s'.$subject.'/', $val)) || (preg_match('/^cc+\s'.$to.'/', $val))){ return true; } } return false; } function exim_check_boxtrapper_enabled($user, $mail){ global $softpanel; $email = explode('@', $mail); $vaild_email = filter_var($mail, FILTER_VALIDATE_EMAIL); if(empty($vaild_email)){ return false; } if(class_exists('softpanel')){ $file_exist = $softpanel->root_func_exec('file_exists', ['/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/.enabled']); }else{ $file_exist = file_exists('/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/.enabled'); } if(($file_exist)){ return true; } return false; } function exim_get_boxtrapper_conf($user, $mail){ $email = explode('@', $mail); $confpath = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/boxconf.json'; // Check if the conf exist if(!file_exists($confpath)){ return false; } $conf = file_get_contents($confpath); $conf = json_decode($conf, true); return $conf; } function get_boxtrapper_automessages($user, $mail, $message){ $email = explode('@', $mail); $msgpath = '/etc/exim/users/'.$user.'/'.$email[1].'/boxtrapper/'.$email[0].'/message/'.$message; // Check if the message exist if(!file_exists($msgpath)){ return false; } $mdata = file_get_contents($msgpath); $mdata = json_decode($mdata, true); return $mdata; } function generateRandString($length, $special = 0){ $randstack = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', ''); $specialchars = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); $randstr = ''; while(strlen($randstr) < $length){ $randstr .= $randstack[array_rand($randstack)]; if(!empty($special) && strlen($randstr) < $length && (strlen($randstr)%2 == 0)){ $randstr .= $specialchars[array_rand($specialchars)]; } } return str_shuffle($randstr); } ?>