HEX
Server: Apache
System: Linux viper.innovativeinternet.net 4.18.0-553.80.1.lve.el8.x86_64 #1 SMP Wed Oct 22 19:29:36 UTC 2025 x86_64
User: thetradingroom (1095)
PHP: 8.3.25
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //ibin/iptables-save-build.pl
#!/usr/bin/perl

$old_code = "first-time";

$config_file="/ibin/conf/iptables.source";
$map_file="/ibin/conf/iptables.map";
$cidr_file="/ibin/conf/iptables/CIDR";

open(CONFIG_FILE,$config_file) or die($!);
open(MAP_FILE,">$map_file")    or die($!);
open(CIDR_FILE,">$cidr_file")    or die($!);

#-----[ Top of iptables file ]-----------------------------------------------------------------------------------
print "#################################################################################\n";
print "# iptables.conf  Automatically Generated                                        #\n";
print "#################################################################################\n";
print "*filter\n";
print ":INPUT ACCEPT [0:0]\n";
print ":FORWARD ACCEPT [0:0]\n";
print ":OUTPUT ACCEPT [0:0]\n";
print ":SMTP_TRAFFIC - [0:0]\n";
print "-A INPUT -p tcp --dport 25 -m state --state NEW -j SMTP_TRAFFIC\n";




while($line = <CONFIG_FILE>) {

	chomp($line);
	next if $line =~ /#/;
	next if $type eq "H";
#	next if $line = "^#";

  (
        $type,
        $ip

  ) = split(/:/, $line);


	$x++;



#----------< Block Mail Type: Spammers >----------
if ( $type eq "M" ) {
	$code = "IISG"; 

} elsif ($type eq "J") {
        $code = "JAPAN";

} elsif ($type eq "A") {
        $code = "ASIAN";

} elsif ($type eq "P") {
        $code = "POLAND";

} elsif ($type eq "C") {
        $code = "CZECH";

} elsif ($type eq "T") {
        $code = "TURKEY";

} elsif ($type eq "I") {
        $code = "INDIA-KOREA";

} elsif ($type eq "R") {
        $code = "RUSSIA";

} elsif ($type eq "U") {
        $code = "UK";

} elsif ($type eq "D") {
        $code = "DROP";  

} elsif ($type eq "Z") {
        $code = "TEST";  

} elsif ($type eq "W") {
        $code = "WHITE-LIST";  
}



	if($code eq "WHITE-LIST") {
		if ($code ne $old_code) {
		   print "#################################################################################\n";
		   print "# CIDR-$code WHITE-LIST Entries                                       \n";
		   print "#################################################################################\n";
		   print ":LOG_". $code . " - [0:0]\n";
		   print ":CIDR-". $code . " - [0:0]\n";
		   print "-A SMTP_TRAFFIC -j CIDR-" . $code . "\n";
		   print "-A LOG_" . $code . " -j LOG --log-prefix \"CIDR-" . $code . "\"\n";
		   print "-A LOG_" . $code . " -j ACCEPT\n";
		}
		
		print "-A CIDR-". $code . " -s " . $ip . " -j LOG_" . $code . "\n"; 
		print CIDR_FILE $ip . "\t\t\OK\n"; 

		$old_code = $code;


	} else {
		if ($code ne $old_code) {
		   print "#################################################################################\n";
		   print "# CIDR-$code Entries                                       \n";
		   print "#################################################################################\n";
		   print ":LOG_". $code . " - [0:0]\n";
		   print ":CIDR-". $code . " - [0:0]\n";
		   print "-A SMTP_TRAFFIC -j CIDR-" . $code . "\n";
		   print "-A LOG_" . $code . " -j LOG --log-prefix \"SPAM-BLOCK-CIDR-" . $code . "\"\n";
		   print "-A LOG_" . $code . " -j DROP\n";
		}
		
		print "-A CIDR-". $code . " -s " . $ip . " -j LOG_" . $code . "\n"; 

		$old_code = $code;
	        print MAP_FILE $ip . "\n";
			  print CIDR_FILE $ip . "\t\t\REJECT CIDR-BLOCK " . $code . "->" . $ip . "\n"; 
	}


}

#-----[ End of config file ]------------------------------------------------------------------------------------------
print "COMMIT\n";
print "#################################################################################\n";
print "# iptables.conf  EOF                                                            #\n";
print "#################################################################################\n";


close(CONFIG_FILE);
close(MAP_FILE);
exit;