Nym Gateway Probe

Nym Node operators running Gateway functionality are already familiar with the monitoring tool Harbourmaster.nymtech.net. 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.

Installation

nym-gateway-probe source code is in nym-vpn-client 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

./target/release/nym-gateway-probe --help

nym-gateway-probe --help

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
    }
  }
}

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.