4 releases (2 breaking)
Uses new Rust 2024
| 0.3.1 | Feb 22, 2026 |
|---|---|
| 0.3.0 | Feb 22, 2026 |
| 0.2.0 | Dec 16, 2025 |
| 0.1.0 | Nov 15, 2025 |
#153 in Video
1.5MB
2.5K
SLoC

anv is a terminal-native anime launcher for people who think tmux panes and watchlists belong together. Point it at a title, pick your episode, and drop straight into mpv without touching a browser tab.
Why terminal otaku dig it
- Curated for AllAnime streams – fast GraphQL search with zero spoiler thumbnails.
- Sub or dub on demand via
--dub; switches the query and history tagging automatically. - Episode selector behaves like a shell picker: arrow keys,
Enter,Escto bail. - Remembers what you watched last night, including translation choice –
anv --historydrops you right back in. - Reads manga too –
anv --mangafetches chapters and pipes pages directly to your image viewer (mpv by default). - Manga page cache supports custom location via
--cache-dir. - Jump directly to an episode with
-eor--episodeto skip the selection menu. - Fires up
mpv(or whatever you export asANV_PLAYER) with the highest-quality stream it can negotiate.
Install it
Cargo (recommended)
cargo install anv
From source
git clone https://github.com/Vedant-Asati03/anv.git
cd anv
cargo install --path .
Quick start quests
Search and stream:
anv "bocchi the rock"
Prefer the dub:
anv --dub "demon slayer"
Read manga chapters:
anv --manga "one punch man"
Read manga with a custom cache directory:
anv --manga --cache-dir "/tmp/anv-cache" "one punch man"
Jump back to last night’s cliffhanger:
anv --history
Jump directly to an episode:
anv -e 12 "bocchi the rock"
Set a custom player (e.g. tuned mpv build):
export ANV_PLAYER="/usr/bin/mpv --ytdl-format=best"
anv "naruto"
How the flow feels
- CLI asks AllAnime for matching series and shows you a clean list.
- Pick a show; anv fetches available episode numbers for the chosen translation.
- Episode picker highlights your last watched entry so Enter instantly resumes; Esc backs out like a prompt should.
- Streams are resolved through AllAnime’s clock API and piped to
mpvwith the right headers and subtitles. - History gets updated in
~/.local/share/anv/history.json(Linux; platform-specific on others) so the next session remembers everything.
Tips and tweaks
- Keep
mpvupgraded – some providers only serve DASH/HLS variants that older builds struggle with. - If you want to experiment with custom players,
ANV_PLAYERcan be a full command string (add flags, wrappers, etc.). - Use
--cache-dir <DIR>if you want manga page cache files somewhere specific (faster disk, larger partition, etc.). - Use
-e <EP>to skip the interactive episode selector and start playing a specific episode immediately. - Use
cargo install anv --forceto update when new AllAnime quirks pop up.
Troubleshooting
mpvnot found: install it or pointANV_PLAYERat your preferred binary.- Streams empty: AllAnime occasionally throttles or shuffles providers; try again later or update anv.
- History file corrupted: delete the JSON under your data dir and anv recreates it on launch.
License
Released under the MIT License. Have fun, stay hydrated, and don’t skip the ending songs.
Dependencies
~13–23MB
~376K SLoC