With this PR a new text field will be added that allows setting custom
html code to the `<head>` of a status page.
The implementation will be similar to
https://github.com/louislam/uptime-kuma/pull/2567/files, but with a
multi-line text field and without escaping any special chars.
For security reasons the env var `UPTIME_KUMA_ALLOW_CUSTOM_HTML` must be set to `1` to enable this feature.
This will allow tracking with most analytic platforms and has been
requested several times.
Closes#2818
* WIP, still need to handle npm run reset-password
* Implement it for "npm run reset-password"
Bug fixes and change along with this commit
- Move `ssl`, `hostname`, `port` to ./server/config.js, so `reset-password` is able to read it
- Fix: FBSD is missing, no idea who dropped it.
- Fix: Frontend code should not require any backend code (./server/config.js), moved "badgeConstants" to the common util (./src/util.ts) and drop vite-common.js
* Minor
To try and prevent any security issues, use an external package to
generate key instead of doing it ourselves. Note: we have to use nanoid
version 3 as nanoid version 4 requires ESM. Currently, nanoid v3 is
still supported.
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
API key authentication is now possible by making use of the X-API-Key
header. API authentication will only be enabled when a user adds their
first API key, up until this point, they can still use their username
and password to authenticate with API endpoints. After the user adds
their first API key, they may only use API keys in future to
authenticate with the API.
In this commit, the prometheus /metrics endpoint has been changed over
to the new authentication system.
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>
Web interfaces for manging API keys have been added however translation
keys are still required.
Signed-off-by: Matthew Nickson <mnickson@sidingsmedia.com>