一个用于浏览和观看动漫的命令行工具(可独自或与朋友一起使用)。该工具从allanime网站抓取内容。
展示
目录
修复错误
如果遇到"未找到结果"(并且确信输入正确)或任何严重问题,请确保你使用的是最新版本。在Linux、Mac和Android上,输入sudo ani-cli -U
进行更新。在Windows上,运行ani-cli -U
。
如果更新后问题仍然存在,请提交issue。
安装
一级支持:Linux、Mac、Android
这些平台有稳定的支持,并被维护者和大部分用户使用。
Linux
原生软件包
原生软件包的更新周期更加稳健,但有时升级速度较慢。
如果你的平台上的版本是最新的,我们建议使用它。
Debian 13/unstable
sudo apt install ani-cli
Fedora
要安装mpv(和vlc),你需要启用_RPM Fusion free_。只需按照以下说明操作:https://rpmfusion.org/Configuration 要能够安装syncplay,你需要启用这个copr仓库(包含说明):https://copr.fedorainfracloud.org/coprs/batmanfeynman/syncplay/。
安装ani-cli:
sudo dnf copr enable derisis13/ani-cli
sudo dnf install ani-cli
如果你的发行版使用rpm,并且你想看到原生软件包,请提交issue。
Arch
从AUR构建和安装:
yay -S ani-cli
也可以考虑使用ani-cli-git
Gentoo
从GURU构建和安装:
sudo eselect repository enable guru
sudo emaint sync -r guru
sudo emerge -a ani-cli
考虑使用9999 ebuild。
sudo emerge -a =app-misc/ani-cli-9999
OpenSuse
在Suse上,提供的MPV和VLC软件包缺少ani-cli使用的一些功能。唯一需要的是"Only Essentials"仓库,它为每个Suse版本都提供了版本。 你可以在这里找到相关说明。
要添加ani-cli copr仓库,更新然后安装ani-cli,运行(两个版本都适用):
zypper addrepo https://download.copr.fedorainfracloud.org/results/derisis13/ani-cli/opensuse-tumbleweed-x86_64/ ani-cli
zypper dup
zypper install ani-cli
你会收到一个关于签名验证失败 [4-签名公钥不可用]
的警告,但可以在提示中忽略它。
注意:软件包是noarch的,所以任何架构都应该可以工作,尽管仓库标记为x86-64
MacOS
安装依赖 (见下文)
如果未安装HomeBrew,请先安装。
git clone "https://github.com/pystardust/ani-cli.git" && cd ./ani-cli
cp ./ani-cli "$(brew --prefix)"/bin
cd .. && rm -rf ./ani-cli
要在Mac OS上安装(使用Homebrew)所需的依赖,你可以运行:
brew install curl grep aria2 ffmpeg git fzf yt-dlp && \
brew install --cask iina
为什么使用iina而不是mpv?iina是MacOS上mpv的替代品。与OSX UI集成良好。对M1提供出色支持。开源。
Android
安装termux (指南)
Termux软件包
pkg up -y
pkg install ani-cli
如果你使用的是Android 14,请确保运行以下命令,因为#1206:
pkg install termux-am
对于播放器,您可以使用mpv和vlc的apk版本(从Play商店或F-Droid下载)。请注意,这些无法从Termux中检查,因此在检查依赖项时会生成警告。
第二级支持:Windows、WSL、iOS、Steam Deck、FreeBSD
虽然官方支持(FreeBSD除外),但在这些平台上安装过程更复杂,有时会出现问题。
如果您需要帮助,请联系我们。
Windows
ani-cli
已在scoop上提供。请继续阅读设置说明。
我们将设置Git for Windows附带的bash.exe与Windows Terminal一起使用。您可以使用Wezterm或Alacritty等终端,但本指南仅涵盖Windows Terminal。Git Bash终端(即mintty)在使用fzf时存在问题。
首先,您需要安装scoop包管理器。(安装) 按照快速入门进行操作。
接下来,获取Windows Terminal。它在Windows 11上预装。如果您没有它,请在powershell中运行以下命令进行安装。
scoop bucket add extras
scoop install extras/windows-terminal
然后,获取git。如果您已经安装了它,请更新。如果您还没有安装,请在powershell中运行scoop install git
进行安装。
确保Git Bash出现在Windows Terminal的标签下拉列表中,如下图所示。
如果没有显示,请添加它。要添加它,首先点击新建标签按钮旁边的下拉按钮(如上图所示)。
然后,导航到设置 > 配置文件 > 添加新配置文件
。点击+ 新建空配置文件
。
接下来:
- 如果您使用scoop安装了git:将名称设置为"Git Bash",将命令行设置为
%GIT_INSTALL_ROOT%\bin\bash.exe -i -l
,将图标设置为%GIT_INSTALL_ROOT%\mingw64\share\git\git-for-windows.ico
。 - 如果您通过其他方式安装了git:将名称设置为"Git Bash",将命令行设置为
C:\Program Files\Git\bin\bash.exe -i -l
,将图标设置为C:\Program Files\Git\mingw64\share\git\git-for-windows.ico
。
然后,将起始目录设置为%USERPROFILE%
,并确保从下拉列表中隐藏配置文件设置为"关闭"(否则您将无法在下拉列表中看到此配置文件)。
现在保存您的更改。
您将使用此配置文件在bash shell中运行ani-cli
。
在Windows Terminal设置的启动部分,您可以将此配置文件设置为默认值,这样每次想运行ani-cli
时就不必切换到它。
现在重启Windows Terminal。在Git Bash配置文件中,通过运行以下命令安装ani-cli
。
scoop bucket add extras
scoop install ani-cli
接下来,安装其依赖项。
scoop bucket add extras
scoop install fzf ffmpeg mpv
也可以考虑安装yt-dlp
和aria2
以使下载功能正常工作。
重启Windows Terminal。转到Git Bash配置文件并使用ani-cli -U
更新ani-cli
。您将使用此命令保持ani-cli最新。
现在您可以使用ani-cli了。阅读ani-cli -h
的输出以获取更多帮助。
Windows:已知问题及解决方案
如果您遇到问题,请使用ani-cli -U
将ani-cli更新到最新版本。如果仍然有问题,请继续阅读。
- 卡在"搜索动漫:"。如果您使用上述描述的Windows Terminal + Bash设置,这种情况不应该发生。如果您使用Git Bash终端(即mintty终端),就会发生这种情况。这是fzf和mintty之间的问题,应该在未来版本的fzf中得到解决。目前,要么使用上述描述的Windows Terminal设置,要么如果您一定要使用mintty终端,请在运行ani-cli之前运行
export MSYS=enable_pcon
。 - "没有这样的文件或目录"或WSL相关错误:如果您使用上述描述的Windows Terminal + Bash设置,这种情况不应该发生。如果您在powershell或cmd中运行ani-cli,就会发生这种情况。这是因为在
%USERPROFILE%\scoop\shims\ani-cli.cmd
中调用了WSL的bash.exe而不是Git for Windows的bash.exe。如果您必须使用powershell或cmd,请编辑%USERPROFILE%\scoop\shims\ani-cli.cmd
文件。在文件资源管理器中,转到C:\Users\USERNAME\scoop\shims
目录,用记事本打开ani-cli.cmd
文件。然后:- 如果您使用scoop安装了git,将
@bash
替换为@"%GIT_INSTALL_ROOT%\bin\bash.exe"
,或者 - 如果您通过其他方式安装了git,将
@bash
替换为@"C:\Program Files\Git\bin\bash.exe"
。 如果ani-cli的scoop清单在这个PR中得到更新,这个问题应该会得到修复。
- 如果您使用scoop安装了git,将
- curl可能会导致问题。ani-cli已在curl
7.83.1
版本上测试失败,在7.86.0
版本上测试成功。如果您遇到问题,请尝试使用scoop安装较新版本。 - 如果您使用scoop安装了mpv,您的mpv配置将从
C:\Users\USERNAME\scoop\apps\mpv\current\portable_config
读取。有关portable_config
的更多详细信息,请参阅mpv文档。
WSL
按照您的Linux发行版的安装说明进行操作。
请注意,媒体播放器(mpv或vlc)需要安装在Windows上,而不是WSL上。关于这一点的解释请参见(此处)的评论。在链接的评论中还包含了如何从WSL使用媒体播放器的说明。
在Windows上安装媒体播放器时,确保它在Windows的Path中。一个简单的方法是使用包管理器(在Windows上,而不是WSL)如scoop下载媒体播放器。
iOS
从App Store安装iSH和VLC。
确保使用以下命令更新apk
apk update; apk upgrade
然后运行以下命令:
apk add grep sed curl fzf git aria2 ncurses
apk add ffmpeg
git clone --depth 1 https://github.com/pystardust/ani-cli ~/.ani-cli
cp ~/.ani-cli/ani-cli /usr/local/bin/ani-cli
chmod +x /usr/local/bin/ani-cli
rm -rf ~/.ani-cli
请注意,下载速度会非常慢。这是iSH的问题,而不是ani-cli的问题。
Steam Deck
复制粘贴脚本:
- 切换到桌面模式(点击"STEAM"按钮 > 电源 > 切换到桌面)
- 打开"Konsole"(Steam Deck左下角图标 > 系统 > Konsole)
- 复制脚本,粘贴到命令行界面并按回车键(Steam Deck上的"A"按钮)
[ ! -d ~/.local/bin ] && mkdir ~/.local/bin && echo "export PATH=$HOME/.local/bin:\$PATH" >> ".$(echo $SHELL | sed -nE "s|.*/(.*)\$|\1|p")rc"
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
mkdir ~/.aria2c
curl -o ~/.aria2c/aria2-1.36.0.tar.bz2 https://github.com/q3aql/aria2-static-builds/releases/download/v1.36.0/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2
tar xvf ~/.aria2c/aria2-1.36.0.tar.bz2 -C ~/.aria2c/
cp ~/.aria2c/aria2-1.36.0-linux-gnu-64bit-build1/aria2c ~/.local/bin/
chmod +x ~/.local/bin/aria2c
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o ~/.local/bin/yt-dlp
chmod +x ~/.local/bin/yt-dlp
mkdir ~/.patch
curl -o ~/.patch/patch.tar.zst https://mirror.sunred.org/archlinux/core/os/x86_64/patch-2.7.6-10-x86_64.pkg.tar.zst
tar xvf ~/.patch/patch.tar.zst -C ~/.patch/
cp ~/.patch/usr/bin/patch ~/.local/bin/
git clone https://github.com/pystardust/ani-cli.git ~/.ani-cli
cp ~/.ani-cli/ani-cli ~/.local/bin/
flatpak install io.mpv.Mpv
在出现问题时按回车键(Steam Deck上的"A"按钮)
分步安装:
安装mpv(Flatpak版本):
flatpak install io.mpv.Mpv
在出现问题时按回车键(Steam Deck上的"A"按钮)
安装fzf:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
在出现问题时按回车键(Steam Deck上的"A"按钮)
如果不存在则创建~/.local/bin文件夹并将其添加到$PATH
[ ! -d ~/.local/bin ] && mkdir ~/.local/bin && echo "export PATH=$HOME/.local/bin:\$PATH" >> ".$(echo $SHELL | sed -nE "s|.*/(.*)\$|\1|p")rc"
安装aria2(仅下载功能需要):
mkdir ~/.aria2c
curl -o ~/.aria2c/aria2-1.36.0.tar.bz2 https://github.com/q3aql/aria2-static-builds/releases/download/v1.36.0/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2
tar xvf ~/.aria2c/aria2-1.36.0.tar.bz2 -C ~/.aria2c/
cp ~/.aria2c/aria2-1.36.0-linux-gnu-64bit-build1/aria2c ~/.local/bin/
chmod +x ~/.local/bin/aria2c
安装yt-dlp(仅下载功能需要):
curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o ~/.local/bin/yt-dlp
chmod +x ~/.local/bin/yt-dlp
安装patch(自我更新功能 [ -U ] 需要):
mkdir ~/.patch
curl -o ~/.patch/patch.tar.zst https://mirror.sunred.org/archlinux/core/os/x86_64/patch-2.7.6-10-x86_64.pkg.tar.zst
tar xvf ~/.patch/patch.tar.zst -C ~/.patch/
cp ~/.patch/usr/bin/patch ~/.local/bin/
安装ani-cli:
git clone https://github.com/pystardust/ani-cli.git ~/.ani-cli
cp ~/.ani-cli/ani-cli ~/.local/bin/
可选:添加桌面入口:
echo '[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=bash -c "source $HOME/.'$(echo $SHELL | sed -nE "s|.*/(.*)\$|\1|p")'rc && konsole --fullscreen -e ani-cli"
Name=ani-cli' > $HOME/.local/share/applications/ani-cli.desktop
这个.desktop入口将允许直接从"游戏模式"在Konsole中启动ani-cli
在Steam桌面应用中:
添加游戏
> 添加非Steam游戏
> 勾选ani-cli
的选框 > 添加选中的程序
从源代码安装
此方法适用于任何类Unix操作系统,是移植工作的基础。
安装依赖项 (见下文)
git clone "https://github.com/pystardust/ani-cli.git"
sudo cp ani-cli/ani-cli /usr/local/bin
rm -rf ani-cli
卸载
- apt:
sudo apt remove ani-cli
# 从apt中删除存储库
sudo rm -f /etc/apt/trusted.gpg.d/ani-cli.asc /etc/apt/sources.list.d/ani-cli-debian.list
- dnf:
sudo dnf remove ani-cli # 对于ani-cli
# 在dnf中禁用存储库
dnf copr disable derisis13/ani-cli
如果你不再使用RPM fusion,你可能想卸载它
- zypper:
zypper remove ani-cli
zypper removerepo ani-cli
如果你不再需要packman-essentials
,你可能想删除它
- AUR:
yay -R ani-cli
- Scoop:
scoop uninstall ani-cli
- Linux:
sudo rm "/usr/local/bin/ani-cli"
- Mac:
rm "$(brew --prefix)/bin/ani-cli"
- Windows: 在Git Bash中运行(以管理员身份):
rm "/usr/bin/ani-cli"
- Termux包
pkg remove ani-cli
- Android:
rm "$PREFIX/bin/ani-cli"
- Steam Deck
rm "~/.local/bin/ani-cli"
rm -rf ~/.ani-cli
可选:删除依赖项:
rm ~/.local/bin/aria2c
rm ~/.local/bin/yt-dlp
rm -rf "~/.aria2"
rm -rf "~/.fzf"
flatpak uninstall io.mpv.Mpv
- iOS
rm -rf /usr/local/bin/ani-cli
要卸载其他依赖项:
apk del grep sed curl fzf git aria2 ffmpeg ncurses
依赖项
- grep
- sed
- curl
- mpv - 视频播放器
- iina - MacOS上的mpv替代品
- aria2c - 下载管理器
- yt-dlp - m3u8下载器
- ffmpeg - m3u8下载器(备用)
- fzf - 用户界面
- ani-skip(可选)
- patch - 自我更新
Ani-Skip
Ani-skip是一个自动跳过动漫片头序列的脚本,让你观看喜欢的节目时更容易,无需每次手动跳过片头(摘自原始README)。
安装说明请访问ani-skip。
Ani-skip使用mpv的外部lua脚本功能,因此目前只能与mpv一起使用。
警告:目前,ani-skip似乎不适用于Windows系统。
**注意:**可能ani-skip不知道你正在尝试观看的动漫。尝试使用--skip-title <标题>
命令行参数。(它使用aniskip API,你可以在他们的Discord服务器上贡献缺失的动漫或请求将其加入数据库)。
相关项目
- animdl:极其高效、快速和轻量级(支持大多数来源:allanime、zoro等)(Python)
- jerry:带有anilist追踪和同步功能的动漫流媒体,支持Discord状态显示(Shell)
- anipy-cli:用Python重写的ani-cli(Python)
- Dantotsu:Saikou的重生,最佳Android动漫/漫画/轻小说应用,集成anilist(Kotlin)
- mangal:从任何来源下载和阅读漫画,支持anilist同步(Go)
- lobster:从终端观看电影和剧集(Shell)
- mov-cli:从终端观看一切(Python)
- dra-cla:韩剧版的ani-cli(Shell)
- redqu:以媒体为中心的Reddit客户端(Clojure)
- doccli:一个用于观看带波兰语字幕的动漫的命令行工具(Python)
- GoAnime:一个用于浏览、播放和下载葡萄牙语动漫的命令行工具(Go)