Interzona

tinmop

Table of Contents

An opinionated client for Gemini, gopher, kami and Mastodon/Pleroma

logo.png

Figure 1: A tin soldier with a mop

1. Translation status

2. Latest News

2.1. 2024-07-07 version 0.9.9.14142135623

  • New features
    • [fediverse] added command to search on local database of posts;
    • [fediverse] added editing of posts;
    • [gemini] added support for HTTP and gemini protocols proxy;
  • Improvements
    • added link to the search results page that leads to the matching posts.
    • [gemini] changed hardcoded search engine to a configurable directive;
    • [GUI] added selection of gemlog by keypressing, in gemlog window;
    • [GUI] added code to perform a search of gemspace, when the software is unable to understand the input typed in the address bar;
    • prevented a crash when the user typed an invalid URL in the address bar;
    • [GUI] ensured the 'subscribe to gemlog' button is toggled only if the subscription succeeded;
    • [script] added topics to the bottom of the generated posts;
    • updated translations.
  • Bugfix
    • [GUI] ensured to hide window that shows candidates for autocompletion, before a new window (certificate, tour etc.) is created;
    • [TUI] prevented crash when adding command to commands queue before the notification windows of the previous command has been closed.

Thanks to all the translators!

2.2. 2024-05-04 version 0.9.9.1414213562

  • New features
    • [fediverse] Multiple accounts supported. Users can specify the account to use on the command line or switching at runtime;
    • [fediverse] Implemented a call to search API, your instance can be queried for searching statuses, accounts and hashtags;
    • [TUI] added new commands:
      • thread-go-to-parent-post;
      • thread-delete-subtree.
    • added a bash completion script;
    • prevented the poll's results to be printed before expiration;
    • [script] added the option to submit the feed to an antenna instance, when generating a gemlog;
    • [module] added 'fetch-expired-poll' that will fetch and display an expired poll for which the user submitted at least a vote;
    • [GUI] added command to show page's source.
  • Improvements
    • [fediverse] ordered list in posts are correctly rendered
  • Bugfix
    • actually created empty configuration file when not already found, on program starting.
    • [fediverse] fixed updating of polls (was not actually never updated before this version);
    • [TUI] fixed checks of configuration file;
    • updated README to mention that also libjpegturbo and TK must be installed;
    • [GUI] fixed managing of gemini responses when a titan request was performed (TOFU errors, TLS certificate password etc.);
    • [TUI] fixed line wrapping of announcements window;
    • [TUI] prevented crash when looking for links contained in an empty message.

Thanks to people who run mastodon.uno (and, needless to say, emacs.ch) for their hosting, support and help to test this new release.

3. Important note

This is alpha quality software, many things are broken, some feature are missing some works with unintended/unexpected side effects; this software is for testing only and remember that there is NO WARRANTY.

4. Introduction

Tinmop is an opinionated client for

and

It offer a distraction free terminal interface and a GUI for accessing the geminispace.

The name is a recursive acronym: "Tinmop Is Not Mutt or Pine". The older of us can remember that, in turn, Pine is sometimes considered an acronym as well: "Pine Is Not Elm" and, finally, Elm means (according to Wikipedia): "Electronic Mail".

5. Source

The source is kindly hosted on Codeberg.

6. Peculiar Features

  • fediverse
    • tree structure of messages;
    • subscriptions of hashtag;
    • encrypted direct message (but see 10);
    • extensible and programmable;
    • no mentions notification, no knowledge of when or who favourited your status;
    • No blocking or muting, the client can be configured to ignore a list of accounts.
  • gemini
    • both TUI and GUI available;
    • tour mode (collect link in queue and visit them later)

6.1. Screenshots

screenshot-main-window.png

Figure 2: A screenshot of the terminal running tinmop. From top left and clockwise: tags window, thread window, message window and chat window

screenshot-poll.png

Figure 3: A screenshot of a post with a poll attached

screenshot-gemini.png

Figure 4: A screenshot of tinmop rendering gemini://geminiquickst.art/ © Jason McBrayer, 2021 licensed under a Creative Commons Attribution NonCommercial ShareAlike 4.0 License

tinmop-screen-GUI.png

Figure 5: A screenshot of the same page as the one pictured in the figure above, but rendered with the GUI

7. Installing

7.1. Using guix

Using guix is the simpler way to install this software:

Please note that the guix package may be some version behind the source package.

$ guix install tinmop

Guix can be installed on Debian (testing or sid):

$ apt-get install guix

or using a shell script as explained in the guix manual.

7.2. Debian stable package

I have set up an unofficial Debian stable repository for tinmop to install follow this steps:

  1. import the certificate (publick key), the repository checksums file is signed with my private key:

    # wget -q -O - http://www.autistici.org/interzona/debian/tinmop-keyring.asc | tee /etc/apt/trusted.gpg.d/tinmop-keyring.asc
    
  2. add repository to your sources.list

    echo "deb https://www.autistici.org/interzona/debian/ ./" >> /etc/apt/sources.list
    
  3. install the package, using apt-get as usual (but also dselect, aptitude, etc.)!

    apt-get install tinmop
    

7.3. From sources

Clone the repository:

$ git clone https://codeberg.org/cage/tinmop.git

In the file README.txt you will find the instructions to compile and install the software.

8. Documentation

The package comes with a manpage, inline help and the default configuration files are extensively commented.

9. Contributing

Any help is appreciated. If you intend to contribute please point your browser to the issue tracker or file a pull request.

But, please take a minute to read the file CONTRIBUTING.org

For helping in translating the program's strings please see this page.

10. FAQ

  • Is tinmop compatible with mastodon servers?

    Yes, in fact I am using tinmop with a Mastodon instance on a daily basis.

  • I just tried to start the program for the first time but it give me a weird error, what's wrong?

    Did you wrote a configuration file before starting?

    Tinmop expects a configuration file in your config directory (usually $HOME/.config/tinmop/). This file must contains at least the username and the name of the instance you want to connect. If this file does not exists or is invalid tinmop will refuse to start.

    Please check the man page (tinmop(1)) for more information.

  • OK the program is running but how can i use it?

    Press the key ? to get a list of the available keys available.

    Also check the manpage

  • Tinmop crashed! Where can i report that?

    The issue tracker is here:

    https://codeberg.org/cage/tinmop/issues/

    Please also, if possible, send the backtrace of the process. To print a backtrace just write backtrace when the debugger has been invoked.

    Important note

    The backtrace can contains sensitive and personal information, please always carefully checks the backtrace contents before making this information public!

  • Are the encrypted messages secure?

    No. First only a symmetric encryption scheme is implemented (so there is a problem of secure key exchanging). Moreover i am not a crypto expert and probably i made something wrong. Note that i am not claiming that the algorithm (AES256) or the implementation of such encrypting algorithm is flawed but that, likely, is flawed the code i wrote to use the crypto library in this software.

    So, please do not consider the encrypted message secure at all.

11. Privacy

The author of this software collects no user data information with this software.

But this software is a client to connect and interact to one or more remote computer. So potentially it could share a lot of information with other actors but just after the user allowed it to do so.

It is the user responsibility to checks the privacy conditions of the instance this software connect to.

Moreover launching quick_quicklisp.sh will contact https://www.quicklisp.org/, check the quicklisp sources for details.

12. NO WARRANTY

tinmop: a multiprotocol client

Copyright © cage

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program.

If not, see http://www.gnu.org/licenses/.


This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Italy License.

Distribuited software and source code published are licensed under the GNU General Public License version 3.0 or later if not specified otherwise.
🢠 fediring website 🢡
random fediring member