A Very Long String Of Gamutto Moments

published: 2022-09-04


I was going to name this post "Caddy Server: Into The Caddyverse", but my knowledge of Spiderman lore solely consists of "man gets bitten by spider, fights dude with robotic tentacles, broken eggs in backpack", so I couldn't ensure the joke would make any sense.

I'm not sure if it is a running joke at my expense or a genuine confusion on his part, but a long-time friend of mine seems to not have been able to visit my site for a long time now. I can run systemctl status caddy2 and hop on as many different connections as are available to me and force-change my relay nodes in Tor as much as I want, but even though every resource I have at my disposal shows that my site is up, he insists that it is down. At this point, I can only conclude that either he is intentionally fucking with me (which I seriously doubt he would do, as he attempted to defend me when the rest of the users of his social media site collectively shat their pants and threw tantrums like toddlers when I said I wanted my account deleted) or I have somehow without pointed intention magically cursed him to the abyss of HTTP 5XX.

I don't particularly care about being disliked by random strangers in and of itself. I've been dealing with social exclusion my entire life, after all. If you can't handle me at my worst, you don't deserve me at my... new worst when I somehow manage to push through rock bottom. Part and parcel of being the Envoy of Chaos. Jett told me to keep going, after all. I am on an indomitable warpath home to Sablade. I've come too far to stop now just because some asshole called me "sensitive" for not wanting to be around a bunch of men incapable of respecting my basic (physical) humanity.

Chad meme where the Chad hates porn because it harms women and the brainlet hates porn because it broke his dick

The women of Ovarit were always far more intellectual, anyway. Something something women grooving on each other to make a magical world. Sorry, St. Solanas, I don't have the entirety of SCUM Manifesto memorized yet.

I have found myself in an unfortunate situation where Let's Decentralize is apparently so well-made that I keep finding far-right sites linking to it. Often this is with a banner I made in five minutes in GIMP when I thought I should add it to the Lainchan webring and then soon afterwards changed my mind. (I still get requests for the webring page from time to time.) Much like how I can understand how the YouTube Adpocalypse started with corporations not wanting their, say, chip ads running on videos of ISIS beheadings, I don't want any of my sites to be associated with content about how "DA JOOS" are behind the current evils of Big Tech or how attempts to decrease sexual harassment of women in the tech industry is contributing to code rot or some other bullshit. Considering that these people, well, consider anything made by a woman or a homosexual anathema, I thought I would try to scare them off with a double whammy by changing the CSS color scheme to the lesbian flag...

...which didn't work. No acknowledgement at all. The problem only grew worse. It was as if I had asked the flies in the bathroom to politely stop biting me and go fly out the window of their own accord.

As one does when the flies keep multiplying, one hangs up a canister of fly tape and pulls out the swatter.

One of the niceties of the Caddy web server is its "matchers". Matchers allow you to forcibly redirect traffic elsewhere or otherwise handle it differently if it matches one or more conditions. Take the below example:

(markdown) {
	@md {
		path *.md
	}
	header @md Content-Type text/plain {
		defer
	}
}
				

In this config snippet, a template named markdown is created where all paths ending in .md are funneled to anything that acts upon the @md tag. header takes all requests with the @md tag and forcibly changes the Content-Type header to be text/plain instead of text/markdown. This essentially allows a person using a mainstream browser like Firefox to view the raw Markdown in their browser instead of being prompted to download it. I can then put import markdown in the config of any site I might want to serve Markdown files on to enable this template.

Caddy can match for almost any header in a client request. This means that I can match requests based on Referer or User-Agent. Originally I only used this to purposely poison data collected by scrapers:

@scrapy {
	header User-Agent *Scrapy*
}
redir @scrapy https://theannoyingsite.com
				

But it also means that, if a site doesn't have noreferrer on their links, I can annoy visitors coming from said site by making their links useless (and hopefully signal to them that I don't want them here):

@blued {
	header Referer *blued*
}
redir @blued https://theannoyingsite.com
				

Of course, as stated above, if the site updates itself to have "noreferrer" on all links, then this Caddy rule becomes useless as browsers clicking on links to my site will no longer supply the Referer header. And it never worked anyway on browsers that strip the Referer header for privacy reasons. The flies learn what happens when one touches the fly paper and adapt to avoid it.

Another way these undesirables get in is the endless Tor2web proxies. I hate these with a burning passion. Not only does it allow web archivers to access my site whenever I have the clearnet version taken down specifically to avoid archiving, but it also introduces a man-in-the-middle who is free to inject whatever scripts and ads and other code onto my content as they please with the visitor being none the wiser. As almost no Tor2web proxies identify themselves with headers, I can't use Caddy to kill them... but I can use JavaScript. So with my award-winning programming strategy known as "copy-paste code snippets from Stack Overflow", I constructed something like this:

let text = window.location.href;
let pet = text.includes("onion.pet");
let ws = text.includes("onion.ws");
let search = text.includes("onionsearchengine.com");
if ((pet === true) || (ws === true) || (search === true)) {
	window.location.replace("https://theannoyingsite.com");
}
				

The damn thing is far longer than this, and you can look at it if you want. What the script does is check the current URL of the page it is running on. If it detects that it contains any of the listed strings, it forcibly redirects the user to a different site. The only way to disable this is by turning off JavaScript in the browser... but considering the average clientele of Tor2web proxies, with that level of effort required you might as well just boot up Tor Browser proper.

While I have no intention of taking down my website, wasp nest of Kiwi Farms struck with a bat or not, sometimes I wonder what I would do if I ever had to. How does the signal keep going but stay under the radar?

Gemini is one option. In the three years or so since Project Gemini's conception, a quick search shows that seemingly only one person has ever made acknowledgement of my gemsite beyond a simple "here's a mirror of the all known servers list on the Project Gemini homepage". Which is hilarious, because one would think the average Gemini user would be falling over themselves to make silly little replies crying over how I think gender is harmful! Every day brings pleasant surprises, I guess. Blocking unwanted visitors on Gemini is nigh-impossible, though, since there isn't an equivalent of the Referer header. (At least, last I checked. I sincerely doubt Solderpunk would have allowed that in the spec.) While HTTP-to-Gemini proxies exist, the clearnet ones can be killed by using iptables to black-hole any requests coming from the proxy's IP, and I have yet to see a proxy that can handle darknet gemsites.

Gopher would be an option, but pygopherd is no longer in the Debian repositories since the purge of Python 2.x, and I have yet to find another server that both supports darknets and doesn't immediately crash on my server. And Freenet and IPFS, while usable, have piss-poor content discovery, if at all... and "never able to be found unless you already know where it is" isn't an acceptable outcome in my eyes. I may as well cease to exist, a living death.

I want to be found. I want some woman, somewhere, to know that she is not alone in her struggles. And as I have engineered Sablade to have an impenetrable cosmic skin no deity can pierce and will spend the rest of my soul's existence defending it once I am there fully, I am willing to take on the burden of beating back the bad actors to ensure this woman, these women, continue to have a place where no man can harm them. If this is "looking for a safe space", then so be it - but ask yourself why you, the hypothetical person who thinks I am too "sensitive" for this world, are so repulsive that you can only thrive in filth and misery.


CC BY-NC-SA 4.0 © Vane Vander