@GabesArcade@gabesarcade.com twtd landed too 🥳 Hosted feeds (twtpub.com) and self-hosted twtd can publish # follow = now — the operator offers it with --allow-follows, then it’s the same toggle in Settings. Off by default at both ends 👌
@david@daiwei.me Yes!
So, a hobby OS, just like Linux was for Linus?
Although this is really an exercise is self-hosting a lagnguage, then self-hosting the language to build a self-hosting OS. It’s all meta-circular.
os/arch for Mu is now relatively simple to do, or far less duplicated work/effort.
@david@daiwei.me Bah you 🤣 Do you know how hard™ it is to write a compier, a self-hosted compiler that has two runtime engines? 😅
@-mentions), unread dots, Back keeps your spot, and it'll now guide you to install it as a proper app 📱 Reload https://twtxt.app and have a play! Thanks @quark and @balloon-fu-sen for all the reports 🙏
Self-hosting twtd? Pull prologic/twtd:latest too — the Avatar URL field in the app now actually writes # avatar = into your feed (needed changes on both sides)
doing pubnix admin training on a local self-hosted Linux box for a future, VERY small pubnix
Taking a break from coding and dev projects today and spend it organizing my 14,000 song music library I self-host with Navidrome
Added a Listening box to show currently playing, and last played from my self-hosted Navidrome Music Server!
I cleaned up all my of AoC (Advent of Code) 2025 solutions, refactored many of the utilities I had to write as reusable libraries, re-tested Day 1 (but nothing else). here it is if you’re curious! This is written in mu, my own language I built as a self-hosted minimal compiler/vm with very few types and builtins.
I finished all 12 days of Advent of Code 2025! #AdventOfCode https://adventofcode.com — did it in my own language, mu (Go/Python-ish, dynamic, int/bool/string, no floats/bitwise). Found a VM bug, fixed it, and the self-hosted mu compiler/VM (written in mu, host in Go) carried me through. 🥳
The most interesting part about mu is that the language is actually self-hosted and written in itself. There is a stage zero compound written and go on a stage one compiler written in mu
Thoughts/Opinions on Cap 🤔
The modern, open-source CAPTCHA
Lightweight, self-hosted, privacy-friendly, and designed to put you first. Switch from reCAPTCHA in minutes.
@prologic@twtxt.net I requested an invitation. There are many like this, so it will be interesting to see how it develops. I also hope you are not hosting this on your infrastructure, at least not once you decide to monetise. I know self hosting is fun and all, but it also introduces variables that directly collide with a business model.
🤔 💭 🧐 What if, What if we built our own self-hosted / small-web / community-built/run Internet on top of the Internet using Wireguard as the underlying tech? What if we ran our own Root DNS servers? What if we set a zero tolerance policy on bots, spammers and other kind of abuse that should never have existed in the first place. Hmmmm
I updated my nex page! I wonder if I could self-host…
@alexonit@twtxt.alessandrocutolo.it yeah, i didn’t even consider this as an option lol, though if it works it works! will you be writing a compatible proxy for self-hosting separate from the custom backend you were thinking of? :o
@zvava@twtxt.net CORS is our worst enemy. 🥷
I too had the same issue being a browser-based request, so the only solution is using a proxy.
For testing (and real personal use) I rely on this one https://corsproxy.io/.
In my client, I first check if the source allows me to fetch it without issues first and fallback to prefixing with a proxy if it gives an error.
For security reasons the client don’t give you a readable error for CORS, so you must use a catch-all for that, if it fails again with the proxy you can deal with any other errors it throws as you normally would (preferably outside of the fetch function).
After the fetching responded, I store the response.url value to fetch it again for updates without having to do extra calls (you can store it verbatim or as a flag to be able to change the proxy later).
Here an extract of my code:
export async function fetchWithProxy(url, proxy=null) {
return await fetch(url).catch(err => {
if (!proxy) throw err;
return fetch(`${proxy}${encodeURIComponent(url)}`);
});
}
// Using it with
const res = await fetchWithProxy('https://twtxt.net/user/zvava/twtxt.txt', 'https://corsproxy.io/?');
// Get the working url (direct or through proxy)
const fetchingURL = res.url;
// Get the twtxt feed content (or handle errors)
const text = await res.text();
I also plan to allow the user to define a custom proxy field, I like the solution used by Delta.chat in their android app, where you can define the URL format with a variable https://my-proxy?$TWTXT_URL since it allows you to define with more freedom any proxy without a prefix format.
If the idea of using a third-party proxy is not to the user liking they can use a self-hosted solution like cors-anywhere or build their own (with twtxt it should just be a GET).
Hi everyone, here’s a little introduction of my twtxt client (still WIP).
The client I’m developing is a single tenant project that runs entirely in the browser (it might use an optional backend).
It’s entirely based on native web-components and vanilla JS, it is designed to act closer to a toolkit than a full-fledged client, allowing users to “DIY” their own interface with pure html or plain javascript functions.
Users can also build their own engines by including a global javascript object that implement the defined internal API (TBD).
I’m planning to build a system that is easy enough to build and use with any skill level, using only pure html (with a homebrew minimal template engine) or via plain JS (I’ll be also providing some pre-made templates too).
Everything can be self-hosted on any static hosting provider, this allows to spread twtxt within communities like Neocities and similarly hosted websites (basically any Indieweb/Smallweb/Digital garden website and any of the common GitHub/Lab/Berg/lify Pages).
It will be probably named something like TxtCraft or craf.txt but I’m not really sure yet… 🤔 (Maybe some suggestions could help)
I’m still in the experimental phase, so there’s no decent source-code to share yet, but it will soon enough!
@prologic@twtxt.net I too, self-host various services on a VPS (and considering buying a mini PC to keep at home instead).
I use most of it as a hosting platform for personal use only and as a remote development environment (I do share a couple of tools with a friend though).
But given the costant risks of DDoS, hacking, bots, etc. I keep any of my public facing resources purely static and on separate hosting providers (without lock-ins of course).
Lately, I began using homebrew PWAs with CouchDB as a sync database, this way I get a fantastic local-first experience and also have total control of my data, that also sync in a locally hosted backup instance in real-time.
Also, I was already aware of Salty.im, but what I’m thinking is a more feature complete solution that even my family can use quickly, Delta.chat with the new chatmail provider (self-hostable) might be the solution for my needs.
But I’m still thinking if it’s worth the trouble. I might just drop everything and only use safe channels to speak with them (free 24/7 family tech-support is easy to manage 😆).
Also, I’ll be waiting for the day you’ll share with us your story, I’m pretty curious about it!
@alexonit@twtxt.alessandrocutolo.it Yes well I’m pretty big on self-hosting. I’ve even tried to start a small business/company around it (but that’s another story for another day!) – Meanwhile I would encourage you to have a look at the work we’ve done in Salty.im 👌
@prologic@twtxt.net Don’t worry about it!
I also getting angry thinking how this Chat Control crap will escalate to.
I’m already thinking of countermeasures and self-hosted alternatives, while searching lists of affected apps and services to replace/drop in the worst scenario (and probably devices).
@prologic@twtxt.net I’m doing that now as well, but I don’t think this is a good solution. This is going to hurt “self-hosting” in the long run: I cannot afford true self-hosting where I actually do host everything here at home – instead, I must use a cloud provider / VPS for that. It is only a matter of time until my provider starts doing AI shit as well (or rather, the customers do it) and then what? I get blocked, e.g. I can’t send email to (some) people anymore. This is already bad and it’s going to get worse.
@bender@twtxt.net yeah, my friend’s considering moving away from linode and instead self hosting. VPS stuff is a pain
Self-Hosting Guide: Syncthing https://cleberg.net/blog/syncthing.html
@eldersnake@we.loveprivacy.club Yeah for sure! The thing that annoys me about a lot of this, is the sheer fact you can’t really self-host let alone self-train these things I’ve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms on a few tasks and training sets, but man it’s hard™ 🤣 I feel like we’re doing something wrong here…
It annoys me when I clone a git repository A in order to build and self-host some software, only to realize later that I also needed to clone repos B, C and D. I’m not saying that’s a bad thing–logical separation of code between, say, a client and a server is very handy–but some projects do not communicate very well when you need multiple tools to get it running independently.
@bender@twtxt.net Both Gopher and Mastodon are a way for me to “babble”. 😅 I basically shut down Gopher in favor of Mastodon/Fedi last year. But the Fediverse doesn’t really work for me. It’s too focused on people (I prefer topics) and I dislike the addictive nature of likes and boosts (I’m not disciplined enough to ignore them). Self-hosting some Fedi thing is also out of the question (the minimalistic daemons don’t really support following hashtags, which is a must-have for me).
I’ll probably keep reading Fedi stuff, I just won’t post that much, I think.
just read about it, i was strongly agaisnt AI since the benninging and have also moved from GH to self-hosted Gitea.
thanks for sharing and thanks for making this!
@bender@twtxt.net I like to self-host 🤣
@kat@yarn.girlonthemoon.xyz MinIO is a good choice for a self-hosted Object Storage (compatible with S3 APIs) 👌
gah i’ve been so busy working on love4eva! TL;DR i switched image backends from the test/dev only module i was using to the S3 one, but with a catch - i’m not using S3 or cloud shit!!! i instead got it to work with minio, so it’s a middle ground between self hosting the image uploads & being compatible with the highly efficient S3 module. i’m super happy with it :)
i posted a patreon update that details the changes more: https://www.patreon.com/posts/i-am-now-working-127687614
that post says i didn’t update my guide yet but i actually did like right after i made that post lol so you can CTRL+F for minio stuff there!
@kate@yarn.girlonthemoon.xyz I think it’s totally fine. I mean self-hosting costs money too. Power, Hardware, Time/effort, etc.
is it like… ethical to offer access to certain self hosted services as patreon exclusives. like i wanna offer the IRC client/bouncer i hosted which seems ok i think because i’ve seen pico.sh offer their instances of that as paid services. but the other ones i have in mind are alt web frontends for stuff like imgur and pinterest. and i just feel weird about it for some reason. idk i’m trying to think of ways to support my server stuff but every time i come up with something it feels weird
@bender@twtxt.net NOOOO i self host an XMPP server and also revolt but as much as i love XMPP (gajim client reminds me of using skype as a kid highkey) i don’t use it much and revolt is a bitch to maintain. like i broke revolt file uploads and it stayed that way for months until literally last week lmao. i never bothered with matrix tbh maybe i should’ve but it seems not worth it
Conduwit is set to archive on GitHub. It was my favourite Matrix server, which I still self host. I think I am going to get off Matrix altogether now.
Maybe go back to Jabber?
@prologic@twtxt.net Spring cleanup! That’s one way to encourage people to self-host their feeds. :-D
Since I’m only interested in the url metadata field for hashing, I do not keep any comments or metadata for that matter, just the messages themselves. The last time I fetched was probably some time yesterday evening (UTC+2). I cannot tell exactly, because the recorded last fetch timestamp has been overridden with today’s by now.
I dumped my new SQLite cache into: https://lyse.isobeef.org/tmp/backup.tar.gz This time maybe even correctly, if you’re lucky. I’m not entirely sure. It took me a few attempts (date and time were separated by space instead of T at first, I normalized offsets +00:00 to Z as yarnd does and converted newlines back to U+2028). At least now the simple cross check with the Twtxt Feed Validator does not yield any problems.
@prologic@twtxt.net Gemini has an answer for you:
This is a conversation thread from a twtxt network, detailing a user’s (movq) frustration with the Mastodon “export data” feature and their consideration of self-hosting a fediverse alternative. Here’s a summary:
- movq’s initial issue:
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken “export data” feature.
- They contacted the admins, but the issue remains unresolved.
- This led them to contemplate self-hosting.
- movq is concerned about the volatility of their data on their current Mastodon instance due to a broken “export data” feature.
- Alternative fediverse software suggestions:
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movq agrees, and also mentions snac as a potential option.
- kat suggests gotosocial as a lightweight alternative to Mastodon.
- movq’s change of heart:
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- movq ultimately decides that self-hosting any fediverse software, besides twtxt, is too much effort.
- Resolution and compromise:
- The Mastodon admins attribute the export failure to the size of movq’s account.
- movq decides to set their Mastodon account to auto-delete posts after approximately 180 days to manage data size.
- Movq also mentions that they use auto-expiring links on twtxt to reduce data storage.
- The Mastodon admins attribute the export failure to the size of movq’s account.
@movq@www.uninformativ.de mastodon is probably the worst fedi software to self host tbh, you might wanna check out gotosocial? not to like pull you in another direction but idk masto is just suuuuper heavy lol
I think I should try self-hosting some Mastodon thingy again.
The “export data” feature on the Mastodon instance I’m using seems to be broken. I’ve contacted the admins but we couldn’t find the issue – yet. I don’t want to bother them too much, it’s a free service after all.
But this means that everything I post over there is very, very volatile. It could all be gone in 5 minutes and I’ll have no way to restore it. Hmm.
I’m sharing a short tutorial, in Spanish, for self-hosting #twtxt with Docker:
https://programadorwebvalencia.com/twtxt-desplegar-tu-feed-con-docker/
pls elaborate on a ‘p2p database’, ‘all story’ and ‘Registries’.
My first thought takes me to something like secure-scuttlebutt which it’s painful to sync data using clients, and too slow compared to downloading a text file.
Also I’d like for twtxt to avoid becoming an ActivityPub. Works well but it’s uses too many resources IMO.
https://kingant.net/2025/02/mastodon-the-cost-of-running-my-own-server/
I’m defending being able to self-host your Web client (like you’d do with a Wordpress, twtxt is a micrologging, at the end), instead of federated instances, so in a first thought I’d say Registries have many disadvantages being the first one that someone has to maintain them active.
@prologic@twtxt.net I wish getting a static IP and a (more) stable internet connection wasn’t so hard over here. Then I could do proper self-hosting as well. But as it stands, I need some rented VPS.
I could go ahead and just use the VPS for the IP, i.e. forward all traffic through Wireguard to a box here at home. Big downside is that the network connection would be even slower than it already is and my ISP breaks down all the time for a few minutes … it’s just bad overall and much easier/better to rent a VPS. 🫤
@prologic@twtxt.net Or databag self-hosted on a RaspberryPi you can throw on a corner of your basement (or a small vps if one is willing to pay for threema) and never look back. The hardest part is getting others to at least test anything other than the already mainstream apps.
i self hosted the soft serve git server cuz i felt like it. it’s sooo cute i love everything charm CLI does
ssh -p 24010 soft.git.girlonthemoon.xyz
@prologic@twtxt.net fuck yeah!!! i love self hosting things that friends can use it’s sooo fun
@prologic@twtxt.net i self host wayyyy too many things LOL i’m a nerd!
asciinema is really cool. thought about self hosting my own upload site which they have docs for but i don’t need to host everything even if it’d be a fun project. the default/main site is fine enough for me when i won’t be uploading a whole lot.
thank you for building such a wonderful platform! i discovered it from messing with base twtxt and then went ‘hm i’ve self hosted fedi instances and a bsky PDS i can do this too’ and so i did LOL!
One thing I’ve learned over the many years now (approaching a decade and a half now) about self-hosting is two things; 1) There are many “assholes” on the open Internet that will either attack your stuff or are incompetent and write stupid shit™ that goes crazy on your stuff 2) You have to be careful about resources, especially memory and disk i/o. Especially disk i/o. this can kill your overall performance when you either have written software yourself or use someone else’s that can do unconfined/uncontrolled disk i/o causing everything to grind to a halt and even fail. #self-hosted
@bender@twtxt.net Well, so far, I’m using the standard web client. Haven’t found a great client yet. 🫤 Mastodon/Fediverse is also very different from twtxt, there are way more images/videos that I’d like to see – a TUI client like toot wouldn’t work for me.
Dunno, maybe I’ll make some changes in this area after christmas. Try self-hosting again or something like that …