42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
---
|
|
title: >-
|
|
New Tool: Mizule
|
|
date: 2020-01-17T23:01:00-05:00
|
|
---
|
|
|
|
I want to do better about switching out the BURP backup disks, so I need
|
|
something to remind me. A calendar event might work, but if I forget to do it
|
|
on the day it's scheduled, I won't get another reminder until the next
|
|
scheduled date.
|
|
|
|
I decided to write a simple program that checks the UUID of the filesystem
|
|
mounted at /var/spool/burp and generates a notification if it has not changed
|
|
for some time. This way, if I forget to do it on the scheduled date, it will
|
|
keep reminding me until I do.
|
|
|
|
I wrote the tool in Rust, because it is very simple and I have been looking
|
|
for a project to help me get motivated to learn Rust more. It took about 12
|
|
hours start-to-finish.
|
|
|
|
Aside from my lack of familiarity with Rust, probably the most difficult part
|
|
of the project was getting it to reliably send email notifications! At some
|
|
point, I realized that `nullmailer` wasn't running on my desktop, and hadn't
|
|
been for *quite* some time! When I started it up, it had so many messages
|
|
queued up (from cron, etc.), that Protonmail put a rate limit on my email
|
|
account! This made it difficult to test Mizule's email capability, since I
|
|
couldn't actually see the messages it was sending, only that it had sent
|
|
something according to the Postfix logs.
|
|
|
|
I am going to look into some other options for sending push notifications. So
|
|
far, I have found [Firebase Cloud Messaging][0], Google's "offical" push
|
|
notification solution, which naturally requires a Google account, Google
|
|
Services Framework, et. al. I also found [Gotify][1], which just uses a
|
|
WebSocket. There is also [notify.run][2], which uses the Web Push API (browser
|
|
based), and [signald][3], which sends messages to Signal. XMPP may be an option
|
|
as well.
|
|
|
|
[0]: https://firebase.google.com/docs/cloud-messaging/
|
|
[1]: https://gotify.net/
|
|
[2]: https://notify.run/
|
|
[3]: https://gitlab.com/thefinn93/signald
|