ani-cli - watch anime from the commandline
A shell script to browse and search anime from the
command-line.
This tool scrapes the site allanime.
ani-cli without options defaults to iina on macOS, flatpak
mpv on Steamdeck, mpv apk on android, vlc on iOS and mpv media player
everywhere else.
ani-cli v4 uses environment variables to control unstable/untested
and niche features in addition to everything that has an option.
Command-line options take precedence over env vars. Note that these are all
subject to change.
- ANI_CLI_MODE
- Controls the scraped media's mode, valid options are sub or dub. Default
is sub.
- ANI_CLI_DOWNLOAD_DIR
- Controls the directory where files are downloaded. Default is the current
dir.
- ANI_CLI_QUALITY
- Controls the scraped media's quality, check allanime for valid options or
set to worst/best. Default is best.
- ANI_CLI_PLAYER
- Sets the player ani-cli uses. Can be debug (print links), download
(equivalent to -d), android_mpv (apk and am start), android_vlc (apk and
am start), flatpak_mpv (for flatpak), catt (for streaming to tv), or any
player that can play urls. For defaults see working without
arguments.
- Controls the frontend of ani-cli. Can be 0 (uses fzf) or 1 (uses rofi
dmenu). Default is 0.
- ANI_CLI_MULTI_SELECTION
- Controls the multi flag for the chosen frontend. Default is -m for fzf and
--multi-select for rofi dmenu.
- ANI_CLI_NON_INTERACTIVE
- Enabled by default if both -e and -S are given. Disables fzf dependency
check. Also disables some debug information if running with
ANI_CLI_PLAYER="debug"
- ANI_CLI_HIST_DIR
- Controls the directory ani-cli uses for storing history. A /ani-cli
subfolder is created there for the histfile if doesn't exists. Default is
$XDG_STATE_HOME if set, $HOME/.local/state if not.
- ANI_CLI_DEFAULT_SOURCE
- Controls the default source. Valid is history (equivalent to -c),
everything else means search. Default is search.
- ANI_CLI_SKIP_INTRO
- Controls if ani-skip is used to skip intros (works with mpv only). Can be
0 (disabled) or 1 (enabled). Default is 0.
- ANI_CLI_NO_DETACH
- Controls if mpv is detached from the main process for playback, which can
be useful for use with terminal renderers such as kitty. (works with mpv
only). Can be 0 (disabled) or 1 (enabled). Default is 0.
- ANI_CLI_SKIP_TITLE
- Overrides the anime title to query for skip times. Can be any string
value. Default is empty, resolving to the anime title as given by
ani-cli.
Multiple episodes can be chosen using fzf (or alternative
frontend's) multi-selection mode. For this refer to their instructions.
Use the GitHub issue tracker:
https://github.com/pystardust/ani-cli/issues
ani-cli is licensed under the GNU General Public License v3.0
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/>.