wanderlost /blog Zola en Wed, 16 Apr 2025 00:00:00 +0000 Anubis is a joke Wed, 16 Apr 2025 00:00:00 +0000 wanderlost /blog/2025-04-16-anubis-is-a-joke/ /blog/2025-04-16-anubis-is-a-joke/ <p>Over the past few months, a lot of people have turned to Anubis by Xe Iaso for trying to protect their sites, primarily Git forges and alternative frontends, against AI scraping.</p> <p>Anubis is a new PoW captcha "solution" that (allegedly) holds out scrapers by slowing down your browsing and forcing you to enable JavaScript to pass a challenge to view the site. Once it's wasted a few seconds of your time and made you reevaluate the worth of whatever you were visiting, the stupid anime girl (previously AI generated) it shows you give a smile and you're on your way. This challenge only will work on Chromium and its Google-funded controlled opposition, Firefox. Basilisk does seem to work, though with broken CSS. It doesn't even work on Safari (allegedly, I don't own an iToy to test this with) and no other browser (until you read the next section) works on this.</p> <p>There's one small problem to Anubis though. By default (which no installation I've checked changes), Anubis will only present a challenge to User-Agents with "Mozilla" and some obvious scraper agents, at the time of me writing this. You can check this in /data/botPolicies.json.</p> <p>This means all one of those evil scrapers Anubis is supposed to protect against have to do to bypass Anubis is not use one of these User-Agents. It also means that you too can completely bypass this as I know it's been annoying a lot of people lately. You can curl a site using the default config (most of them), and it won't give an Anubis challenge, it'll just show you the site in its original form. No special options, no custom User-Agent, just curl http://domain.name and it'll let you through. This is applicable to your normal browser as well, just give it a user agent that doesn't contain "Mozilla" or any of the other terms in the file and you won't have any problems.</p> <p>I was expecting a much more involved workaround to dealing with this piece of shit but no, all you have to do is give it a UA not containing some keywords.</p> XHTML is good, actually Sun, 13 Apr 2025 00:00:00 +0000 wanderlost /blog/2025-04-13-xhtml-is-good-actually/ /blog/2025-04-13-xhtml-is-good-actually/ <p>About a month or two ago, I finally converted everything I run and currently maintain to XHTML 1.1. I had been considering it for months and finally decided it was the right decision, and came to the conclusion that XHTML is far better than HTML.</p> <h1 id="an-open-web-needs-real-standards">An open web needs real standards</h1> <p>Unlike the SGML-based HTML, documents in XHTML must be valid. Browsers will let you get away with some mild errors, but it's far less lenient than normal HTML. While this is one of the most common things people criticize XHTML for, it's a good thing. Had everyone used XHTML and followed its standards when it first came out, maybe we wouldn't have the browser monopoly we have today, or at least not to such a severe extent. The web needs well-formed XML documents, not the sloppily thrown together garbage HTML allows and borderline encourages. At the start, XHTML was designed with the intention of fixing this, but many people kept clinging onto their shitty documents. Now so many pages are still so annoying to parse that only a couple companies actually do it. XHTML could've helped fix this.</p> <p>XHTML tags must be properly closed, so it will not let you use <code>&lt;br&gt;</code> instead of <code>&lt;br /&gt;</code>. XHTML will not let you uppercase your elements and attributes, so you can't <code>&lt;IMG SRC=</code>. XHTML will not let you mess up nesting (even though some browsers will), so you can't (or at least shouldn't) do the following:</p> <pre data-lang="xhtml" style="background-color:#2b303b;color:#6c7079;" class="language-xhtml "><code class="language-xhtml" data-lang="xhtml"><span style="color:#abb2bf;">&lt;</span><span style="color:#eb6772;">p</span><span style="color:#abb2bf;">&gt; </span><span style="color:#abb2bf;"> Here&#39;s a list of some things </span><span style="color:#abb2bf;"> &lt;</span><span style="color:#eb6772;">ul</span><span style="color:#abb2bf;">&gt; </span><span style="color:#abb2bf;"> &lt;</span><span style="color:#eb6772;">li</span><span style="color:#abb2bf;">&gt;Item&lt;/</span><span style="color:#eb6772;">li</span><span style="color:#abb2bf;">&gt; </span><span style="color:#abb2bf;"> &lt;</span><span style="color:#eb6772;">li</span><span style="color:#abb2bf;">&gt;Item&lt;/</span><span style="color:#eb6772;">li</span><span style="color:#abb2bf;">&gt; </span><span style="color:#abb2bf;"> &lt;/</span><span style="color:#eb6772;">ul</span><span style="color:#abb2bf;">&gt; </span><span style="color:#abb2bf;">&lt;/</span><span style="color:#eb6772;">p</span><span style="color:#abb2bf;">&gt; </span></code></pre> <p>As much as people like to make fun of this, it's a positive to have well formed documents be enforced.</p> <h1 id="your-own-sanity">Your own sanity</h1> <p>XHTML forcing documents to be well formed isn't only good for maintaining a true standard, it also helps you, the author. By requiring everything be valid, it strongly discourages poor formatting, leaving it easier for you to maintain your site and edit in the future. Using XHTML puts you in better habits for writing sites and it's yet another reason why its strictness is a good thing.</p> <h1 id="negatives">Negatives</h1> <p>As XHTML is an older standard (the oldest full release being the second edition of XHTML 1.1 in late 2010), it misses out on some newer features HTML5 and others brought in. It doesn't have <code>&lt;summary&gt;</code> or <code>&lt;details&gt;</code>, it doesn't have semantic elements like <code>&lt;main&gt;</code> (though I don't really think this matters as much), and it doesn't have inline SVG. I don't think any of these are really an absolute necessity, but the <code>&lt;summary&gt;</code>/<code>&lt;details</code>&gt; tags would be pretty nice.</p> <h1 id="further-reading">Further reading</h1> <p>This will be expanded if/when I find more relevant articles.</p> <ul> <li><a href="https://web.archive.org/web/20250405011146/https://www.nuegia.net/articles/open%20letter%20to%20webmasters.xhtml">https://web.archive.org/web/20250405011146/https://www.nuegia.net/articles/open%20letter%20to%20webmasters.xhtml</a></li> </ul> The Internet Sucks Mon, 24 Mar 2025 00:00:00 +0000 wanderlost /blog/2025-03-24-the-internet-sucks/ /blog/2025-03-24-the-internet-sucks/ <p>Over the past few years, I have noticed that the internet is in a state of decay. If you've found my site, there's a fair chance you think the same too, or have at least heard people say this. The amount of fun one can really have online is rapidly decreasing. Everything has pretty much been ruined.</p> <h2 id="the-problems">The problems</h2> <h3 id="bloat">Bloat</h3> <p>The web is bloated. Every time I go to look up something I get dozens of articles containing popups where I have to agree to getting tracked by every site's 800+ "partners", slowing everything down. Then there's the JavaShit dependency so many sites have. It's even spread to "small" personal sites that I have to wait for megabytes worth of JS to load in before I can read anything. My own site is constantly getting edited in an attempt to make it as easy to use as possible on even the most barebones browsers.</p> <h3 id="social-networks">"Social" networks.</h3> <p>I hate concept of social media. Microblogging is shit. Short form video content is shit. Instagram is shit. Reddit is shit. Yes, this very much includes your free and open source "ethical" alternative. The Fediverse, Bluesky, Nostr, whatever else don't fix this. The idea itself is heavily flawed no matter who develops it. I have too much to say about this for putting it in here, but to keep it short, I strongly believe being on those places just slowly makes you more and more retarded. Everything is optimized to get as many internet points as possible and well thought out posts that actually express the author's point are discouraged with tiny character limits and replies from children complaining about how long the text is.</p> <h3 id="surveillance">Surveillance</h3> <p>Shouldn't have to explain this one much, there's surveillance problems on nearly every mainstream platform that's been treated as normal for as long as it's been around. If you're here, you probably already have strong feelings about this one.</p> <h3 id="clearnet">Clearnet</h3> <p>I think the clearnet is beyond saving at this point and that we should not make an attempt to rescue it. The damage has been done and will continue unless you do something about it. Everything is centralized, and the system is a mess. CAs are centralized and you have to give them full trust to not do anything bad to your site, which they can do. ICANN is how everybody gets their domains, and they care more about making money than stopping things like parking for reselling or making the process more private. It also is harder to work with clearnet hosting than it is to work with an overlay network, which I see as something that gets in the way of people hosting their own things.</p> <h2 id="how-do-we-fix-it">How do we fix it?</h2> <p>Unfortunately, there isn't a perfect solution to fully escaping the bullshit, but there are things you and I can do to help.</p> <h3 id="overlay-networks">Overlay networks</h3> <p>Explore overlay networks like I2P, Tor, and Yggdrasil. There's others out there too. I'll go over this more in a later post, but to keep it short, Yggdrasil serves as internet done right (and about how one would expect) while I2P and Tor focus specifically on being anonymous.</p> <h3 id="write-your-own-site">Write your own site</h3> <p>Write a site for yourself and/or your projects! Instead of a Facebook page or a Twitter profile, get out a text editor and write some CSS and HTML, or even better, XHTML! It really isn't that hard to do, and you get full control over your own content and design. You can use static site generators like Hugo, Jekyll, Zola and many more to help if you need to mass produce templated pages. This site uses Zola, which does have its quirks but I find it to be the best to work with out of the ones I've tried. If you're running a blog or have other regularly updated content like news or updates, make Atom (and RSS if you want) feeds too to so your visitors can subscribe to your sites and get those updates instantly. A lot of static site generators have this built in. I'll tell you to self host so you're fully independent in the next section, but if you really can't, I can help with getting your site online over on Midgard.</p> <h3 id="alternative-protocols">Alternative protocols?</h3> <p>HTTP, or the Web, is not the only way of creating a "site" for yourself. There are other protocols, though all of them (or at least all I know about) are far more minimal than what you can create on a website even with just XHTML and a stylesheet. I don't have a full list of these protocols, but some are <a href="https://en.wikipedia.org/wiki/Gopher_(protocol)">Gopher</a>, <a href="https://geminiprotocol.net/">Gemini</a>, and <a href="https://nightfall.city/nex/info/specification.txt">Nex</a>. I don't hear much about Gopher nor have I got around to setting up a server for it yet but Gemini has been gaining a lot of popularity from what I've seen lately. Nex is much more obscure but I like it for how extremely simple it is, literally just plaintext served over TCP on port 1900.</p> <h3 id="self-host">Self Host</h3> <p>The best way to get full control over your sites and services is to self host them. Not on some managed hosting service, not on a VPS, not anywhere in the cloud, <em>actually</em> self hosted on a machine in a location you can physically access. This way, you have 100% control over your own things and will truly own your services. Many ISPs do not want people self hosting and will put people behind CGNATs, but if you use overlay networks and don't host on clearnet, then that won't really matter. With Tor, hosting your own XMPP server using Prosody is pretty easy and you can throw an IRCd onto pretty much any network. Running your own media server on Yggdrasil is entirely doable and I use my Jellyfin running over it daily. Almost any service that doesn't involve S2S can be set up on Yggdrasil, given that the client software is able to use IPv6.</p> <h3 id="contribute">Contribute!</h3> <p>If you're able to, start running nodes/peers for I2P, Tor, and Yggdrasil or any combo of those. Those networks always could use more peers available to help make things faster and more reliable for everybody.</p> <h3 id="do-it-now">Do it NOW</h3> <p>Stop waiting for the current internet to get worse. If you already host a personal site, start mirroring it on the darknets! For all of them it's as easy as installing the daemons, editing a few configs for them, and adding the names to your <code>server_name</code> on nginx or the equivalent for your webserver of choice.</p> <hr /> <p>In the future I'll write a more full guide to the overlay networks, but I feel like this has been long enough of a rant by now.</p> Server up Tue, 04 Feb 2025 00:00:00 +0000 wanderlost /blog/2025-02-04-servers-up/ /blog/2025-02-04-servers-up/ <p>After waiting way too long, I finally have a server online. Nothing big, just a RPi 5 running Alpine to provide some services for myself and other. I'm trying to focus on hosting sites built to be minimal, without the bloat much of the modern web has. It also exclusively serves on dark/altnets (Yggdrasil and Tor currently, I'll hopefully have I2P stuff running within a week or so) to promote using that over the clearnet. The service's name is "Midgard", I felt like that fits the theme of creating a more human web and goes with "Yggdrasil" nicely.</p> <p>Current services are forums (running Simple Machines Forum) and sites (using Caddy). The forums still have some work that needs to get done (selfhosting jQuery, fixing resource fetching outside of Tor) but it should fully work on Tor. You can access it <a href="http://forum.zyae5rxcjcezkozdbjb6oabzegiu6erx5e3o6mcl73qzzphhu2adu5yd.onion/index.php">here</a>, but I have it set so accounts require approval as I'm currently a frequent target of spam commonly including things I very much do not want to be hosting.</p> <p>I also host personal sites for me and some others.</p> <ul> <li>Me <a href="http://wl.zyae5rxcjcezkozdbjb6oabzegiu6erx5e3o6mcl73qzzphhu2adu5yd.onion/">Tor</a>, <a href="http://%5B300:5506:25eb:d0d9:1000:1000:1000:1000%5D/">Yggdrasil</a></li> <li>Array in a Matrix <a href="http://array.zyae5rxcjcezkozdbjb6oabzegiu6erx5e3o6mcl73qzzphhu2adu5yd.onion/">Tor</a>, <a href="http://%5B300:5506:25eb:d0d9:1000:1000:1000:1001%5D/">Yggdrasil</a></li> <li>Purplebored <a href="http://purplebored.zyae5rxcjcezkozdbjb6oabzegiu6erx5e3o6mcl73qzzphhu2adu5yd.onion/">Tor</a>, <a href="http://%5B300:5506:25eb:d0d9:1000:1000:1000:1002%5D/">Yggdrasil</a></li> </ul> <p>The home page for Midgard isn't done yet, but it's going to be done soon. <a href="http://zyae5rxcjcezkozdbjb6oabzegiu6erx5e3o6mcl73qzzphhu2adu5yd.onion/">Tor link</a>, <a href="http://%5B200:5506:25eb:d0d9:4c64:92a6:42a6:f4b0%5D">Yggdrasil Link</a></p> <p>Planned services include Vaultwarden (a password manager) and Forgejo (a Git forge). Not sure if/when they'll come.</p> <p>If you want a site hosted on Midgard, feel free to reach out to me on <a href="xmpp:zayd@telepath.im">XMPP</a> with a Git repo link, a brief description, and I might set it up for you if the site isn't too big and bloated and it isn't something I wouldn't want on my machines (please no pedo/zoo shit, no hate speech or anything like that, no malware obviously). Also don't rely on me too hard for maintaining uptime. Things have been going fairly smoothly so far but I'm still pretty new to self hosting so I can't guarantee much in the way of stability.</p> Zaydsite now Fri, 24 Jan 2025 00:00:00 +0000 wanderlost /blog/2025-01-24-new-blog/ /blog/2025-01-24-new-blog/ <p>Recently got everything working on the new site, hopefully it doesn't look too boring. I plan to actually use this thing and not leave it to rot, so subscribe to the Atom feed if you want to get updates on the shit I say.</p> <p>Everything other than the blog is managed manually, the blog uses Zola. It's pretty cool and makes it fairly easy to make custom themes compared to other static site generators. There's no JavaScript on this site and it's kept fairly light in general. Everything <em>should</em> work in browsers like EWW, w3m, links, etc. All the fonts here are WOFF2 though, so some browsers like Dillo won't fetch those properly.</p> <p>There is a Tor version of this site available <a href="http://dhrglakamniet5jtehkb7rp7zdqhzw6trkum3dieoeenszttgcjle6yd.onion/">here</a> if you're not already reading this there. I2P and Yggdrasil might also come soon, not sure about those.</p> <p>There seems to be a bug with importing my Atom feed to RSS Guard making the entries really tall for some reason, no idea what's causing it, but I'll try to fix that soon.</p>