npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@anjishnusengupta/ny-cli

v6.4.1

Published

Beautiful terminal anime streaming CLI with Ink UI, artwork display, and cloud sync

Readme

✦ NY-CLI

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

Version npm License Stars Instagram

🌐 NyAnime Website   📦 Releases   🐛 Report Bug


🎯 What's New in v6.4.1

  • 🛡️ Bulletproof Stream Retries: Implemented aggressive, fast-failing network retries across all scrapers to punch through Cloudflare blocks and keep streams flowing without dropping to torrents.
  • ✨ Third Provider (Owais): Integrated the Owais API as a third concurrent direct streaming provider alongside HiAnime and Anipub.
  • 📝 MPV Subtitle Fix: Fixed a bug where MPV failed to load subtitle files for direct streams. Subtitles now pass through cleanly.
  • ⚡ Concurrent Provider Racing: Built a highly optimized Promise.any() waterfall that runs multiple providers simultaneously and pipes the fastest resolver back to the user, ensuring instant video playback.
  • ✨ Native HiAnime Provider: Implemented a pure JavaScript decoder to bypass HiAnime's (ZokoAnime) stream obfuscation, pulling raw .m3u8 video streams and .vtt subtitles directly into the terminal!
  • 🗑️ AllAnime Deprecation: Removed the heavily obfuscated and defunct AllAnime provider.

✨ 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       │
│                                                                 │
╰─────────────────────────────────────────────────────────────────╯

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

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

| 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) | | ffmpeg | ✅ | Required for episode downloads | | 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:

🐧 Ubuntu / Debian

sudo apt install mpv ffmpeg

🎩 Fedora / RHEL

sudo dnf install mpv ffmpeg

🔷 Arch Linux

sudo pacman -S mpv ffmpeg

🍎 macOS

brew install mpv ffmpeg

Optional: Install Bun for best UI

curl -fsSL https://bun.sh/install | bash
# 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
yay -S ny-cli
# or
paru -S ny-cli

Usage

# Interactive mode (recommended)
ny-cli

# For help
ny-cli -h

🌐 Proxy & Relay Configuration

If you're experiencing issues connecting to AniList or Jikan (common in India and other regions where Cloudflare applies regional blocks), you have several options:

Option 1: Proxy via Environment Variable

Point ny-cli at any HTTP/HTTPS proxy you trust (commercial VPN's proxy endpoint, personal relay, etc.):

# Dedicated ny-cli proxy (highest priority)
NY_PROXY=http://your-proxy:8080 ny-cli

# Or use standard proxy environment variables
HTTPS_PROXY=http://your-proxy:8080 ny-cli
HTTP_PROXY=http://your-proxy:8080 ny-cli

When a proxy is set, it takes precedence over the built-in Cloudflare DNS override.

Option 2: Self-Hosted Cloudflare Worker Relay

The relay/ directory contains a Cloudflare Worker that relays AniList and Jikan requests through Cloudflare's own network, bypassing regional blocks. It's narrowly scoped — it only relays to AniList and Jikan, not a general open proxy.

# Deploy (requires a free Cloudflare account + wrangler CLI)
cd relay && npx wrangler deploy

# Then set the relay URL
NY_RELAY_URL=https://ny-cli-relay.your-subdomain.workers.dev ny-cli

The relay is a safety net: ny-cli always tries the direct request first and only falls back to the relay if the direct request fails.

Important: Do not share your relay URL publicly. If many users share the same relay endpoint, it will itself get blocked. Each user/team should deploy their own.


🎮 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


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

Made with 💜 by Anjishnu

Instagram

⭐ Star this repo if you found it useful!