The gemlog comment daemon - now with notifications

... so you know when someone has something to say!

Initial writeup: 2024-12-22

gmlgcd v2.2

Two new dependencies, libcurl and imsg. Why? Well, gmlgcd now lets you know once someone left a comment to one of your posts! With new configuration, you're able to notify some endpoint that implements, or is

=> ntfy.sh ,

on new interactions.

Talking to ntfy is fairly simple with the CURL C-API, since it is just a HTTP POST. And to stay with the objective of gmlgcd being implemented with security in mind, the process forks when notifications are enabled to then create a child process that is only concerned with sending notifications. This way, talking to the internet and modifying files is seperated, because the child sandboxes itself as well.

I also integrated my latest incarnation of ridiculous macros,

=> https://git.sr.ht/~shtrophic/landloc.h

that i mentioned in my latest post,

=> Sandboxing on Linux - it needn't be complicated

into this release of gmlgcd for more convenient, landlock(7) based sandboxing.

For some IPC between parent and child I opted for imsg on OpenBSD and

=> https://github.com/bsd-ac/imsg-compat

which is a port of the former for operating systems which do not focus on convenient C-APIs.

Yes two more dependencies, and I started with the intention for gmlgcd to be somewhat dependency-less... But:

I really love meson. Have I already said that? Without it, I surely wouldn't be writing C projects in my free time! :b

And now, given that there is some "framework" for notifications, there are two options for me to consider for gmlgcd going forward:

Cheers!

=> View comments | Home

Proxy Information
Original URL
gemini://shtrophic.net/gmlgcd-notifications.gmi
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
130.190233 milliseconds
Gemini-to-HTML Time
0.547253 milliseconds

This content has been proxied by September (ba2dc).