PNG  IHDR* pHYs+ IDATx]n#; cdLb Ǚ[at¤_:uP}>!Usă cag޿ ֵNu`ݼTâabO7uL&y^wFٝA"l[|ŲHLN밪4*sG3|Dv}?+y߉{OuOAt4Jj.u]Gz*҉sP'VQKbA1u\`& Af;HWj hsO;ogTu uj7S3/QzUr&wS`M$X_L7r2;aE+ώ%vikDA:dR+%KzƉo>eOth$z%: :{WwaQ:wz%4foɹE[9<]#ERINƻv溂E%P1i01 |Jvҗ&{b?9g=^wζXn/lK::90KwrюO\!ջ3uzuGv^;騢wq<Iatv09:tt~hEG`v;3@MNZD.1]L:{ծI3`L(÷ba")Y.iljCɄae#I"1 `3*Bdz>j<fU40⨬%O$3cGt]j%Fߠ_twJ;ABU8vP3uEԑwQ V:h%))LfraqX-ۿX]v-\9I gl8tzX ]ecm)-cgʒ#Uw=Wlێn(0hPP/ӨtQ“&J35 $=]r1{tLuǮ*i0_;NƝ8;-vݏr8+U-kruȕYr0RnC]*ެ(M:]gE;{]tg(#ZJ9y>utRDRMdr9㪩̞zֹb<ģ&wzJM"iI( .ꮅX)Qw:9,i좜\Ԛi7&N0:asϓc];=ΗOӣ APqz93 y $)A*kVHZwBƺnWNaby>XMN*45~ղM6Nvm;A=jֲ.~1}(9`KJ/V F9[=`~[;sRuk]rєT!)iQO)Y$V ی ۤmzWz5IM Zb )ˆC`6 rRa}qNmUfDsWuˤV{ Pݝ'=Kֳbg,UҘVz2ﴻnjNgBb{? ߮tcsͻQuxVCIY۠:(V뺕 ٥2;t`@Fo{Z9`;]wMzU~%UA蛚dI vGq\r82iu +St`cR.6U/M9IENDB`#!/usr/bin/perl ############################################################################### # Copyright 2006-2023, Way to the Web Limited # URL: http://www.configserver.com # Email: sales@waytotheweb.com ############################################################################### use strict; use warnings; use diagnostics; if (my $pid = fork) { exit 0; } elsif (defined($pid)) { $pid = $$; } else { die "Error: Unable to fork: $!"; } chdir("/"); close (STDIN); close (STDOUT); close (STDERR); open STDIN, "<","/dev/null"; open STDOUT, ">","/dev/null"; open STDERR, ">","/dev/null"; $0 = "ConfigServer Version Check"; my @downloadservers = ("https://download.configserver.com", "https://download2.configserver.com"); system("mkdir -p /var/lib/configserver/"); system("rm -f /var/lib/configserver/*.txt /var/lib/configserver/*error"); my $cmd; if (-e "/usr/bin/curl") {$cmd = "/usr/bin/curl -skLf -m 120 -o"} elsif (-e "/usr/bin/wget") {$cmd = "/usr/bin/wget -q -T 120 -O"} else { open (my $ERROR, ">", "/var/lib/configserver/error"); print $ERROR "Cannot find /usr/bin/curl or /usr/bin/wget to retrieve product versions\n"; close ($ERROR); exit; } my $GET; if (-e "/usr/bin/GET") {$GET = "/usr/bin/GET -sd -t 120"} my %versions; if (-e "/etc/csf/csf.pl") {$versions{"/csf/version.txt"} = "/var/lib/configserver/csf.txt"} if (-e "/etc/cxs/cxs.pl") {$versions{"/cxs/version.txt"} = "/var/lib/configserver/cxs.txt"} if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmm.cgi") {$versions{"/cmm/cmmversion.txt"} = "/var/lib/configserver/cmm.txt"} if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cse.cgi") {$versions{"/cse/cseversion.txt"} = "/var/lib/configserver/cse.txt"} if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmq.cgi") {$versions{"/cmq/cmqversion.txt"} = "/var/lib/configserver/cmq.txt"} if (-e "/usr/local/cpanel/whostmgr/docroot/cgi/configserver/cmc.cgi") {$versions{"/cmc/cmcversion.txt"} = "/var/lib/configserver/cmc.txt"} if (-e "/etc/osm/osmd.pl") {$versions{"/osm/osmversion.txt"} = "/var/lib/configserver/osm.txt"} if (-e "/usr/msfe/version.txt") {$versions{"/version.txt"} = "/var/lib/configserver/msinstall.txt"} if (-e "/usr/msfe/msfeversion.txt") {$versions{"/msfeversion.txt"} = "/var/lib/configserver/msfe.txt"} if (scalar(keys %versions) == 0) { unlink $0; exit; } unless ($ARGV[0] eq "--nosleep") { system("sleep",int(rand(60 * 60 * 6))); } for (my $x = @downloadservers; --$x;) { my $y = int(rand($x+1)); if ($x == $y) {next} @downloadservers[$x,$y] = @downloadservers[$y,$x]; } foreach my $server (@downloadservers) { foreach my $version (keys %versions) { unless (-e $versions{$version}) { if (-e $versions{$version}.".error") {unlink $versions{$version}.".error"} my $status = system("$cmd $versions{$version} $server$version"); # print "$cmd $versions{$version} $server$version\n"; if ($status) { if ($GET ne "") { open (my $ERROR, ">", $versions{$version}.".error"); print $ERROR "$server$version - "; close ($ERROR); my $GETstatus = system("$GET $server$version >> $versions{$version}".".error"); } else { open (my $ERROR, ">", $versions{$version}.".error"); print $ERROR "Failed to retrieve latest version from ConfigServer"; close ($ERROR); } } } } }