Merge branch 'main' into 374-empty-default-pass
This commit is contained in:
commit
dfec18be3d
3 changed files with 34 additions and 1 deletions
|
@ -2678,6 +2678,27 @@ Here's a simple example:
|
||||||
]));
|
]));
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Auth Query Param
|
||||||
|
In some instances, you may want to send auth credentials in the URL (e.g., a GET webhook or a JSON POST request). You
|
||||||
|
can use the `auth` query parameter. Set the value to the base64 encoding of the value of the `Authorization` header
|
||||||
|
and strip any trailing `=`. **Be sure to only send auth credentials over an HTTPS connection**
|
||||||
|
|
||||||
|
Here is an example:
|
||||||
|
```
|
||||||
|
Step 1. base64(user:pass) -> base64(testuser:fakepassword) -> dGVzdHVzZXI6ZmFrZXBhc3N3b3Jk
|
||||||
|
Step 2. Authorization header -> Basic base64(testuser:fakepassword) -> Basic dGVzdHVzZXI6ZmFrZXBhc3N3b3Jk
|
||||||
|
Step 3. base64(Authorization header) -> base64(Basic dGVzdHVzZXI6ZmFrZXBhc3N3b3Jk) -> QmFzaWMgZEdWemRIVnpaWEk2Wm1GclpYQmhjM04zYjNKaw==
|
||||||
|
Step 4. remove trailing `=` (if any) -> QmFzaWMgZEdWemRIVnpaWEk2Wm1GclpYQmhjM04zYjNKaw== -> QmFzaWMgZEdWemRIVnpaWEk2Wm1GclpYQmhjM04zYjNKaw
|
||||||
|
Step 5. add query param to URL -> https://ntfy.sh/topic -> https://ntfy.sh/topic?auth=QmFzaWMgZEdWemRIVnpaWEk2Wm1GclpYQmhjM04zYjNKaw
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! note
|
||||||
|
Do NOT remove trailing `=` after step 2
|
||||||
|
|
||||||
|
The following command will generate the appropriate value for you on *nix systems:
|
||||||
|
|
||||||
|
```echo -n "Basic `echo -n 'testuser:fakepassword' | base64`" | base64 | tr -d '='```
|
||||||
|
|
||||||
### Message caching
|
### Message caching
|
||||||
!!! info
|
!!! info
|
||||||
If `Cache: no` is used, messages will only be delivered to connected subscribers, and won't be re-delivered if a
|
If `Cache: no` is used, messages will only be delivered to connected subscribers, and won't be re-delivered if a
|
||||||
|
|
|
@ -4,10 +4,15 @@ and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/release
|
||||||
|
|
||||||
## ntfy server v1.29.0 (UNRELEASED)
|
## ntfy server v1.29.0 (UNRELEASED)
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
|
||||||
|
* Allow IP CIDRs in `visitor-request-limit-exempt-hosts` ([#423](https://github.com/binwiederhier/ntfy/issues/423), thanks to [@karmanyaahm](https://github.com/karmanyaahm))
|
||||||
|
|
||||||
**Bug fixes + maintenance:**
|
**Bug fixes + maintenance:**
|
||||||
|
|
||||||
* Subscriptions can now have a display name ([#370](https://github.com/binwiederhier/ntfy/issues/370), thanks to [@tfheen](https://github.com/tfheen) for reporting)
|
* Subscriptions can now have a display name ([#370](https://github.com/binwiederhier/ntfy/issues/370), thanks to [@tfheen](https://github.com/tfheen) for reporting)
|
||||||
* Bump Go version to Go 18.x ([#422](https://github.com/binwiederhier/ntfy/issues/422))
|
* Bump Go version to Go 18.x ([#422](https://github.com/binwiederhier/ntfy/issues/422))
|
||||||
|
* Web: Strip trailing slash when subscribing ([#428](https://github.com/binwiederhier/ntfy/issues/428), thanks to [@raining1123](https://github.com/raining1123) for reporting, and [@wunter8](https://github.com/wunter8) for fixing)
|
||||||
* Allow empty passwords in `client.yml` ([#374](https://github.com/binwiederhier/ntfy/issues/374), thanks to [@cyqsimon](https://github.com/cyqsimon) for reporting, and [@wunter8](https://github.com/wunter8) for fixing)
|
* Allow empty passwords in `client.yml` ([#374](https://github.com/binwiederhier/ntfy/issues/374), thanks to [@cyqsimon](https://github.com/cyqsimon) for reporting, and [@wunter8](https://github.com/wunter8) for fixing)
|
||||||
|
|
||||||
**Documentation:**
|
**Documentation:**
|
||||||
|
|
|
@ -90,6 +90,13 @@ const SubscribePage = (props) => {
|
||||||
return validTopic(topic) && !isExistingTopicUrl;
|
return validTopic(topic) && !isExistingTopicUrl;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
const updateBaseUrl = (ev, newVal) => {
|
||||||
|
if (validUrl(newVal)) {
|
||||||
|
props.setBaseUrl(newVal.replace(/\/$/, '')); // strip trailing slash after https?://
|
||||||
|
} else {
|
||||||
|
props.setBaseUrl(newVal);
|
||||||
|
}
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DialogTitle>{t("subscribe_dialog_subscribe_title")}</DialogTitle>
|
<DialogTitle>{t("subscribe_dialog_subscribe_title")}</DialogTitle>
|
||||||
|
@ -128,7 +135,7 @@ const SubscribePage = (props) => {
|
||||||
options={existingBaseUrls}
|
options={existingBaseUrls}
|
||||||
sx={{ maxWidth: 400 }}
|
sx={{ maxWidth: 400 }}
|
||||||
inputValue={props.baseUrl}
|
inputValue={props.baseUrl}
|
||||||
onInputChange={(ev, newVal) => props.setBaseUrl(newVal)}
|
onInputChange={updateBaseUrl}
|
||||||
renderInput={ (params) =>
|
renderInput={ (params) =>
|
||||||
<TextField
|
<TextField
|
||||||
{...params}
|
{...params}
|
||||||
|
|
Loading…
Reference in a new issue