Operators
Operator Guides
Gateway Probe

Nym Gateway Probe

Nym Node operators running Gateway functionality are already familiar with the monitoring tool Harbourmaster.nymtech.net (opens in a new tab). Under the hood of Nym Harbourmaster runs iterations of nym-gateway-probe doing various checks and displaying the results on the interface. Operators don't have to rely on the probe ran by Nym and wait for the data to refresh. With nym-gateway-probe everyone can check any Gateway's networking status from their own computer at any time. In one command the client queries data from:

Preparation

We recommend to have install all the prerequisites needed to build nym-node from source including latest Rust Toolchain (opens in a new tab).

Installation

nym-gateway-probe source code is in nym-vpn-client (opens in a new tab) repository. The client needs to be build from source.

  1. Clone the repository:
git clone https://github.com/nymtech/nym-vpn-client.git
  1. Build nym-gateway-probe:
cd nym-vpn-client/nym-vpn-core
 
cargo build --release -p nym-gateway-probe

Running the Client

To list all commands and options run the binary with --help command:

./target/release/nym-gateway-probe --help
  • Output:
Usage: nym-gateway-probe [OPTIONS]
 
Options:
  -c, --config-env-file <CONFIG_ENV_FILE>  Path pointing to an env file describing the network
  -g, --gateway <GATEWAY>
  -n, --no-log
  -h, --help                               Print help
  -V, --version                            Print version
 

To run the client, simply add a flag --gateway with a targeted gateway identity key.

./target/release/nym-gateway-probe --gateway <GATEWAY_IDENTITY_KEY>

For any nym-node --mode exit-gateway the aim is to have this outcome:

{
  "gateway": "<GATEWAY_IDENTITY_KEY>",
  "outcome": {
    "as_entry": {
      "can_connect": true,
      "can_route": true
    },
    "as_exit": {
      "can_connect": true,
      "can_route_ip_v4": true,
      "can_route_ip_external_v4": true,
      "can_route_ip_v6": true,
      "can_route_ip_external_v6": true
    },
    "wg": {
      "can_register": true,
      "can_handshake": true,
      "can_resolve_dns": true,
      "ping_hosts_performance": 1.0,
      "ping_ips_performance": 1.0
    }
  }
}

If your Gateway is blacklisted, the probe will not work.

If you don't provide a --gateway flag it will pick a random one to test.