In order to use madonctl, you need to specify the instance name or URL, and usually at least provide an account login/password (or a token).
These settings can be passed as command line arguments or environment variables, but the easiest way is to use a configuration file.
Note that every variable from the configration file can also be set with an
environment variable (e.g. export MADONCTL_INSTANCE='https://mamot.fr'
).
The configuration file is usually located in the $HOME/.config/madonctl
directory.
We use viper, so you can use the format you
prefer between YAML, TOML or JSON. The examples use the YAML format so the
configuration file will be named madonctl.yaml
.
You can generate a sample configuration file for your settings with
madonctl config dump -i mastodon.social -L username@domain -P password
The output of this command can be redirected to a file:
madonctl config dump -i mstn.io -L email -P passw > madonctl.yaml
If you only provide the Mastodon instance, it will generate a configuration file with an application ID/secret for this instance and you will have to add the user credentials.
If you don't want to use the password or if you have enabled Two-factor
authentication, you can use OAuth2 with the oauth2
command, either
interactively or non-interactively:
madonctl -i mastodon.social oauth2
The output is similar to the previous config dump
command, so you can create
your configuration file like this as well:
madonctl -i mastodon.social oauth2 > madonctl.yaml
Note: If don't want to use the tool interactively, check to get-url
and code
subcommands:
madonctl -i mastodon.social oauth2 get-url
# (Paste the link into your browser...)
madonctl -i mastodon.social code $CODE > config_file.yaml
Note that if you have set up madonctl to use a default theme, you will have
to force the output with -o plain
to get the example configuration file.
All the available settings should be displayed with config dump (assuming the safe_mode variable is not set).
Option | Description |
---|---|
instance |
Name of the Mastodon instance (e.g. 'mastodon.social') |
app_id |
Application ID (generated by madonctl) |
app_secret |
Application secret (generated by madonctl) |
token |
User Mastodon token (generated at login time) |
login |
User login (email) |
password |
User password |
safe_mode |
If set to true, the configuration cannot be dumped with config dump |
default_visibility |
Default toots visibillity (Mastodon's default is 'public') |
default_output |
Default output format; one of plain, yaml, json or theme |
template_directory |
The local directory where templates and themes are installed |
default_theme |
Default theme name (e.g. ansi) |
color |
Default color setting (on, off, auto) |
verbose |
Set to true for verbose mode |
Note that if a token is set, the login and the password are not necessary.
It is recommended to reuse the same token (and it will be faster).