/globalping-probe

The globalping probe code that runs on your hardware and connects to the global community network of probes

Primary LanguageTypeScript

Globalping Probe Header

Globalping Probe

The Globalping platform relies on a globally distributed network of community-hosted probes, allowing anyone to run network testing commands like ping or traceroute from any location.

Join the Globalping probe community

Globalping thrives on the contribution of its community – with your support, we can continuously enhance the platform and provide improved, reliable measurement results to all users free of charge. We'd be happy to welcome you to our community by hosting a probe!

Set up a virtual probe

To join the Globalping probe network, all you need to do is run our Docker container, which works on both x86 and ARM architectures.

Use the following command:

docker run -d --log-driver local --network host --restart=always --name globalping-probe globalping/globalping-probe

Tip

For automation, consider using our universal installation script for Linux servers and adapt it as needed.

Podman alternative

For users opting for Podman, follow the instructions here to make sure the container automatically starts on boot. Also, check the container logs to see if it started successfully, as Podman may still require additional permissions. Run the container with the following command:

sudo podman run --cap-add=NET_RAW -d --network host --restart=always --name globalping-probe globalping/globalping-probe

Adopt your probes

Every new probe that comes online is a great help to our platform and the community, and we want to encourage everyone to start new probes on every available hardware!

If you're also an active user of Globalping who needs higher than free limits, we recommend you register on the Globalping Dashboard and adopt your probes.

Every adopted probe will generate additional daily credits that you can use to run even more tests.

Learn more about Globalping credits

Where to run

You can run the virtual probe on anything that can run a Docker container, supporting x86 and ARM architectures. This includes any Linux server hosted with a cloud provider, your home server, or even a Raspberry Pi lying around at your office.

No configuration is needed; just run the container with a stable internet connection.

How to update

You don't need to worry about updates: The probe automatically updates to the latest version as soon as it becomes available. It's pulled directly from GitHub and installed within the container.

Note

The container itself isn't updated automatically, only the code it runs.

Optional: Container update

As the automatic update doesn’t update the container, we recommend you pull a fresh version of the container regularly.

To update the container, run the following:

docker pull globalping/globalping-probe
docker stop globalping-probe
docker rm globalping-probe
docker run -d --log-driver local --network host --restart=always --name globalping-probe globalping/globalping-probe

Limitations

  • You can run only one (1) probe per IP address.
  • We disconnect probes that we can't reliably resolve to a physical location.
  • We block probes from IP addresses associated with anonymous proxies, Tor, and VPN services.

Security

  • The probe only connects to our API over a secure connection; it doesn't open ports on your device or accepts any incoming connections.
  • We use regularly updated lists and databases of domains and IP addresses associated with malware or potentially dangerous content and ban them on the API level.
  • We block private IP addresses as targets.
  • We rate-limit all users on the API level to prevent network abuse.

Adjusting the number of tests

The amount of measurement tests your probe can process scales with the available CPU cores and average CPU load over the past few minutes. Our code is very lightweight and doesn't take up too many resources, so in most cases, we recommend running our probe as is.

However, if you still want to control resource usage, add the docker parameter --cpuset-cpus="0-2" to your docker run command and set the number of CPUs within the quotes.

Running multiple probes

We'd love to work with you if you can host probes in multiple regions, especially in places we have not yet covered. We're happy to list anyone who can host at least six probes as donors on GitHub and our website.

To get started or if you have any questions, contact us at dak@prospectone.io

Hardware Probes

globalping probe

As a GitHub Sponsor contributing $10+ per month, you can request a hardware probe and install it at home or in your office.

How does it work?

Connect the probe to your switch or router, and you are done! No need to set up the Docker container yourself or have a computer running 24/7.

The hardware probe package includes everything you need to get started:

  • ARM-based mini computer in a metal housing
  • Power supply
  • SD card with pre-installed OS and probe container
  • Ethernet patch cable

To request a probe, become GitHub Sponsor and fill out this form.

Tip

You can also explore the hardware probe's firmware and build your own version. Learn more here.

Become a hardware probe provider

We offer companies to sponsor co-branded hardware probes to hand out at conferences or ship to your users with your own stickers and swag included.

Learn more about becoming a hardware probe provider.

Support and feedback

If you are stuck or want to give us your feedback, please open a new issue.

Development

Please refer to CONTRIBUTING.md for more information.