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

@tanzimur/tudl

v0.1.0

Published

TUDL — Nothing Universal Downloader. Windows-native yt-dlp/gallery-dl frontend with a Nothing OS dot-matrix TUI, format picker with file-size estimates, themes, cookies, aria2c multi-thread and bulk queue.

Readme

████████╗██╗ ██╗██████╗ ██╗ TUDL

╚══██╔══╝██║ ██║██╔══██╗██║ Nothing Universal Downloader

██║ ██║ ██║██║ ██║██║ Windows-native · Nothing OS look

██║ ██║ ██║██║ ██║██║

██║ ╚██████╔╝██████╔╝███████╗

╚═╝ ╚═════╝ ╚═════╝ ╚══════╝

TUDL is a Windows-native universal media downloader with a Nothing OS dot-matrix TUI. It merges the best of two worlds:

  • from the WSL downloader: gallery-dl photo mode, bulk queue, MP3 320k + album art, M4A, subtitles, aria2c 8x multi-thread, deno runtime, cookies.txt auth, engine self-update
  • from yoinks: zero-install (npx), full-screen scrollback-safe TUI, format picker with estimated file sizes, adaptive themes (auto/light/dark + the Nothing red), mouse-friendly layout, scriptable flags

Install

npm install -g tudl

Or try it without installing anything (Node 18+ required):

npx tudl

Everything else is automatic: on first run TUDL fetches a standalone yt-dlp binary to ~/.tudl/bin (no Python needed), and detects ffmpeg, aria2c, deno, gallery-dl and your cookies.txt when present.

Usage

tudl                     # interactive — paste one or many links
tudl https://youtu.be/…  # straight to the format picker
tudl url1 url2 url3      # bulk queue — pick a format once, run all
tudl --best <url>        # skip the picker, grab best quality
tudl --mp3 <url>         # 320k MP3 + embedded album art
tudl --m4a <url>         # M4A audio
tudl --subs <url>        # video + subtitles
tudl --photos <url>      # Instagram/pinterest-style gallery mode (gallery-dl)
tudl --list <url>        # print formats with sizes, no download
tudl --update            # update yt-dlp / gallery-dl

Options: --theme auto|light|dark|nothing, -o/--output <dir> (default: ~/Downloads/Media), -h, -v.

TUI

  • Full-screen, centered, restores your scrollback on exit
  • Format picker shows estimated file sizes per resolution
  • ↑/↓ or j/k navigate, 1-9 pick, esc back, ^c quit
  • ^t cycles themes: auto (follows your terminal) → lightdarknothing (the red-on-black brand look)
  • Bulk paste: multiple links in one go (space/newline separated)

Engines & auth

| Engine | Used for | When | |-------------|-----------------------|-----------------------------------------| | yt-dlp | video/audio/subs | system install or auto-fetched binary | | gallery-dl | photo galleries | system install (pip install gallery-dl) | | aria2c | 8x parallel downloads | if on PATH | | deno | YouTube signature JS | if on PATH | | ffmpeg | MP3/M4A conversion | required for audio modes | | cookies.txt | logged-in content | newest of ~/.config/yt-dlp/cookies.txt, Downloads/Media/cookies.txt, ~/cookies.txt |

Security notes

  • cookies.txt is never uploaded anywhere — passed locally to yt-dlp only
  • the auto-fetched yt-dlp binary comes from the official yt-dlp GitHub releases page; verify with the upstream checksums if you care
  • .gitignore excludes cookies.txt and media files

Roadmap

  • [ ] clickable elements (Ink pointer support) — keyboard nav is done
  • [ ] playlist-aware format ladder
  • [ ] ytdl:// protocol handler registration for browsers
  • [ ] progress ETA / speed line
  • [ ] per-task format override in bulk mode

License

MIT