mirror of
https://codeberg.org/cage/tinmop/
synced 2024-12-18 23:22:52 +01:00
- updated README.
This commit is contained in:
parent
069bbda392
commit
2b44b8ffe0
165
README.org
165
README.org
@ -11,17 +11,12 @@
|
||||
|
||||
* Introduction
|
||||
|
||||
Tinmop is an opinionated client for
|
||||
[[https://gemini.circumlunar.space/][gemini protocol]], Gopher,
|
||||
[[https://pleroma.social/][Pleroma]] (using the mastodon API) and
|
||||
[[https://kamid.omarpolo.com/][kamid]] protocols. It offer a
|
||||
distraction free terminal interface and a GUI for connecting to the
|
||||
geminispace.
|
||||
Tinmop is an opinionated client for [[https://gemini.circumlunar.space/][gemini protocol]], Gopher,
|
||||
[[https://joinmastodon.org/][Mastodon]], [[https://pleroma.social/][Pleroma]] (using the mastodon API) and [[https://kamid.omarpolo.com/][kamid]] protocols. It offer a
|
||||
distraction free terminal interface and a GUI for connecting to 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".
|
||||
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".
|
||||
|
||||
* Peculiar Features
|
||||
|
||||
@ -29,17 +24,13 @@
|
||||
- subscriptions of hashtag;
|
||||
- programmable and extensible;
|
||||
- encrypted direct message (but see [[FAQ]]);
|
||||
- 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.
|
||||
- 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.
|
||||
|
||||
** 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][NO WARRANTY]].
|
||||
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][NO WARRANTY]].
|
||||
|
||||
* Dependency
|
||||
|
||||
@ -48,8 +39,7 @@
|
||||
+ to build the package:
|
||||
xgettext.
|
||||
|
||||
+ to install the package, including running the script to install
|
||||
lisp libraries (~quick_quicklisp.sh~):
|
||||
+ to install the package, including running the script to install lisp libraries (~quick_quicklisp.sh~):
|
||||
- AWK;
|
||||
- git.
|
||||
|
||||
@ -65,10 +55,10 @@
|
||||
- man
|
||||
- imagemagick
|
||||
|
||||
All the dependencies above should be available using the package
|
||||
manager of your distribution (~apt~, ~yum~ etc).
|
||||
All the dependencies above should be available using the package manager of your distribution (~apt~, ~yum~ etc).
|
||||
|
||||
** Lisp Libraries
|
||||
|
||||
- alexandria;
|
||||
- cl-ppcre-unicode;
|
||||
- tooter;
|
||||
@ -99,16 +89,13 @@
|
||||
- percent-encoding;
|
||||
- trivial-clipboard.
|
||||
|
||||
All these libraries will be downloaded, compiled and installed by
|
||||
the script ~quick_quicklisp.sh~, see below.
|
||||
All these libraries will be downloaded, compiled and installed by the script ~quick_quicklisp.sh~, see below.
|
||||
|
||||
** Foreign (C language) library
|
||||
|
||||
- libssl (TLS socket)
|
||||
|
||||
The C library should be installed with their header (~*.h~)
|
||||
files. On Debian or derived system this means installing the
|
||||
library package with the ~-dev~ suffix as shown below:
|
||||
The C library should be installed with their header (~*.h~) files. On Debian or derived system this means installing the library package with the ~-dev~ suffix as shown below:
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
# apt-get install libssl-dev
|
||||
@ -140,8 +127,7 @@
|
||||
or using a shell script [[https://guix.gnu.org/manual/en/guix.html#Binary-Installation][as explained in the guix manual]].
|
||||
|
||||
** From source
|
||||
1. optional step needed only if you have not already the configure script,
|
||||
you will need ~autotools~ for that.
|
||||
1. optional step needed only if you have not already the configure script, you will need ~autotools~ for that.
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
$ autoreconf -fiv
|
||||
@ -153,23 +139,20 @@
|
||||
$ ./configure
|
||||
#+END_SRC
|
||||
|
||||
3. the script ~quick-quicklisp.sh~ will download and install the library manager and the
|
||||
libraries on your home dir.
|
||||
3. the script ~quick-quicklisp.sh~ will download and install the library manager and the libraries on your home dir.
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
$ ./quick_quicklisp.sh
|
||||
#+END_SRC
|
||||
|
||||
This step is optional if you have already installed quicklisp, in
|
||||
this case just load the [[Dependency][dependencies]]
|
||||
using the client installed on your computer.
|
||||
This step is optional if you have already installed quicklisp, in this case just load the [[Dependency][dependencies]] using the client installed on your computer.
|
||||
|
||||
4. optional step if you did not ran ~quick-quicklisp.sh~.
|
||||
|
||||
Clone in ~$HOME/quicklisp/local-projects/~ the latest version of
|
||||
croatoan, a library to wrap the ncurses TUI library.
|
||||
Clone in ~$HOME/quicklisp/local-projects/~ the latest version of croatoan, a library to wrap the ncurses TUI library.
|
||||
|
||||
This step is temporary as this version will get into quicklisp eventually.
|
||||
|
||||
#+BEGIN_SRC sh
|
||||
$ cd $HOME/quicklisp/local-projects/
|
||||
$ git clone https://github.com/McParen/croatoan.git
|
||||
@ -199,9 +182,7 @@
|
||||
$ tinmop
|
||||
#+END_SRC
|
||||
|
||||
9. An error will be printed about a missing file
|
||||
place a simple configuration file in one of the directory the software indicated.
|
||||
See [[FAQ][the FAQ below]].
|
||||
9. An error will be printed about a missing file place a simple configuration file in one of the directory the software indicated. See [[FAQ][the FAQ below]].
|
||||
|
||||
* Usage
|
||||
|
||||
@ -230,56 +211,37 @@
|
||||
|
||||
* License
|
||||
|
||||
This program is released under GNU General Public license version 3
|
||||
or later (see COPYING file).
|
||||
This program is released under GNU General Public license version 3 or later (see COPYING file).
|
||||
|
||||
The program use data and code from other sources, please see
|
||||
LICENSES.org for credits.
|
||||
The program use data and code from other sources, please see LICENSES.org for credits.
|
||||
|
||||
Although any efforts has been put to make the list of credits
|
||||
exhaustive, errors are always possible. Please send correction to
|
||||
cage-dev at twistfold dot it.
|
||||
Although any efforts has been put to make the list of credits exhaustive, errors are always possible. Please send correction to cage-dev at twistfold dot it.
|
||||
|
||||
* Privacy
|
||||
|
||||
The author of this software collects no user data information with
|
||||
this software.
|
||||
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.
|
||||
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.
|
||||
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
|
||||
[[https://beta.quicklisp.org/quicklisp.lisp][quicklisp sources]] for
|
||||
details.
|
||||
Moreover launching ~quick_quicklisp.sh~ will contact [[https://www.quicklisp.org/]], check the [[https://beta.quicklisp.org/quicklisp.lisp][quicklisp sources]] for details.
|
||||
|
||||
By default, pressing "!" will contact the remote service located at:
|
||||
"gemini://geminispace.info/search".
|
||||
By default, pressing "!" will contact the remote service located at: "gemini://geminispace.info/search".
|
||||
|
||||
* Contributing
|
||||
|
||||
Any help is appreciated. If you intend to contribute please point
|
||||
your browser to the
|
||||
[[https://codeberg.org/cage/tinmop/issues][issue tracker]] or file a
|
||||
[[https://codeberg.org/cage/tinmop/pulls][pull request]].
|
||||
Any help is appreciated. If you intend to contribute please point your browser to the [[https://codeberg.org/cage/tinmop/issues][issue tracker]] or file a [[https://codeberg.org/cage/tinmop/pulls][pull request]].
|
||||
|
||||
But, please take a minute to read the file [[./CONTRIBUTING.org]]
|
||||
But, please, take a minute to read the file [[./CONTRIBUTING.org]] before
|
||||
|
||||
* FAQ
|
||||
|
||||
- I just tried to start the program for the first time but it give
|
||||
me a weird error, what's wrong?
|
||||
- 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.
|
||||
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.
|
||||
|
||||
Example :
|
||||
#+BEGIN_SRC text
|
||||
@ -295,28 +257,19 @@
|
||||
username = username
|
||||
#+END_SRC
|
||||
|
||||
If this file does not exists or is invalid tinmop could be used
|
||||
just as a gemini client.
|
||||
If this file does not exists or is invalid tinmop could be used just as a gemini client.
|
||||
|
||||
Please check the man page (tinmop(1)) for more information.
|
||||
|
||||
- The ~quick_quicklisp.sh~ script failed and refuse to start again,
|
||||
what can I do?
|
||||
- The ~quick_quicklisp.sh~ script failed and refuse to start again, what can I do?
|
||||
|
||||
If tinmop is the first Common lisp program you have ever installed
|
||||
installed, try to rename the directory ~$/HOME/quicklisp~ and,
|
||||
then, restart the script.
|
||||
If tinmop is the first Common lisp program you have ever installed installed, try to rename the directory ~$/HOME/quicklisp~ and, then, restart the script.
|
||||
|
||||
If problem persists [[BUGS][contact me]].
|
||||
|
||||
- Is tinmop compatible with mastodon servers?
|
||||
|
||||
Unfortunately no, the way some API endpoint provide the toots is
|
||||
not suitable for this client, for more information please go
|
||||
[[https://github.com/tootsuite/mastodon/issues/13817][here]].
|
||||
|
||||
I hope this will change in the future but this depends entirely
|
||||
from the people are developing the server.
|
||||
Yes, in fact I am using tinmop with a Mastodon istance on a daily basis.
|
||||
|
||||
- OK the program is running but how can i use it?
|
||||
|
||||
@ -328,58 +281,38 @@
|
||||
|
||||
[[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.
|
||||
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!
|
||||
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.
|
||||
*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.
|
||||
|
||||
* NO WARRANTY
|
||||
|
||||
tinmop: an humble gemini and pleroma client
|
||||
Copyright (C) 2020 cage
|
||||
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 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.
|
||||
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/][http://www.gnu.org/licenses/]].
|
||||
You should have received a copy of the GNU General Public License along with this program. If not, see [[http://www.gnu.org/licenses/][http://www.gnu.org/licenses/]].
|
||||
|
||||
* Acknowledgment
|
||||
|
||||
My deep thanks to the folks that provided us with wonderful SBCL and
|
||||
Common lisp libraries.
|
||||
My deep thanks to the folks that provided us with wonderful SBCL and Common lisp libraries.
|
||||
|
||||
In particular i want to thanks the authors of the libraries Croatoan
|
||||
and Tooter for their help when I started to develop this program.
|
||||
In particular i want to thanks the authors of the libraries Croatoan and Tooter for their help when I started to develop this program.
|
||||
|
||||
There are more people i borrowed code and data from, they are
|
||||
mentioned in the file LINCENSES.org
|
||||
There are more people i borrowed code and data from, they are mentioned in the file LINCENSES.org
|
||||
|
||||
This program is was born also with the help of CCCP: "Collettivo
|
||||
Computer Club Palermo".
|
||||
This program is was born also with the help of CCCP: "Collettivo Computer Club Palermo".
|
||||
|
||||
Also thanks to "barbar" for testing of the installation scripts.
|
||||
|
Loading…
Reference in New Issue
Block a user