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
#!/usr/local/emps/bin/php <?php /** * Boxtrapper PHP Pipe program * * @author Julfekar Shaikh */ // Define SOFTACULOUS @define('SOFTACULOUS', 1); // Include functions file include_once(__DIR__.'/boxtrapper_func.php'); global $user, $group; // Setting User and Group $userInfo = posix_getgrgid(posix_getgid()); $user = $userInfo['name']; $groupInfo = posix_getpwuid(posix_getuid()); $group = $groupInfo['name']; if(empty($user)){ exit(0); } // Now get the email content $fh = fopen("php://stdin", "r"); $email_msg = ''; // read through the email until the end while (!feof($fh)){ $email_msg .= fread($fh, 1024); } fclose($fh); // Handle email $lines = explode("\n", $email_msg); // Empty vars $from = $subject = $headers = $message = $cc = $spamscore = ""; $splittingheaders = true; $whitelist = $exist = false; for ($i=0; $i < count($lines); $i++) { if ($splittingheaders) { // This is a header $headers .= $lines[$i]."\n"; // look out for special headers if (preg_match("/^Subject: (.*)/", $lines[$i], $matches)) { $subject = $matches[1]; } if (preg_match("/^From: (.*)/", $lines[$i], $matches)) { $from = $matches[1]; } if (preg_match("/^To: (.*)/", $lines[$i], $matches)) { $to = $matches[1]; } if (preg_match("/^Cc: (.*)/", $lines[$i], $matches)) { $cc = $matches[1]; } if (preg_match("/^X-Spam-Score: (.*)/", $lines[$i], $matches)) { $spamscore = $matches[1]; } } else { // content/main message body information $message .= $lines[$i]."\n"; } if (trim($lines[$i])=="") { // empty line, header section has ended $splittingheaders = false; } } // Check if having multiple mails if(!empty($to)){ $to = explode(',', $to); } if(!empty($cc)){ $cc = explode(',', $cc); } // Merge both if(!empty($to) && !empty($cc)){ $to = array_merge($to, $cc); $to = array_map('trim', $to); // To remove spacing in between } // Making only mail from 'FROM' mail if (preg_match('/ <(.*)>/', $from, $matches)){ $from = $matches[1]; } // Loop to and check remaining things and have a action foreach ($to as $tk => $tv){ // Make it email only if (preg_match('/ <(.*)>/', $tv, $matches)){ $tv = $matches[1]; } // Now check if this exists if(check_email_exists($user, $tv)){ $exist = true; } // If not exist then continue if(empty($exist)){ continue; } // Check if boxtrapper is enabled or not if(exim_check_boxtrapper_enabled($user, $tv)){ $enabled = true; } // If not enabled then continue if(empty($enabled)){ // $whitelist = true; continue; } // Now get the boxtrapper configuration $conf = exim_get_boxtrapper_conf($user, $tv); // Output will be in array // Now we have to check is spamscore has the ability to bypass and have our from name $sa_exist = file_exists('/etc/mail/spamassassin'); $spcore = (!empty($conf['bypassscore']) && !empty($sa_exist)) ? $conf['bypassscore'] : -2.5; $ftomail = !empty($conf['fromname']) ? $conf['fromname'].' <'.$tv.'>' : $tv; // Get the bypass if($spamscore <= $spcore){ $bypass = true; } $temail = explode('@', $tv); $list_path = '/etc/exim/users/'.$user.'/'.$temail[1].'/boxtrapper/'.$temail[0].'/lists/'; // Now we have to check whether from address is whitelisted or not if(file_exists($list_path.'whitelist')){ if(exim_check_boxtrapper_list($user, $from, $tv, $subject, 'whitelist') && !empty($conf['whitelisting_by_assoc'])){ $whitelist = true; } } // Now we just check either its not in the ignore list if(file_exists($list_path.'ignorelist')){ if(exim_check_boxtrapper_list($user, $from, $tv, $subject, 'ignorelist')){ boxtrapper_log($user, $tv, 'Ignoring mail from '.$from.'/'.$subject); exit(0); // Exit because we dont have to take any action } } // Now we have to check whether the mail contain from blacklist if(file_exists($list_path.'blacklist')){ if(exim_check_boxtrapper_list($user, $from, $tv, $subject, 'blacklist')){ boxtrapper_log($user, $tv, 'Rejecting mail from '.$from.'/'.$subject.' as it is blacklisted'); sendblacklistmail($user, $from, $tv, $subject, $headers, $ftomail); exit(0); // Exit because we dont have to take any action } } // Now if either the mail whitelisted or able to bypass then accept the mail if(!empty($bypass) || !empty($whitelist)){ // Copy the mail file to address deliver_to_mail_address($user, $tv, $email_msg, ''); if(file_exists($list_path.'forwards') && !empty($whitelist)){ forward_to_forwarders($user, $tv, $headers, $subject, $message); } exit(0); // As we had finished with our task } // Connect with Queue DB $con = new SQLite3('/etc/exim/users/'.$user.'/'.$temail[1].'/boxtrapper/'.$temail[0].'/queue.db'); preg_match("/verify#(.*)/", $subject, $output); if(!empty($output)){ $out = explode(' ', $output[1]); // Get the list of Queue ID's from the DB $results = $con->query('SELECT * FROM `queue` WHERE msgid = "'.trim($out[0]).'"'); if(empty($results->fetchArray())){ // Means the authentication Key is wrong So we have to reply with wrong Msg id message send_returnverify_mail($user, $tv, $from, trim($out[0]), $subject, $headers); exit(0); } // If valid, Deliver Message Message $res = $con->query('SELECT * FROM `queue` WHERE `from` = "'.trim($from).'"'); while ($row = $res->fetchArray()){ $ch[] = $row['msgid']; deliver_to_mail_address($user, $tv, '', $row['msgid']); } // After delivery the mails remove entry from the DB $con->query('DELETE FROM `queue` WHERE `from` = "'.trim($from).'"'); // Make it whitelist if conf allowed us and send verified Message if(!empty($conf['whitelisting'])){ add_mail_in_whilelist($user, $tv, $from); } while ($row = $results->fetchArray()) { $user = $row['user']; } send_verifyreleased_mail($user, $tv, $from, $headers); exit(0); } // Now it is only remain for new mails $msg_id = generateRandString(7); add_mail_in_queue($user, $email_msg, $msg_id, $tv); send_verify_mail($user, $tv, $from, $msg_id, $headers); // Add in DB $results = $con->query('INSERT INTO `queue` (`msgid`, `from`, `subject`, `body`, `time`) VALUES ("'.$msg_id.'", "'.$from.'", "'.htmlentities($subject).'", "'.htmlentities($message).'", "'.time().'")'); boxtrapper_log($user, $tv, 'A mail has been added to queue from '.$from."\n"); exit(0); // End of the script } // End the script exit(0);