ANI-CLI(1)

NAME
ani-cli - watch anime from the commandline

SYNOPSIS
ani-cli [OPTIONS]

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.

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, mpv only)

--skip-title <title>
    Specify the title to use for ani-skip

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_EXTERNAL_MENU_NORMAL_WINDOW
    Controls the way rofi displays the window. Can be 0 (no additional arguments passed to rofi) or 1 (the menu is displayed as a normal window, -normal-window argument is passed to rofi). 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_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.

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/>.