I'll be at 39c3 in a few days. If you're coming too and want to talk about reaction, don't hesitate to ping me!
#39c3 #CCC #reactionrust

The NixOS module for reaction has been upstreamed in nixpkgs!

Many thanks to @loudgolem for the enhancements and upstream of the original module.

Follow advancement of the NixOS CI/CD:
https://nixpkgs-tracker.ocfox.me/?pr=468019

#nixos #reactionrust

Nixpkgs-tracker

Someone wrote a wiki page to ban IPs using ipset.
If you ban IPs with iptables, consider switching to ipset, as it's much faster!
https://reaction.ppom.me/actions/ipset.html

#reactionrust #ipset

ipset - Reaction wiki

Results on one benchmark:
10% saved on CPU time,
10% saved on actual run time,
20% saved on RAM max usage,
20% saved on disk writes

The benchmark really is on the internals of reaction, so it doesn't take into account real life scenarios where reaction has more complex regexes, and writes more complex data in DB.

So this is kind of the theorical maximum performance boost this change can make.

Still, that's a lot ๐Ÿ†

#reactionrust

Ok I just switched reaction's ip bans from plain iptables to ipset.
This made reaction startup 10 times faster on server 1.
2,600 ips added in 3s instead of 30s.

ipset is far superior than plain iptables for big IP lists. I knew this but I'm still surprised now that I see this!

And the firewall stack must be much faster as well when treating incoming packets!

#reactionrust #iptables #ipset #performance

First time I profile reaction, which is already light on CPU (but I must work on the RAM consumption, which is too high imo)
I used samply, which integrates with Firefox Profiler, it's great! 1/

#reactionrust #performance

I updated earlier today the documentation for reaction's AI crawlers blocker!
You can now automatically list the full community list of AI user agents in reaction ๐Ÿค–
And the regex is more optimized.

https://reaction.ppom.me/filters/ai-crawlers.html

#reactionrust #ai #bot

AI crawlers (ChatGPT...) - Reaction wiki

I also published an article on how to set up alerting for systemd units.

>_

https://reaction.ppom.me/filters/systemd.html

#reactionrust #systemd #alerting #monitoring

Systemd Monitoring - Reaction wiki

After months of email alerting with reaction, I finally published an article on how to send ๐Ÿ’Œ email ๐Ÿ’Œ with reaction.

I made the choice to use ๐ŸฅŒ curl ๐ŸฅŒ, which is ubiquitous, very flexible, and knows how to speak SMTP.

https://reaction.ppom.me/actions/mail.html

#reactionrust #curl

Email alerting - Reaction wiki

So, someone in the issue made me realize that some bots impersonate the user agents of big actors, such as Googlebot. I checked my webserver logs and found a lot of them actually!

I liked the challenge, so I just wrote an article about how to do this in less than 40 SLOC ๐Ÿ†
https://reaction.ppom.me/filters/useragent-impersonators.html

#reactionrust #bots #badbots #google #googlebot

User-Agent impersonators - Reaction wiki