Skip to content

Conversation

AiroPi
Copy link

@AiroPi AiroPi commented Sep 3, 2025

📋 Overview

  • Domain expiry are monitored by some other tools, but not Uptime Kuma.
  • This pull request introduce domain name expiry notification and monitoring, so we don't miss the important date !

I used RDAP APIs to get the expiry date. This worked for most of the domains I tested, but I am aware that not absolutely all domains supports this for now.

Domains lookups are saved in a database, and are checked one time a day.
If the option is activated for multiple URLs on the same domain, only one lookup a day will be done, and only one notification will be sent.

Technical questions

Currently, the table domain_expiry_info is never emptied. Maybe some sort of cleanup could be added, how can I implement this ?
Maybe "clear all entries not checked for 2 days", because it means the check isn't active anymore.

Also, I currently fetch the RDAP list at every check (https://data.iana.org/rdap/dns.json). So this is "1 time a day * number of domains monitored". Do you think some sort of cache should be added for this ?

I would like to avert user if the TLD is not supported (no RDAP in the json), but I don't really now how to achieve this.
I currently added a WARN in the console if not RDAP server is found.

🛠️ Type of change

  • 🐛 Bugfix (a non-breaking change that resolves an issue)
  • ✨ New feature (a non-breaking change that adds new functionality)
  • ⚠️ Breaking change (a fix or feature that alters existing functionality in a way that could cause issues)
  • 🎨 User Interface (UI) updates
  • 📄 New Documentation (addition of new documentation)
  • 📄 Documentation Update (modification of existing documentation)
  • 📄 Documentation Update Required (the change requires updates to related documentation)
  • 🔧 Other (please specify):
    • Provide additional details here.

📄 Checklist

  • 🔍 My code adheres to the style guidelines of this project.
  • 🦿 I have indicated where (if any) I used an LLM for the contributions
  • ✅ I ran ESLint and other code linters for modified files.
  • 🛠️ I have reviewed and tested my code.
  • 📝 I have commented my code, especially in hard-to-understand areas (e.g., using JSDoc for methods).
  • ⚠️ My changes generate no new warnings.
  • 🤖 My code needed automated testing. I have added them (this is an optional task).
  • 📄 Documentation updates are included (if applicable).
  • 🔒 I have considered potential security impacts and mitigated risks.
  • 🧰 Dependency updates are listed and explained.
  • 📚 I have read and understood the Pull Request guidelines.

📷 Screenshots or Visual Changes

image

Domain Name Expiry Notification option for http monitor

image

Domain expiry notify days settings

image

Domain expiry stat on overview

image

Domain expiry notification

@AiroPi AiroPi marked this pull request as ready for review September 3, 2025 09:37
Copy link
Collaborator

@CommanderStorm CommanderStorm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems solid, nice work.
I have noted a few things below, but nothing structural.

Sorry to split this review into two parts, I am reviewing this from a beach in Italy 🏖️

@AiroPi
Copy link
Author

AiroPi commented Sep 4, 2025

  • I may also need to add checks if the 'url.hostname' is an IP and not a domain

@AiroPi AiroPi force-pushed the master branch 2 times, most recently from d0ac65d to f854ec5 Compare September 7, 2025 00:55
@CommanderStorm CommanderStorm added the pr:needs review this PR needs a review by maintainers or other community members label Sep 21, 2025
@AiroPi
Copy link
Author

AiroPi commented Oct 13, 2025

Btw who are the maintainers of Uptime Kuma ? i.e. who is able to give my PR a review ?

@CommanderStorm
Copy link
Collaborator

I and louis.
The PR is somewhere in my review queue, and I will get to it some time.
I can't guarantee any timeline, since my real work and other things are currently quite demanding.

https://github.com/louislam/uptime-kuma/issues?q=state%3Aopen%20label%3A%22pr%3Aneeds%20review%22

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr:needs review this PR needs a review by maintainers or other community members

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Domain Expiry Monitor

2 participants