Hush Full Node software. We were censored from Github, this is where all development happens now. https://hush.is
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

37 lines
1.1 KiB

#!/usr/bin/env perl
# Copyright (c) 2016-2024 The Hush developers
# Distributed under the GPLv3 software license, see the accompanying
# file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html
use strict;
use warnings;
# Given a file of host data, one per line,
# scan them to see if p2p/rpc ports are accessible
# RPCs should not be open to the internet and this is
# an easy way to check many hosts, as well as seeing
# if a full node is down via an inaccessible p2p port.
# Scan a different coin via P2PPORT and RPCPORT.
print "HOST P2P RPC\n";
while (<>) {
chomp;
my $host = $_;
# skip empty lines
next unless $host;
# skip comment lines
next if ($host =~ m/^#/);
my $p2pport = $ENV{P2PPORT} || 18030;
my $rpcport = $ENV{RPCPORT} || $p2pport + 1;
my $cmd1 = qq{nc -z -w2 $host $p2pport};
my $cmd2 = qq{nc -z -w2 $host $rpcport};
qx{$cmd1};
my $errcode1 = $?;
qx{$cmd2};
my $errcode2 = $?;
my $status1 = $errcode1 ? "DOWN" : "UP";
my $status2 = $errcode2 ? "DOWN" : "UP";
print "$host $status1 $status2\n"
}