mskf3000 / globalping-cli

A simple CLI tool to run networking commands remotely from hundreds of globally distributed servers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Globalping icon Globalping CLI

Access a global network of probes without leaving your console. Powered by the Globalping community!

  • The official command-line interface for the Globalping network.
  • Run networking commands from any location in the world
  • Supported commands: ping, mtr, traceroute, dns resolve, HTTP
  • Real-time results right in your command line
  • Human friendly format and output
  • Cross-platform. Linux, MacOS, Windows are all supported
  • Auto-updates via RPM/DEB/Chocolatey repos
  • Check our website for online tools, our Slack app and more!

Installation - Quick start

Simply run these commands to install the repo and CLI! This way you will get all future updates by simply running an update using your package manager.

Ubuntu/Debian (deb)

curl -s https://packagecloud.io/install/repositories/jsdelivr/globalping/script.deb.sh | sudo bash
apt install globalping

CentOS/Fedora/Rocky Linux/AlmaLinux (rpm)

curl -s https://packagecloud.io/install/repositories/jsdelivr/globalping/script.rpm.sh | sudo bash
dnf install globalping

Manual installation instructions

MacOS - Homebrew

brew tap jsdelivr/globalping
brew install globalping

Windows - Chocolatey

choco install globalping

Binary installation

Every new release is compiled into binaries ready to run on most operating systems and attached as assets on GitHub. You can download and run the binaries directly on your system, but note that you will have to repeat this process for every new release. Explore the available versions.

Getting Started with Globalping CLI

Once the Globalping CLI is installed, you can verify that it is working by running:

globalping --help

Globalping is a platform that allows anyone to run networking commands such as ping, traceroute, dig and mtr on probes distributed all around the world.
The CLI tool allows you to interact with the API in a simple and human-friendly way to debug networking issues like anycast routing and script automated tests and benchmarks.

Usage:
  globalping [command]

Measurement Commands:
  dns           Resolve a DNS record similarly to dig
  http          Perform a HEAD or GET request to a host
  mtr           Run an MTR test, similar to traceroute
  ping          Run a ping test
  traceroute    Run a traceroute test

Additional Commands:
  completion    Generate the autocompletion script for the specified shell
  help          Help about any command
  install-probe Join the community powered Globalping platform by running a Docker container.
  version       Print the version number of Globalping CLI

Flags:
  -C, --ci            Disable realtime terminal updates and color suitable for CI and scripting (default false)
  -F, --from string   Comma-separated list of location values to match against. For example the partial or full name of a continent, region (e.g eastern europe), country, US state, city or network (default "world"). (default "world")
  -h, --help          help for globalping
  -J, --json          Output results in JSON format (default false)
      --latency       Output only the stats of a measurement (default false). Only applies to the dns, http and ping commands
  -L, --limit int     Limit the number of probes to use (default 1)

Use "globalping [command] --help" for more information about a command.

Development setup

Install golangci-lint

curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b bin v1.52.2

Install mockgen

GOBIN=$(pwd)/bin go install github.com/golang/mock/mockgen@v1.6.0

Run golangci-lint

bin/golangci-lint run

Run tests

go test ./...

To regenerate the mocks

mocks/gen_mocks.sh

About

A simple CLI tool to run networking commands remotely from hundreds of globally distributed servers

License:Mozilla Public License 2.0


Languages

Language:Go 99.9%Language:Shell 0.1%