💾 Archived View for altesq.net › ~evenfire › posts › 2022-05-01.gmi captured on 2023-04-26 at 13:25:44. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-01-29)
-=-=-=-=-=-=-
Gomuks is a Matrix client for those who prefer CLI programs. It's very lightweight and has a plethora of features, for example image preview support, replies & more.
Depending on your distribution, download gomuks. As of writing this, gomuks has packages for the AUR, NixOS, OpenSUSE, Alpine and MacOS. If you cannot find your OS in this list, head to the releases page and grab a binary for your architecture.
Open gomuks from the terminal with "gomuks", then login with your username and password for your homeserver. Once it syncs, you might be surprised that you cannot see any of your past messages! See below on how to fix this.
In order for gomuks to be able to decrypt past messages in all of your rooms, it needs your encryption keys, as it doesn't get them automatically. In this example I'll use Element, but you can use any client that has support for exporting room keys.
First, click your profile picture > security & privacy. Once you're there look in the "Cryptography" section, and click "Export E2E room keys", you'll get prompted for your secure passphrase you set or Element has generated for you (not your password!). You'll end up with a file called element-keys.txt, keep it since we'll need it later.
Now go back to gomuks, and type /import /home/<user>/Downloads/element-keys.txt, keep in mind the path must be an absolute path (e.g. no ~/) and substitute the downloads folder for where you saved the keys.\
After importing, you'll see it's exactly the same! Don't panic, as gomuks must clear it's cache. Do /clearcache and open gomuks again, you'll see all of your messages loading.
You'll see that your session is unverified and verified rooms don't trust it. Gomuks doesn't support incoming emoji verification, only outgoing, but it's quite broken as I'm writing this. We'll use the cross-signing keys to verify the new session.
Type /cross-signing fetch in order to get the cross-signing keys from your other sessions. Once you have them, write /cross-signing self-sign, which should verify the current device. You can check if this has been successful with /cross-signing status.
Et voila! You should have your session verified and all of your encrypted rooms trusting it (including your other devices).
If you want to get a more IRC-styled messaging box, you can easily type /toggle baremessages and you have it.
To download messages just select the message and type /download and it'll get downloaded to your device.
You can react with /react and edit messages with /edit.
Gomuks has many commands, for a complete list check the link below to the official documentation.