-
-
Notifications
You must be signed in to change notification settings - Fork 7k
feat: add Globalping support #6163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
feat: add Globalping support #6163
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
|
@CommanderStorm this is ready for the final review. We'll make a PR for the wiki once this is merged. Let me know if there's anything that needs to be changed. Thanks. For the |
|
Let us know if there is anything we can do to help the review go smoother! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given the size of the PR, I will need to part time this one, but as this is +1k lines, I think this is understandable.
In this PR, I reviewed the backend and the frontend will be another Review.
I have to say, I am very positively suppried by the level of depth you went for. There are a lot of places which I would have missed on this one.
For the backend, please move the DNS monitor to another PR, I don't think that integrates well against our existing internal API and might need either splitting or a better API.
|
@jimaek
I am not entirely sure what you and Radu's relationship is, if you are both working for/on the JSDeliver, feel free to ignore |
|
Yep we're working together on Globalping. So I already tested his PR before he sent it. We tried to prepare a polished experience Thanks for the feedback, we will start working on it shortly 😃 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for Globalping, a free network testing service that provides access to thousands of community-hosted probes worldwide. The implementation introduces a new "globalping" monitor type supporting ping and HTTP(s) measurement subtypes, with configurable location targeting, protocol selection, and comprehensive HTTP options including authentication and response validation.
Key Changes
- Added new
globalpingmonitor type withpingandhttpsubtypes, including location-based probe selection - Implemented UI components for configuring Globalping monitors with location targeting, IP family selection, and protocol options
- Added Globalping API token management in general settings with usage limit information
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/pages/EditMonitor.vue | Added Globalping monitor configuration UI including subtype selection, location targeting, protocol options, and HTTP-specific settings |
| src/pages/Details.vue | Added display formatting for Globalping monitor details including URL/hostname and location |
| src/lang/en.json | Added localization strings for Globalping-related UI elements and help text |
| src/components/settings/General.vue | Added Globalping API token input field in general settings |
| server/util-server.js | Extracted shared utilities for Base64 encoding and certificate expiry notifications |
| server/uptime-kuma-server.js | Registered GlobalpingMonitorType in monitor type registry |
| server/server.js | Added support for saving Globalping-specific monitor properties (subtype, location, protocol) |
| server/notification-providers/notification-provider.js | Added Globalping monitor address extraction for notifications |
| server/monitor-types/globalping.js | Implemented Globalping monitor type with ping and HTTP measurement logic |
| server/model/monitor.js | Updated Monitor model to use shared utilities and support Globalping-specific properties |
| package.json | Added globalping npm package dependency |
| db/knex_migrations/2025-10-06-0000-add-globalping-monitor.js | Database migration to add subtype, location, and protocol columns |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
|
Hey, let us know if there's anything missing! And we can prepare the separate DNS PR as well |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Big PR, for me adding the new fields is fine, but you need to add the globalping verification condition. If tomorrow this subtype is used by another monitor with (ping), it would cause problems.
Similarly, you need to reduce the complexity of certain functions by breaking them down and adding tests, particularly for the response verification part.
If you can send a test apikey it would be nice to test.
989b1d4 to
1f2159f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 13 out of 14 changed files in this pull request and generated 5 comments.
|
Sorry for the long review times on this one, my real work is being quite buisy the last few weeks |
|
No worries. Just let us know when it looks good and we can send the separate DNS PR as well. |
|
Yes, separate PR would be nice. |
|
@CommanderStorm let me know if there's anything else. Thanks. |

📋 Overview
This is PR adds support for Globalping.
Globalping is a free and open-source tool that allows you to run network tests and measurements from thousands of community hosted probes around the world.
The following commands are available via the new
Globalpingmonitor:ping,http,dns.Check out the API documentation for additional information.
🛠️ Type of change
📄 Checklist
📷 Screenshots or Visual Changes
Ping
HTTP
DNS
General settings