Simplepush
| Schemes | spush://, simplepush:// |
| Cargo feature | service-simplepush |
| Service | https://simplepu.sh/ |
| Body formats | markdown (first is the default) |
| Attachments | yes |
| Title length | 300 characters |
| Body length | 7,000 characters |
| Body lines | unlimited |
| Request throttle | none |
| Vendor URLs accepted | no |
URL formats
{schema}://{token}
{schema}://{token}/{targets}
{schema}://{password}@{token}
{schema}://{password}@{token}/{targets}
{schema} is one of spush://, simplepush://.
URL tokens
| Token | Meaning | Type | Required | Default | Notes |
|---|---|---|---|---|---|
{password} | Password | string | no | secret | |
{target_member} | Target Member | string | no | prefix @ | |
{target_topic} | Target Topic | string | no | ||
{targets} | Targets | list | no | any of target_member, target_topic; separated by / | |
{token} | API Token | string | yes | secret |
Query parameters
| Parameter | Meaning | Type | Default | Notes |
|---|---|---|---|---|
broadcast | Broadcast | bool | no | |
critical_volume | Volume | float, 0 to 1 | ||
links | Link | list | separated by , or space | |
priority | Priority | choice | one of 1, 2, 3, 4, 5 | |
shared | Shared | bool | no | |
sptag | Tag | string | ||
to | Targets | list | sets {targets} | |
topic_auth_token | Auth Token | string | secret |
The common URL parameters (format, overflow, verify, redirect, cto, rto, retry, wait, store, tag, tz, user, password, port, optional, emojis) apply as well.
Examples
Accepted URLs (tokens are fake):
spush://AAAAAAAAAAAAAA
spush://secret@AAAAAAAAAAAAAA
spush://AAAAAAAAAAAAAA/alerts
simplepush://AAAAAAAAAAAAAA/alerts
spush://secret@AAAAAAAAAAAAAA/alerts
spush://spi_cred.RfD2e8N6R92NKuRlF1RHlK7HHe3g2-3pGtdcuc9hOw8/site/@Alice
spush://spi_cred.RfD2e8N6R92NKuRlF1RHlK7HHe3g2-3pGtdcuc9hOw8/@Alice/@Bob/site
spush://AAAAAAAAAAAAAA/?to=alerts,deploys
Rejected URLs:
spush://
spush://AAAAAAAAAAAAAA/alerts?priority=invalid
spush://AAAAAAAAAAAAAA/alerts?priority=10
spush://AAAAAAAAAAAAAA/alerts?priority=3.5
Send one from the command line:
mercurio -t 'Backup' -b 'Finished in 42s' 'spush://AAAAAAAAAAAAAA'
Notes
Simplepush (spush://, simplepush://): push notifications through Simplepush, optionally encrypted.
Every message is sent as a task. Encryption is end-to-end:
- personal sends with a password: Argon2id (libsodium
crypto_pwhash, 3 passes, 64 MiB) over the password salted with the topic (or the account’s password salt), expanded with HKDF-SHA256 into a key; - organization sends with an integration token (
spi_<credential>.<seed>): the organization keys are wrapped to the token with NaClcrypto_box(X25519 + XSalsa20-Poly1305) and opened with the seed.
Fields, links and attachments are sealed with XChaCha20-Poly1305 (24 byte nonce + ciphertext + tag).