my sub query_routes : prototype() {
my ($gateway4, $gateway6);
+ log_info("query routes");
my $route4 = fromjs(qx/ip -4 --json route show/);
for my $route (@$route4) {
if ($route->{dst} eq 'default') {
# dns => <first dns entry>,
#
my sub query_dns : prototype() {
+ log_info("query DNS from resolv.conf (managed by DHCP client)");
open my $fh , '<', '/etc/resolv.conf' or return;
my @dns;
my sub detect_country_tracing_to : prototype($$) {
my ($ipver, $destination) = @_;
- print "trying to detect country...\n";
- open(my $TRACEROUTE_FH, '-|',
- 'traceroute', "-$ipver", '-N', '1', '-q', '1', '-n', $destination)
+ print STDERR "trying to detect country...\n";
+ open(my $TRACEROUTE_FH, '-|', 'traceroute', "-$ipver", '-N', '1', '-q', '1', '-n', $destination)
or return undef;
my $geoip_bin = ($ipver == 6) ? 'geoiplookup6' : 'geoiplookup';
if ($err) {
die "unable to detect country - $err\n";
} elsif ($country) {
- print "detected country: " . uc($country) . "\n";
+ print STDERR "detected country: " . uc($country) . "\n";
}
return $country;
my $routes = query_routes();
+ log_info("query block devices");
$output->{disks} = Proxmox::Sys::Block::get_cached_disks();
$output->{network} = {
interfaces => query_netdevs(),
my $err;
my $country;
if ($routes->{gateway4}) {
+ log_info("trace country via IPv4");
$country = eval { detect_country_tracing_to(4 => '8.8.8.8') };
$err = $@ if !$country;
}
if (!$country && $routes->{gateway6}) {
+ log_info("trace country via IPv6");
$country = eval { detect_country_tracing_to(6 => '2001:4860:4860::8888') };
$err = $@ if !$country;
}