Skip to content

AnjishnuSengupta/ny-cli

Repository files navigation

✦ NY-CLI

ネコアニメ CLI — Watch Anime from Your Terminal


Version npm License Stars Instagram


🌐 NyAnime Website   📦 Releases   🐛 Report Bug




🎯 What's New in v6.0.8

  • 📥 Batch Downloading: Download single or all episodes via d and a hotkeys with an integrated UI progress queue!
  • 🔄 Auto-Advance: Intelligently prompts you to start the next episode when you've watched 90% of the current one.
  • 🐛 Resume Bugfix: Fixed an issue where the player wouldn't resume from the last known timestamp properly.
  • 🔌 Local Image Proxy: Circumvents blocked CDNs by proxying thumbnails automatically.
🔄 Backend Rewrite Fully rewritten streaming chain utilizing AniList, Jikan, MegaPlay, and AllAnime fallback.
🌐 Browser Fallback Detects embed-type streaming sources and securely opens them via xdg-open in your default browser.
🖼️ Picture Layout Fixes Fixed ink-picture component dimensions for reliable artwork rendering in terminal.
🔐 Auth Improvements Bypassed Firebase OAuth whitelisting limits and implemented reliable token delivery.



✨ Features

╭─────────────────────────────────────────────────────────────────╮
│                                                                 │
│   🎬  STREAMING          👤  EXPERIENCE        🔧  TECHNICAL    │
│   ───────────────        ───────────────       ───────────────  │
│                                                                 │
│   ▸ HLS Streaming        ▸ User Accounts       ▸ React/Ink UI   │
│   ▸ Multi-Server         ▸ Watch History       ▸ Node.js 18+    │
│   ▸ Sub/Dub Select       ▸ Cloud Sync          ▸ AllAnime API   │
│   ▸ Artwork Display      ▸ Continue Watch      ▸ Jikan API      │
│   ▸ Progress Tracking    ▸ 97% Auto-Skip       ▸ mpv IPC        │
│   ▸ MPV/VLC Support      ▸ Profile System      ▸ Firebase       │
│                                                                 │
╰─────────────────────────────────────────────────────────────────╯

📺 Streaming Highlights
Feature Description
🎙️ Sub/Dub Selection Choose sub or dub per anime — preference saved and synced to cloud
🖼️ Anime Artwork Cover art displayed in terminal via ink-picture while browsing
⏱️ Watch Progress mpv IPC tracks your position to the second
✨ 97% Auto-Advance Episode 97%+ watched? Next episode auto-loads
🔄 Multi-Server Races HD-1, HD-2, StreamTape sources in parallel
🎚️ Player Support MPV (recommended), VLC — auto-detected
👤 User Features
Feature Description
🔐 Browser Auth Fully automated OAuth-style login via nyanime.qzz.io — secure and seamless!
📜 Watch History Track all watched episodes with timestamps and progress
☁️ Cloud Sync Seamless sync with watch time to nyanime.qzz.io
📍 Continue Watching Resume exactly where you left off
📚 Trending Browse currently trending anime
🔍 Quick Search Fast anime search with artwork preview
🎨 UI Features
Feature Description
🌊 Animated Banner Color gradient animation on the NY-CLI logo
💫 Ripple Effects Ripple animation on selection
✨ Shimmer Text Rainbow shimmer effect on username
🔄 Pulsing Elements Pulsing status indicators
📊 Progress Badges Visual % watched badges in Continue Watching
🎯 Centered Layout Menu and content centered like the banner
🔲 ASCII Icons Consistent box borders with fixed-width icons



🖥️ Terminal Demo

╔════════════════════════════════════════════════════════════════╗
║                                                                ║
║     ███╗   ██╗██╗   ██╗       ██████╗██╗     ██╗               ║
║     ████╗  ██║╚██╗ ██╔╝      ██╔════╝██║     ██║               ║
║     ██╔██╗ ██║ ╚████╔╝ █████╗██║     ██║     ██║               ║
║     ██║╚██╗██║  ╚██╔╝  ╚════╝██║     ██║     ██║               ║
║     ██║ ╚████║   ██║         ╚██████╗███████╗██║               ║
║     ╚═╝  ╚═══╝   ╚═╝          ╚═════╝╚══════╝╚═╝               ║
║              ⟨ Your Gateway to Anime Streaming ⟩               ║
║                                                                ║
║  ╭──────────────────────────────────────────╮                  ║
║  │ Welcome, Anjishnu!                       │                  ║
║  ├──────────────────────────────────────────┤                  ║
║  │ ▸ 1) [S] Search                          │                  ║
║  │   2) [T] Trending                        │                  ║
║  │   3) [>] Continue Watching               │                  ║
║  │   4) [P] Profile                         │                  ║
║  │   5) [?] Help                            │                  ║
║  │   6) [X] Exit                            │                  ║
║  ╰──────────────────────────────────────────╯                  ║
║                                                                ║
╚════════════════════════════════════════════════════════════════╝



🚀 Quick Start


Prerequisites

Dependency Required Description
Node.js Version 18+
npm Comes with Node.js
mpv Video player (or VLC)
ink-picture Terminal image renderer (for artwork)
bun For best UI experience

One-Line Install (Recommended)

curl -fsSL https://raw.githubusercontent.com/AnjishnuSengupta/ny-cli/main/install.sh | sh

This auto-detects your OS and offers to install all dependencies!


Install via npm

npm install -g @anjishnusengupta/ny-cli

Then install system dependencies manually:

📦 System Dependencies by OS

🐧 Ubuntu / Debian

sudo apt install mpv ink-picture

🎩 Fedora / RHEL

sudo dnf install mpv ink-picture

🔷 Arch Linux

sudo pacman -S mpv ink-picture

🍎 macOS

brew install mpv ink-picture

Optional: Install Bun for best UI

curl -fsSL https://bun.sh/install | bash

📥 Manual Install
# Clone the repository
git clone https://github.com/AnjishnuSengupta/ny-cli.git
cd ny-cli

# Install dependencies
npm install

# Make executable and install
chmod +x ny-cli
sudo ln -sf "$(pwd)/ny-cli" /usr/local/bin/ny-cli
🐧 Arch Linux (AUR)
yay -S ny-cli
# or
paru -S ny-cli

Usage

# Interactive mode (recommended)
ny-cli

# For help
ny-cli -h



🎮 Controls

Menu Navigation

Key Action
/ k Move up
/ j Move down
Enter Select
b / / Esc Go back
1-9 Quick select (when shown)
q Quit

During Playback (mpv)

Key Action
Space Play / Pause
/ Seek ±5s
/ Seek ±60s
f Fullscreen
v Toggle subtitles
m Mute
q Quit



🛠️ Tech Stack


Layer Technologies
CLI React Ink TypeScript
Backend Node.js Express
APIs AllAnime Jikan Anipy
Sync Firebase NyAnime
Media mpv ink-picture webtorrent



📁 Project Structure

ny-cli/
├── 📄 ny-cli                    # Main launcher script
├── 📄 cli-terminal.tsx          # Ink/React terminal UI (main)
├── 📄 cli-terminal-fallback.mjs # Fallback UI (no Bun)
├── 📄 backend.mjs               # Express API server
├── 📄 package.json              # npm package config
├── 📄 install.sh                # Universal installer
├── 📂 debian/                   # Debian packaging
├── 📄 PKGBUILD                  # Arch Linux AUR
├── 📄 ny-cli.spec               # RPM spec
└── 📄 LICENSE                   # MIT License



🤝 Contributing


Contributions are welcome! Here's how you can help:

# 1. Fork the repository

# 2. Create your feature branch
git checkout -b feature/amazing-feature

# 3. Commit your changes
git commit -m "feat: add amazing feature"

# 4. Push to the branch
git push origin feature/amazing-feature

# 5. Open a Pull Request



🔗 Links & Resources


🌐 Website nyanime.qzz.io
🖥️ Web App github.com/AnjishnuSengupta/nyanime
📦 npm @anjishnusengupta/ny-cli
📚 AllAnime allanime.day
🎨 Jikan API jikan.moe



📜 License


This project is licensed under the MIT License.

Use freely. Give credit. Build cool things. 💜




⚠️ Disclaimer

This is an educational project. No video content is hosted on our servers.
All streams are fetched from third-party sources. Use responsibly.





"In a world full of filler episodes, be the main arc."


Made with 💜 by Anjishnu

Instagram


⭐ Star this repo if you found it useful!

About

NY-CLI is a fast and beautiful terminal-based anime streaming client powered by nyanime.tech. Search, discover, and stream anime directly from your command line with support for mpv/vlc, trending lists, and watch history — no setup required.

Topics

Resources

License

Stars

Watchers

Forks

Contributors