prologic

twtxt.net

No description provided.

Recent twts from prologic
In-reply-to » Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That's right $0.00 🤣 Media

Did we just discover a way to grow the Yarn.social network? 🤣

⤋ Read More
In-reply-to » Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That's right $0.00 🤣 Media

All our servers come with an initial 2tb for free.

⤋ Read More
In-reply-to » Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That's right $0.00 🤣 Media

Their response:

The bandwidth for our free instances is 2 TB of free bandwidth.

Mike Wolfman
ww.vultr.com
enior Linux Systems Administrator

😱

⤋ Read More
In-reply-to » Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That's right $0.00 🤣 Media

@bender@twtxt.net Is right. Apparently it’s 0 bandwidth. I’m asking them some clarifying questions:

Hi Team,

Just noticed that you offer FREE (as in $0) VM(s) on the vc2-1c-0.5gb-free
plan. however I also note that this has 0 Bandwidth.

I’m a bit confused by this. What would be the point of having a free VM if it has no Bandwidth? How is network bandwidth charged in this case?

cheers
james

⤋ Read More
In-reply-to » @kat ...

@bender@twtxt.net It’s true! This is only a good thing @kat@yarn.girlonthemoon.xyz 🤣 You keep going like this with your own little community of friends, and my twtxt.net (flagship pod) will no longer be 🤣 I’ve always want to see Yarn.social grow, but grow in ways that keep to its truest sense of “decentralised”. That’s one of the reasons I built yarnd not to scale too much 🤣 My own pod has around ~18-20 active users per month (give or take) and that’s honestly enough 😅

⤋ Read More

Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That’s right $0.00 🤣

⤋ Read More
In-reply-to » I'm usually comfortable keeping my hardship to myself, most especially AWAY from the internet; an act of kindness of sorts towards others, "Everyone's got their own problems to worry about" kind of thing.. But maaan am I starting to believe creating a twitter account would be a healthy decision 🤣🤦 Read nothin' out there, just a one way echo chamber of sorts to let that shi_ out of my chest. It seem that's what everyone else's been using it for all this time.

@aelaraji@aelaraji.com Man I’m sorry to hear this. 😢 Whatever it is you’re going through, things will get better I promise you 🤗

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

Note for reference I was trying to write and fix this rule (fixed version below):

# Ignore Content-Type restrictions for Git
SecRule REQUEST_HEADERS:Host "@streq git.mills.io" "id:101,phase:1,t:none,nolog,ctl:ruleRemoveById=920420"

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

I’ll try to add a README for caddy-waf soon™ (going back to bed now) at least document the customizations I’ve made to this WAF (which I forked from caddy-coraza)

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

This is how I build my caddy:

proxy-1:~# cat build.caddy.sh
#!/bin/sh

xcaddy build \
	--with github.com/caddy-dns/cloudflare \
	--with github.com/caddyserver/cache-handler \
	--with git.mills.io/prologic/caddy-ratelimit \
	--with git.mills.io/prologic/caddy-waf
proxy-1:~#

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

Ahh fuck! Sorry I was fixing a rule 🤣 This is much better!

proxy-1:~# grep -c 'Bad ASN' /var/log/caddy/caddy.log
2441

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

@bender@twtxt.net Yes they are rather large 🤣 Here you go:

proxy-1:~# cat /etc/caddy/waf/bad_asns.txt
# CHINANET-BACKBONE No.31,Jin-rong Street, CN
# Why: DDoS
4134

# CHINA169-BACKBONE CHINA UNICOM China169 Backbone, CN
# Why: DDoS
4837

# CHINAMOBILE-CN China Mobile Communications Group Co., Ltd., CN
# Why: DDoS
9808

# FACEBOOK, US
# Why: Bad Bots
32934
proxy-1:~#

⤋ Read More
In-reply-to » Cool! 😎 So I can now block ASN(s) 🤣 (And I bet no-one noticed anything)

@bender@twtxt.net AS Number:

An autonomous system (AS) is a collection of connected Internet Protocol (IP) routing prefixes under the control of one or more network operators on behalf of a single administrative entity or domain, that presents a common and clearly defined routing policy to the Internet.[1] Each AS is assigned an autonomous system number (ASN), for use in Border Gateway Protocol (BGP) routing. Autonomous System Numbers are assigned to Local Internet Registries (LIRs) and end-user organizations by their respective Regional Internet Registries (RIRs), which in turn receive blocks of ASNs for reassignment from the Internet Assigned Numbers Authority (IANA). The IANA also maintains a registry of ASNs which are reserved for private use (and should therefore not be announced to the global Internet).

⤋ Read More
In-reply-to » i love posting to my own personal youtube site i can just do whatever tf i want. no content ID here just vibes and finger crossing that i don't get a cease and desist one day

Also yarnd supports video too 🤣

⤋ Read More
In-reply-to » Hmmm so I've sustained two DDoS attacks on my Gitea server today. A few hours apar. Still analyzing the traffic...

@bender@twtxt.net you’re right the scale wasn’t that large, but analyzing the logs. It definitely was a detox attack. 🤣 I woke up this morning to see six other small spikes like this which I’ll have to analyze later tonight…

⤋ 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

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 » 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

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

What’s a reasonable per second or per minute rate limit that I could apply in general at my edge proxy for all clients? (no matter what) … LIke a good reasonable upper bound? 🤔

⤋ Read More
In-reply-to » I just banned 41 bad user agents from accessing any of my services. 😱

@movq@www.uninformativ.de Yeah it’s starting to piss me off too 🤣 Not nearly as much as that guy, but stil. Anyway I’m having fun! Now I just need to find a good IP/Subnet list that I can blacklist entirely, ideally one that’s updated frequently so I can refresh firewall rules.

⤋ Read More
In-reply-to » I just banned 41 bad user agents from accessing any of my services. 😱

Bloody fucking hell. I think one of Google’s GenAI crawlers was just hitting my Gitea instance quite hard. Fuck 🤬 Geez

⤋ Read More
In-reply-to » @andros What do you mean by API? yarnd (which powers Yarn.social pods like twtxt.net) does have an API, however that API is designed for clients to interact with the pod and the user's account and feed. e.g: there is a command-line client called yarnc and I used to maintain a mobile native app (using Flutter).

@doesnm@doesnm.p.psf.lt It is the same API that yarnc the command-line client uses.

⤋ 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.

i.e: Not much point in running a WAF on a static site. But OTOH if there’s enough abuse from shitty assholes, there might be 🤔🤔

⤋ 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.

I’m just basically learning now how ModSecurity rules work and how to write my own.

The builtin OWASP rules are already working nicely 👌 – And yeah I won’t include the WAF on every site block, probably just my main/primary domain where I tend to run demo services and other things.

⤋ 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@yarn.girlonthemoon.xyz If you’ve been following my yarns the other day about me getting off of Clownflare and building my own WAF, Proxy and effectively my own Edge network, you’ll know I’m doing this at the very edge 🤣🤣

⤋ Read More
In-reply-to » fighting for my life trying to learn golang WHAT THE FUCK IS A POINTER (rhetorical)

A pointer is basically a reference to a variable. It is typically used with structs and especially in pointer receiver methods so that you can modify fields of a struct.

⤋ Read More
In-reply-to » help i've had this account for barely 2 days and i'm nearly at 100 posts

Also post as much as you want! It’s a free world. It’s your feed. It’s your daughter. 🤣 nobody actually has to read any of it let alone follow you if they don’t want to. 🙃 that’s kind of the beauty of a truly decentralized slow social media ecosystem. 😎

⤋ Read More
In-reply-to » @prologic Is it possible to interact with twtxt.net from outside? For example, an search API

@andros@twtxt.andros.dev What do you mean by API? yarnd (which powers Yarn.social pods like twtxt.net) does have an API, however that API is designed for clients to interact with the pod and the user’s account and feed. e.g: there is a command-line client called yarnc and I used to maintain a mobile native app (using Flutter).

What use-case did you have in mind?

⤋ Read More