MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.138.135.4
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /dev/../etc/ipmi/../cron.daily/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //dev/../etc/ipmi/../cron.daily/pull_googlebot_ips.pl
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use JSON;

# URL of the JSON file containing Google's IP ranges
my $url = "https://www.gstatic.com/ipranges/goog.json";

my $json_content = get($url);
die "Failed to retrieve the JSON file from $url" unless defined $json_content;
my $decoded_json = decode_json($json_content);

my @ranges;
foreach my $prefix (@{$decoded_json->{prefixes}}) {
    push @ranges, $prefix->{ipv4Prefix} if $prefix->{ipv4Prefix};
    push @ranges, $prefix->{ipv6Prefix} if $prefix->{ipv6Prefix};
}

die "No ip ranges returned" unless scalar @ranges > 1;
open(my $fh, '>', '/etc/httpd/modsecurity.d/googlebot_ips.txt') or die "Could not open file 'googlebot_ips.txt' $!";
foreach my $range (@ranges){
    print $fh "$range\n";
}
close $fh;

MMCT - 2023