Data protection, @dce@hashnix.club! :-D
This revealed another bug in my client that I still need to fix at some point. Inserting an empty set of messages failed with an SQL logic error. Whoops. I didn’t think about that corner case.
it’s client sue not on any publishing backend
@prologic@twtxt.net I was actually trying to use twtxt.app, with Codeberg as a backend, but I kept getting a 403 error. As for twtd, well, my twtxt is hosted on a pubnix. The people behind Hashnix are really nice, but I’d rather not bother them with software requests if there’s a simpler solution, and I imagine it would be rude of me to run a deamon from my homedir without permission. Could be worth asking, though, unless I decide to write a client myself.
@prologic@twtxt.net twet 1.3.0 built from v1.3.0-21-gff43ee0 at 2025-08-25T23:27:41Z, from https://github.com/quite/twet. Unmaintained since 2020. To be honest, I was considering writing a basic client of my own…
@movq@www.uninformativ.de @lyse@lyse.isobeef.org Are you clients remaining compatible with Hash v1 in case older clients are still well not upgraded? 🤔
@david@daiwei.me well I happen to agree because one of the fundamental problems is that you can’t have a tax file specification and assume that you can edit it freely by hand as a human and then clients that deal with that specification in machine possible mechanisms the two kind of conflict because humans get things wrong machines don’t
I don’t think I’m going to add edit and delete support in this app because I think it was a horrible mistake to add those features to a client 🤣
@movq@www.uninformativ.de please don’t waste your time to bugging this. I’ll figure out what’s going on with these new clients.🙏
Fixed the broken hashes in the Twtxt App (https://twtxt.app) 🥳 It was hashing your twts with a client-side timestamp the server never used 🤦♂️ Now it keeps the canonical created/hash the pod (or twtd) returns, and the GitHub/Gitea backends write a # url = preamble so every client hashes your feed the same way. Thanks @fastidious@tilde.town for the report 🙏
@bender@twtxt.net Please create an issue for this too! Probably against twtd right? We should validate new fetchers and see if they are real clients or not. I think yarnd already does ybis quite well? 🧐
Anyone using XMPP? I’ve been hearing a lot about how it is the OG messaging protocol. That G00gle Talk used to use it as a back-end, that FB messanger and w_hatsapp use some modified version of it or something; And that setting up a server (or even using a public one) would be a better alternative to the aforementioned apps, so I did. Now the question is: “Where the Fu__ are my video calls at!!? 🤣” … The protocol supports videoconferencing and I’m yet to find a decent Desktop/Mobile client that implements it. I wish I knew enough Code-Fu to contribute/help implement some, somewhere.
@GabesArcade@gabesarcade.com The no-JS part is one thing, but you also have to disable the (nowadays common) forced-HTTP-to-HTTPS-redirect, because those old browsers can’t do modern crypto. And make sure that your webserver serves the correct page even if no Host header is sent by the client. And don’t even think about serving UTF-8 or even just putting utf-8 in the content type. 😅 And for the JPEG thumbnails I pass a special flag to ImageMagick so that IBM Web Explorer from OS/2 won’t trip. 🤣 And always use link rel="stylesheet" for CSS, because some browsers render inlined CSS as literal text. And … probably more that I forgot by now. 😂
@david@daiwei.me Not sure, actually. Let’s see. Those are the ones where I still have the original disks (or have bought them on eBay again):
- SuSE Linux 6.4 (it’s a massive 7 CD distro with a huge manual, best thing ever)
- OS/2 2.1
- OS/2 Warp 3 (red and blue spine because
$reasons)
- OS/2 Warp 4
- PC DOS 7
- MS-DOS 6.22
- Windows 3.1
- Windows for Workgroups 3.11
- Windows 95 C
- Windows 98
- Windows NT 4 Workstation (still in the mail, though 😅)
- Windows 2000
- Windows XP Professional (last Windows I ever used on my private PCs)
(Plus a few “classic” office products as can be seen here: https://movq.de/blog/postings/2024-05-23/0/POSTING-en.html )
lleeypvkzbw2? That Twt was never ingested by twtxt.net (and likely the search engine) so umm hmmm threading breaks 🤣
Oh if we’re talking about the twtxt.app client, that’s a different story. I still consider that alpha/beta quality. Lemme look into that. It has it’s own cache of course (using IndexDB) and it’s entirely possible some behaviours are still not quite right yet…
lleeypvkzbw2? That Twt was never ingested by twtxt.net (and likely the search engine) so umm hmmm threading breaks 🤣
@GabesArcade@gabesarcade.com Wiath what client? 🤔
@GabesArcade@gabesarcade.com’s Arcade@gabesarcade.com You will want to either build a client or use one of the ones listed here – Either way you choose! 👌 I just noticed as well in this Twt I’m replying to (threading is a thing™) that you @-mentioned@twtxt.net @bender@twtxt.net incorrectly 😅
Let’s see which other browser-based clients I broke with that message…
@movq@www.uninformativ.de Just working on swag 😅 And….. Building an Offline-first Yarn/twtxt client that has no server requirements (_other than you need to publish your feed somewhere…)
@apptester@twtxt.net Cool! 😎 My Offline-first Go/WASM + HTMX powered Yarn / Twtxt client is working 👌
Hello World! testing an offline-first PWA Yarn.social / Twtxt client :)
creo que usaré mas el script que el cliente :p
ahora en twtwt con el cliente twtwt, hola de nuevo!
Actually, I’m stupid: I’m using the normal rsync on OpenBSD as well.
And regarding OpenRsync’s general usability:
https://marc.info/?l=openbsd-misc&m=178090751524547&w=2
Right now openrsync is limited in functionality and is primarily present
for rpki-client. The limited functionality makes it unusable for generic
use and so any diff or change like the above will not be considered since it
is simply not ready.First problem to solve is to remove the mmap usage in openrsync. After
that modern protocol versions need to be added. Once that is in place one
can start a discussion about using openrsync as a default on OpenBSD.
Most of the time, I take a very very long time to do anything. If I say, for example, “I’ll build an IRC Web Client”, that may not happen for weeks, if not months, until my sub conscience has has time to process everything. It’s like basically a “feeling” of internal readiness. I never talk through it, never actively think about it, it just happens.
Ustoat is a good stoat client
@tftp@tilde.town you say that like it is a bad thing. It is not! 😅 Once you have learned your way around, all works together quite lovely. Of course, experimenting with new clients is fun too!
Hi, from my CP/M gopher client
hey folks, is there any good twtxt client for linux out there that you recommend? every time i update pip or some other python stuff twtxt gets screwed and ask for some dependency or breaks, it is annoying to fix that everytime, thanks
What do the Gopher Troopers think of the following? The Gopher protocol is a nearly-forgotten network protocol from the early 1990s, designed to serve and navigate text-based menus and documents over the Internet. While its far less common than HTTP/HTTPS today, there are still some security risks associated with Gopher and Gopher space. Lets break them down carefully: 1. Lack of Encryption Problem: Gopher was designed long before widespread use of SSL/TLS. All dataincluding credentials, file transfers, and menu selectionsis transmitted in plaintext. Impact: Anyone intercepting traffic (e.g., via a network sniffer, public Wi-Fi, or a compromised router) can read sensitive information, including usernames and passwords. 2. No Authentication or Access Control Problem: Gopher servers rarely implement robust authentication; access control is usually limited or non-existent. Impact: Unauthorized users might browse sensitive directories or download private files, particularly if servers are misconfigured. 3. Server Software Vulnerabilities Problem: Modern OSes can still run legacy Gopher servers, but the software is often unmaintained. Impact: Old software may contain buffer overflows, directory traversal bugs, or command injection vulnerabilities that attackers could exploit. 4. Malicious Gopher Links Problem: Gopher menus can contain links that point to scripts or other servers, similar to hyperlinks in HTTP. A client following a malicious link could inadvertently: Download malware Access sensitive internal network resources (server-side request forgery) Impact: Could serve as a vector for attacks if a user opens content from untrusted sources. 5. Legacy Protocol Weaknesses Problem: Gopher lacks modern web security mechanisms like: Content security policies Same-origin policies Cross-site request forgery protection Impact: If Gopher is bridged to other services (like modern browsers via gateways), old vulnerabilities may be exposed. 6. Information Leakage Problem: Gopher servers often provide directory listings without restriction. Impact: Sensitive files, backup directories, and internal documents may be exposed unintentionally. 7. Bridging Risks Problem: Some modern browsers access Gopher via gateways (HTTP-to-Gopher proxies). These bridges may: Expose sensitive internal resources to the gateway Introduce logging or tracking that wouldnt exist on pure Gopher Impact: Attacks could occur indirectly through insecure intermediaries. Key Takeaways Gopher is inherently insecure due to its design in a pre-HTTPS era. Main threats: eavesdropping, unauthorized access, malware delivery, and exploitation of unpatched server software. Safe practice: Use Gopher only in isolated, trusted environments, or through secure HTTP(S) gateways with proper sanitization.
@zvava@twtxt.net how is that client coming along? “/me gently pushes zvava towards a working desk” 😂
@fe55c : Hi, which client do you use on Haiku? It seems to me that the protocol has been removed from WebPositive?
@rdlmda@rdlmda.me In case you’re into terminal clients, you might like tt. We finally managed to abolished our GitLab instance, so I would need to make the code available to the public differently.
@rdlmda@rdlmda.me Oh boy, what a story! The infrastructure is indeed in need of overhaul. I’m glad you were so lucky in these circumstances.
(Btw. you posted the same message twice with just five seconds apart. I’m replying to the later one. Not sure if this is a client bug (like attempting to edit) or just operator error. ;-))
To whoever is operating this “xt” client, there might be a misconfiguration. My feed is often, but not always, pulled twice within a few seconds:
2026-03-14T15:31:02+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:31:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:41:19+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:41:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T15:51:04+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:01:25+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:01:27+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:11:51+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:11:54+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:21:53+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:32:19+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:32:22+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:52:28+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
2026-03-14T16:52:31+01:00 "GET /twtxt.txt HTTP/1.1" 304 "xt/0.0.1"
Maybe this is caused by a development and a production setup, no idea. Since this client is sending the If-Modified-Since or If-None-Match request header, I’m good with that, though. Looking forward to discover a new feed hopefully soon. :-)
@bender@twtxt.net Oops, missed this. I haven’t done any client work since my brief experiment modifying jenny a while back.
@rdlmda@rdlmda.me you’ve got to get a nice client. For example, that mention is broken.
HEY! I think we all noticed that privacy is dying. Government and corporate entities around the world are building the laws and tools to track you, from everything you write, to the media you consume, to where you drive your car and the people you associate with. Gopher I believe Is one of the last bastions of freedom away from what I call “Corpo web”. GopherSpace is free, I wrote my client so I know it’s safe, and I can route my traffic over tor or any proxy of my choosing. I think we should use gopher as a means to communicate and get out of the modern corpo web because soon everything you do and say on the modern web or possibly corporate owned devices is under scrutiny, even more so than it ALREADY IS. Right now I can use tor and my custom gopher cli to communicate privately here. With the ways the laws are going they are going to implement things like age verification to track you and they’ll deem privacy focused open source software as tools for circumventing these rules. It’s a slippery slope. I need to stop writing before I sound really crazy.
@rdlmda@rdlmda.me You need to use the RFC3339 format. I would recommend you read the specs at https://twtxt.dev – This is what is used by many moden clients these days 😅
twtxt-lib, a new isomorphic TypeScript library for parsing and interacting with twtxt.txt files. Check out the demo at https://twtxt-lib.itsericwoodward.com/!
An isomorphic TypeScript library is a codebase, written in TypeScript, that can run in multiple JavaScript environments, most commonly both the web browser (client-side) and a server (like Node.js). The core idea is to share the exact same code across the frontend and backend, avoiding duplication and improving efficiency.
👋 Looking for other interested folks to continue to evolve the development of Salty.im 🙏 I’ve been hard™ at work on the v2 branch and @doesnm.p.psf.lt@doesnm.p.psf.lt has been incredibly helpful so far. Be great ot have a few more folks to join us, some of the v2 highlights include:
- Double Ratchet by default.
- Group Chat (sender/client fan-out for now)
- Much better TUI with background agent.
- Mobile App coming soon™ (iOS in progress, Android next, same codebase)
salty-chat TUI client as well, which now includes proper notifications and a background agent that keeps running so you never miss any messages. It all "just works"™ and I'm quite happy with the outcome! 🤩 #saltyim #revamp
Some pretty pics to illustrate the much improved reference Salty.im client, salty-chat.

I spent the day today integrating @xuu@txt.sour.is’s double ratcheting work and ratchet library back into the reference client/broker implementation saltyim as a v2 branch. I completely redesigned and rewrite the salty-chat TUI client as well, which now includes proper notifications and a background agent that keeps running so you never miss any messages. It all “just works”™ and I’m quite happy with the outcome! 🤩 #saltyim #revamp
@klaxzy@klaxzy.net Haha, I just noticed because my client colors mentions differently depending on whether I follow the feed or not. ;-)
I have been trying out the TUI email client named aerc. (pronounced ark) I like it a lot!
Testing a post using my new gopher client…
@shinyoukai@neko.laidback.moe Do we now need ad filters in twtxt clients, too? O_o I hope not! Personally, I cannot stand the “Sent with my crappy $phone/$app” e-mail footers.
But congrats on your client. :-)
hello friends! I am sending this from my custom gopher client, I hope this works!
Sending this from the Lagrange Gemini Protocol Client!
With irc.com everything is easy. With weechat client for linux/unix things are not so easy. Everything is explained in freenode.net .