ani-cli - watch anime from the commandline
Contents
Bugs
Use the GitHub issue tracker: https://github.com/pystardust/ani-cli/issues
Copyright
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/>.
ani-cli January 2023 ANI-CLI(1)
Description
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.
Environment Variables
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.
ANI_CLI_EXTERNAL_MENU
Controls the frontend of ani-cli. Can be 0 (uses fzf) or 1 (uses rofi dmenu). Default is 0.
ANI_CLI_LOG_EPISODE
Controls the logging feature for playback. Can be 1(logs) or 0(doesn't log). Default is 1.
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.
Episode Selection
Multiple episodes can be chosen using fzf (or alternative frontend's) multi-selection mode. For this
refer to their instructions.
Name
ani-cli - watch anime from the commandline
Options
-e|--episode|-r|--range<episode>
Specify the episode numbers to watch. If range is specified it should be quoted or separated by a
non-numeric character (eg. -).
-c|--continue
Continue watching anime from history.
-d|--download
Download episode.
-D|--delete
Delete history.
-l|--logview
Show logs.
-h|--help
Show summary of options.
-q|--quality<best|worst|360|480|720|1080>
Set the video quality. Default quality is best.
-s|--syncplay
Watch anime together with friends, using Syncplay (works with mpv only).
-U|--update
Fetch update from github.
-v|--vlc
Use VLC as the media player.
-S|--select-nth<index>
Selects nth entry.
-N|--nextep-countdown
Prints a countdown to the next episode as the last episode in the list. If in history is after the
current episode.
--dub Play the dubbed version. Without this flag, it'll always play the subbed version.
--rofi Use rofi instead of fzf for the interactive menu
--skip Use ani-skip to skip the intro of the episode (mpv only)
--no-detach
Don't detach the player (useful for in-terminal playback, mpv only) --exit-after-play Exit the
player, and return the player exit code (useful for non interactive scenarios, works only if --no-
detach is used, mpv only)
--skip-title<title>
Specify the title to use for ani-skip
Synopsis
ani-cli [OPTIONS]
