https://github.com/jsdelivr/globalping-probe
The globalping probe code that runs on your hardware and connects to the global community network of probes
https://github.com/jsdelivr/globalping-probe
benchmark devops globalping network-analysis ripe-atlas
Last synced: 3 months ago
JSON representation
The globalping probe code that runs on your hardware and connects to the global community network of probes
- Host: GitHub
- URL: https://github.com/jsdelivr/globalping-probe
- Owner: jsdelivr
- Created: 2022-03-07T14:38:48.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-04T18:32:02.000Z (about 1 year ago)
- Last Synced: 2024-04-14T07:10:25.502Z (about 1 year ago)
- Topics: benchmark, devops, globalping, network-analysis, ripe-atlas
- Language: TypeScript
- Homepage: https://www.jsdelivr.com/globalping
- Size: 3.6 MB
- Stars: 64
- Watchers: 9
- Forks: 20
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Globalping Probe
The [Globalping platform](https://github.com/jsdelivr/globalping) 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](https://gist.github.com/jimaek/7b8312c2c37f9002a5cc0108ebfd43e1) and adapt it as needed.### Podman alternative
For users opting for Podman, [follow the instructions here](https://linuxhandbook.com/autostart-podman-containers/) 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](https://dash.globalping.io/) 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](https://globalping.io/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](https://github.com/jsdelivr/globalping/blob/master/src/lib/malware/domain.ts) and [IP addresses](https://github.com/jsdelivr/globalping/blob/master/src/lib/malware/ip.ts) 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.
## Hardware Probes
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 cableTo request a probe, become GitHub Sponsor and [fill out this form](https://docs.google.com/forms/d/e/1FAIpQLSetKnI7CheDuwgl8QeARu2XzhXTXmek0GdKkpN5MW7WV3pVtw/viewform).
> [!TIP]
> You can also explore the hardware probe's firmware and build your own version. Learn more [here](https://github.com/jsdelivr/globalping-hwprobe).### 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](https://docs.google.com/document/d/1xIe-BaZ-6mmkjN1yMH5Kauw3FTXADrB79w4pnJ4SLa4/edit?usp=sharing).
## Support and feedback
If you are stuck or want to give us your feedback, please [open a new issue](https://github.com/jsdelivr/globalping-probe/issues).
## Development
Please refer to [CONTRIBUTING.md](CONTRIBUTING.md) for more information.