2017-05-08 03:17:32 -04:00
============================
Toot - a Mastodon CLI client
============================
2017-04-12 11:23:50 -04:00
2017-11-19 14:17:14 -05:00
Interact with Mastodon social network from the command line.
2017-04-12 11:23:50 -04:00
2017-04-16 09:07:27 -04:00
.. image :: https://img.shields.io/travis/ihabunek/toot.svg?maxAge=3600&style=flat-square
:target: https://travis-ci.org/ihabunek/toot
2017-04-12 11:23:50 -04:00
.. image :: https://img.shields.io/badge/author-%40ihabunek-blue.svg?maxAge=3600&style=flat-square
:target: https://mastodon.social/@ihabunek
2017-08-26 05:35:20 -04:00
.. image :: https://img.shields.io/github/license/ihabunek/toot.svg?maxAge=3600&style=flat-square
2017-04-12 11:23:50 -04:00
:target: https://opensource.org/licenses/MIT
.. image :: https://img.shields.io/pypi/v/toot.svg?maxAge=3600&style=flat-square
:target: https://pypi.python.org/pypi/toot
2017-04-12 10:42:04 -04:00
Installation
------------
2017-09-07 08:59:58 -04:00
From APT package repository
~~~~~~~~~~~~~~~~~~~~~~~~~~~
This works for Debian, Ubuntu and derivatives.
The repo is signed with my `keybase.io <https://keybase.io/ihabunek> `_ key.
Add the `bezdomni.net` repository:
.. code-block ::
2017-11-19 14:17:14 -05:00
echo "deb http://bezdomni.net/packages/ ./" | sudo tee /etc/apt/sources.list.d/bezdomni.list
2017-09-07 08:59:58 -04:00
curl https://keybase.io/ihabunek/pgp_keys.asc | sudo apt-key add -
Install the package:
2017-08-29 08:10:46 -04:00
.. code-block ::
2017-09-07 08:59:58 -04:00
sudo apt update
sudo apt install python3-toot
2017-08-29 08:10:46 -04:00
2017-09-07 08:59:58 -04:00
From Python Package Index
~~~~~~~~~~~~~~~~~~~~~~~~~
2017-08-29 08:10:46 -04:00
Otherwise, install from PyPI using pip, preferably into a virtual environment:
2017-04-12 10:42:04 -04:00
.. code-block ::
pip install toot
Usage
-----
2017-04-16 09:07:27 -04:00
Running `` toot `` displays a list of available commands.
Running `` toot <command> -h `` shows the documentation for the given command.
2017-04-19 08:47:30 -04:00
.. code-block ::
$ toot
toot - a Mastodon CLI client
2017-04-26 06:11:52 -04:00
Authentication:
2017-08-26 08:39:53 -04:00
toot login Log into a Mastodon instance, does NOT support two factor authentication
toot login_browser Log in using your browser, supports regular and two factor authentication
toot login_2fa Log in using two factor authentication in the console (hacky, experimental)
toot logout Log out, delete stored access keys
toot auth Show stored credentials
2017-04-26 06:11:52 -04:00
Read:
2017-08-26 08:39:53 -04:00
toot whoami Display logged in user details
toot whois Display account details
toot search Search for users or hashtags
toot timeline Show recent items in your public timeline
toot curses An experimental timeline app.
2017-04-26 06:11:52 -04:00
Post:
2017-08-26 08:39:53 -04:00
toot post Post a status text to your timeline
toot upload Upload an image or video file
2017-04-26 06:11:52 -04:00
Accounts:
2017-08-26 08:39:53 -04:00
toot follow Follow an account
toot unfollow Unfollow an account
toot mute Mute an account
toot unmute Unmute an account
toot block Block an account
toot unblock Unblock an account
2017-04-19 08:47:30 -04:00
To get help for each command run:
toot <command> --help
https://github.com/ihabunek/toot
2017-04-19 08:51:30 -04:00
It is possible to pipe status text into `toot post` , for example:
.. code-block ::
echo "Text to post" | toot post
cat mypost.txt | toot post
2017-04-16 09:07:27 -04:00
Authentication
--------------
2017-08-26 08:39:53 -04:00
Before tooting, you need to login to a Mastodon instance.
If you don't use two factor authentication you can log in directly from the command line:
2017-04-12 10:42:04 -04:00
.. code-block ::
2017-04-13 07:52:28 -04:00
toot login
2017-08-26 08:39:53 -04:00
You will be asked to chose an instance_ and enter your credentials.
If you do use **two factor authentication** , you need to log in through your browser:
2017-04-18 10:40:26 -04:00
.. code-block ::
2017-08-26 08:39:53 -04:00
toot login_browser
2017-04-18 10:40:26 -04:00
2017-08-26 08:39:53 -04:00
You will be redirected to your Mastodon instance to log in and authorize toot to access your account, and will be given an **authorization code** in return which you need to enter to log in.
2017-04-12 10:42:04 -04:00
2017-04-13 07:52:28 -04:00
.. _instance: https://github.com/tootsuite/documentation/blob/master/Using-Mastodon/List-of-Mastodon-instances.md
2017-04-12 11:18:56 -04:00
2017-04-13 07:52:28 -04:00
The application and user access tokens will be saved in two files in your home directory:
2017-04-12 11:18:56 -04:00
2017-04-18 10:40:26 -04:00
* `` ~/.config/toot/instances/<name> `` - created for each mastodon instance once
2017-04-12 11:18:56 -04:00
* `` ~/.config/toot/user.cfg ``
2017-04-13 07:52:28 -04:00
You can check whether you are currently logged in:
.. code-block ::
toot auth
And you can logout which will remove the stored access tokens:
.. code-block ::
toot logout
2017-05-08 03:17:32 -04:00
License
-------
2017-11-19 15:49:31 -05:00
Copyright 2017 Ivan Habunek <ivan@habunek.com>
2017-05-08 03:17:32 -04:00
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html