In-reply-to » changing my video site's logo to this silly no thoughts head empty tux clip art. because i can. https://openclipart.org/detail/103855/tux-the-penguin

@ after some fighting with this janky software (that i still love despite the jank) we now have stupid tux as our logo. slayyy

⤋ Read More
In-reply-to » In the process of temporarily removing and securing all my hard disks. They’ll be turning this building into a construction site for the next weeks/months. Lots of heavy drilling and hammering. Not sure what this means for spinning disks and I’d rather be on the safe side. 🫤

@lyse@lyse.isobeef.org @kat Thanks. 😅 Fingers crossed.

⤋ Read More

So I need to figure out how to block ASN(s)…

Additionally, I’ thinking of; How to detect DDoS attachs?

Here’s one way I’ve come up that’s quite simple:

Detecting DDoS attacks by tracking requests across multiple IPs in a sliding window. If total requests exceed a threshold in a given time, flag as potential DDoS.

⤋ Read More
In-reply-to » In the process of temporarily removing and securing all my hard disks. They’ll be turning this building into a construction site for the next weeks/months. Lots of heavy drilling and hammering. Not sure what this means for spinning disks and I’d rather be on the safe side. 🫤

@movq@www.uninformativ.de Oh dear. All the best of luck with that noise! And the disks.

⤋ Read More

In the process of temporarily removing and securing all my hard disks. They’ll be turning this building into a construction site for the next weeks/months. Lots of heavy drilling and hammering. Not sure what this means for spinning disks and I’d rather be on the safe side. 🫤

⤋ Read More
In-reply-to » For some reason, I was using calc all this time. I mean, it’s good, but I need to do base conversions (dec, hex, bin) very often and you have to type base(2) or base(16) in calc to do that. That’s exhausting after a while.

@movq@www.uninformativ.de Thanks! I already found it and patched it to run in my ancient Python version (no match keyword and exec(…) only allows globals and locals as positional arguments). :-) https://lyse.isobeef.org/tmp/mcalc-patched.py.txt

⤋ Read More
In-reply-to » The fact that the official Python docs don’t clearly state what a function returns, grinds my gears. This has cost me so much time over the years. You always have to read through a huge block of text.

@lyse@lyse.isobeef.org Right, there is some hope left for Python docs because of the type hints. 😃 (I still don’t use them, because, ugh. 🤦)

⤋ Read More
In-reply-to » For some reason, I was using calc all this time. I mean, it’s good, but I need to do base conversions (dec, hex, bin) very often and you have to type base(2) or base(16) in calc to do that. That’s exhausting after a while.

@movq@www.uninformativ.de That sounds super useful! I always used bc and ibase=2/obase=2 for conversions. But your digit grouping is what I always lacked. I gotta switch.

⤋ Read More
In-reply-to » The fact that the official Python docs don’t clearly state what a function returns, grinds my gears. This has cost me so much time over the years. You always have to read through a huge block of text.

@movq@www.uninformativ.de Yeah, the Python docs are more like a book. They absolutely shine if you have no idea and read them from top to bottom. The tutorial is baked right in. But they don’t work all that perfect as cheat sheets. I also remember looking for the return types way too long in the past.

I would have thought that this could be easily improved when type hints are in place. And it sure does: https://www.tornadoweb.org/en/stable/httpclient.html#tornado.httpclient.HTTPClient.fetch

⤋ Read More
In-reply-to » i recorded my first camcorder video!!!! it's just me practicing guitar after sooo long of not playing it. my acoustic, to be specific (well, it's an electric acoustic thing but i can play it without plugging it in lol, i do have a stratocaster though). it's capped at ~30 minutes because i used one mini DVD for it and decided i wasn't gonna use another one to extend the run time. so yeah. it was super fun! i hope i can share it soon, i'm ripping the disc with make MKV right now, then i'll re-encode to a web friendly format, and upload to my site and hope that works well

@kat@yarn.girlonthemoon.xyz Oh cool, I wish I had a similar subject in school. :-)

⤋ Read More
In-reply-to » Any idea What's this "twtxtfeevalidator/0.0.1" UA about? I thought I could ask before throwing a 1000GB file at it 🪤 could it be the same 'xt' thing @lyse was talking about the other day?

I cobbled that together yesterday, @aelaraji@aelaraji.com. Since I was too lazy to write some tests, I simply hit your feed as I knew it contains two invalid lines right now. Sorry mate! :-( Next thing is to actually write some proper tests, improve the messages, etc.

Here’s the code: https://git.mills.io/yarnsocial/validator

Looking forward to that, @prologic@twtxt.net. :-)

⤋ Read More

For the time being… I’ve just blocked all of OpenAI(s) Bots. They (thankfully) publish a JSON endpoint that you can use to block all OpenAI crawlers from reaching your server (in my case, blocking it at the edge). Example:

proxy-1:~# curl -qs https://openai.com/gptbot.json | jq -r '.prefixes[].ipv4Prefix' | xargs -I{} ./block-ip.sh {}

Where block-ip.sh is simply:

#!/bin/sh

ufw insert 1 deny from "$1" to any

⤋ Read More
In-reply-to » Any idea What's this "twtxtfeevalidator/0.0.1" UA about? I thought I could ask before throwing a 1000GB file at it 🪤 could it be the same 'xt' thing @lyse was talking about the other day?

@aelaraji@aelaraji.com Yes! 👏 This is exactly what it is! 🤣 I will of course soon™ be hosting this service, likely at validator.twtxt.net 😅😅

⤋ Read More
In-reply-to » How in da fuq do you actually make these fucking useless AI bots go way?

@kat Haha 🤣 If someone figures this out, please let me know 🙏🙏 – In the meantime, I’m going to very soon™ write a daemon that will watch the audit log for repeated violations and add to the network firewall.

⤋ Read More
In-reply-to » Nice! I wrote another useful tool 👌

This is better:

proxy-1:~# ./audit-log-by-ip.sh 4.227.36.76 | coraza-log-formatter -m -
2025/01/04 23:17:04 4.227.36.76 58982 GET /external?aff-HY0BLO=&f=mediaonly&f=noreplies&nick=g1n&uri=https%3A%2F%2Fthe-president-codes.linegames.org null 0  On OWASP_CRS/4.7.0
Actionset: OWASP_CRS/4.7.0
Message: Bad User Agent
Severity: 0
Raw: SecRule REQUEST_HEADERS:User-Agent "@pmFromFile /etc/caddy/waf/bad_user_agents.txt" "id:2000,log,phase:1,deny,msg:'Bad User Agent'"

⤋ Read More

Nice! I wrote another useful tool 👌

proxy-1:~# ./audit-log-by-ip.sh 4.227.36.76 | coraza-log-formatter -m -
Actionset: OWASP_CRS/4.7.0
Message: Bad User Agent
Severity: 0
Raw: SecRule REQUEST_HEADERS:User-Agent "@pmFromFile /etc/caddy/waf/bad_user_agents.txt" "id:2000,log,phase:1,deny,msg:'Bad User Agent'"

⤋ Read More

How in da fuq do you actually make these fucking useless AI bots go way?

proxy-1:~# jq '. | select(.request.remote_ip=="4.227.36.76")' /var/log/caddy/access/mills.io.log | jq -s '. | last' | caddy-log-formatter -
4.227.36.76 - [2025-01-05 04:05:43.971 +0000] "GET /external?aff-QNAXWV=&f=mediaonly&f=noreplies&nick=g1n&uri=https%3A%2F%2Fmy-hero-ultra-impact-codes.linegames.org HTTP/2.0" 0 0
proxy-1:~# date
Sun Jan  5 04:05:49 UTC 2025

😱

⤋ Read More
In-reply-to » @kat I've actually moved most of my stuff of of Cloudflare now 🤣 I'm actually very happy with my edge proxy setup that reverse proxies, caches and acts as a web application firewall 🥳

@prologic@twtxt.net you are documenting everything, right? I am very interested in a HOWTO! ☺️

⤋ Read More
In-reply-to » The fact that the official Python docs don’t clearly state what a function returns, grinds my gears. This has cost me so much time over the years. You always have to read through a huge block of text.

@kat Yeah, Java itself is somewhat “controversial”, I guess. 😅 But I’ve always found their documentation to be very pleasent to work with, at least that of the standard library.

⤋ Read More
In-reply-to » The fact that the official Python docs don’t clearly state what a function returns, grinds my gears. This has cost me so much time over the years. You always have to read through a huge block of text.

@movq@www.uninformativ.de woah it’s like a cheatsheet with explanations! java is kind of arcane magic sorcery to me so i’m having trouble understanding it but i have that with most programming languages. this is like so much easier to actually look at and read instead of my eyes glazing over lol

⤋ Read More
In-reply-to » Having a lot of fun with Coraza today. A Web Application Firewall library written in Go that also happens to have a Caddy module.

@kat I’ve actually moved most of my stuff of of Cloudflare now 🤣 I’m actually very happy with my edge proxy setup that reverse proxies, caches and acts as a web application firewall 🥳

⤋ Read More
In-reply-to » morning yarn friends i've been playing with astro the SSG and it's a blast i see why my friends love it and rec it to everyone. i may think javascript was a mistake but this is super cool

@kat Have you seen the SSG that I built and use on all my static sites? zs 🤔

⤋ Read More

Oh gawd. I can’t enable caching on my edge proxy everywhere 😱 Some shit™ doesn’t deal with a caching reverse proxy in front of it very well for some reason I don’t have time to dig into right now 🤔

⤋ Read More