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

@everm4iva/downsrc

v1.2.0

Published

Dude.. i just want to download my stuff, ugh...

Readme

Start UsingDocumentationVersionsCredits

☆-Features

  • Download single files or entire webpages with the resources intact!
  • Deep scraping - Follow same-domain links recursively
  • File extension filtering - Download only specific file types
  • Colorful terminal interface with progress bars
  • Multiple download flags and options
  • Zip downloaded files automatically
  • Generate HTML reports
  • Custom actions for automation
  • Configurable settings
  • Funny commands cat, sheep, bee

☆-Installation

npm install -g @everm4iva/downsrc

☆-Start using it!

# Download a file
downsrc https://example.com/file.zip

# Download a webpage with all resources (just that page)
downsrc https://example.com/page.html

# Download and zip
downsrc -z https://example.com/website

# Download with quality report
downsrc --dr https://example.com/files

# Download only specific file types
downsrc --fe "png & jpg" https://example.com/gallery

# Advanced scraping - follow 5 links on same domain
downsrc --as 5 https://example.com/website

# Combine filters: scrape 3 links, only download PDFs
downsrc --as 3 --fe pdf https://example.com/docs

# Check if link is accessible
downsrc -c https://example.com/file.zip

# Check security/certificates
downsrc -v https://example.com

☆-Available Commands

Basic Usage

  • downsrc <url> - Download from URL
  • downsrc help - Show help with examples
  • downsrc details - Show package information
  • downsrc cat - Display cat symbol

Settings

  • downsrc set <var> <value> - Change configuration
  • downsrc action add <name> <command> - Add custom action
  • downsrc action remove <name> - Remove action
  • downsrc action list - List all actions
  • downsrc run <action> - Run custom action

Flags

Download Options

  • -o - Open file after download
  • -z - Zip files after download
  • -p <path> - Specify download path
  • --tl <seconds> - Set time limit
  • --ms <mb> - Maximum file size (skip)
  • --mss <mb> - Maximum file size (pause and ask)
  • --fe <extensions> - Filter by file extension (e.g., png & jpg & webp)
  • --as <number> - Advanced scraping - follow N links from the page (same-domain links)

Reports and UI

  • --hr - Generate HTML report
  • --hh - Host interactive HTML UI in browser
  • --dr - Show download quality report
  • -d - Include debug.txt in zip

Checking

  • -c - Check link accessibility
  • -v - Check vulnerabilities/security

Automation

  • -y - Yes to all prompts
  • -n - No to all prompts
  • --debug-on - Enable debug mode
  • --debug-off - Disable debug mode

☆-Documentation

For now.. none, keep exploring on ur own

Documentation is available in the docs folder:

☆-Examples

downsrc -o https://example.com/document.pdf
downsrc --tl 60 https://example.com/website
# Download only PNG images
downsrc --fe png https://example.com/gallery
# Download multiple image formats
downsrc --fe "png & jpg & webp" https://example.com/gallery
# Follow and download up to 5 links from the page
downsrc --as 5 https://example.com
# Follow all links (prompts if more than 10)
downsrc --as https://example.com
# Download page and follow up to 3 same-domain links
downsrc -as 3 https://example.com/website
# Download page and follow all same-domain links (will prompt if >10)
downsrc -as https://example.com/website
# Download only the page and resources (root-num = 0)
downsrc -as 0 https://example.com/page
# Download only PNG images
downsrc -fe png https://example.com/gallery
# Download multiple file types
downsrc -fe "png & jpg & webp & svg" https://example.com/images
# Combine with advanced scraping
downsrc -as 5 -fe "pdf & docx" https://example.com/documents
downsrc -z --hr --dr -p ./downloads https://example.com/project
downsrc action add backup "tar -czf backup.tar.gz ./downloads"
downsrc run backup

☆-Configuration

Settings are stored in resources/coolshits.json:

{
    "accentColor": "orange",
    "defaultDownloadDir": "./downloads",
    "maxConcurrentDownloads": 3,
    "defaultZipAfterDownload": false
}

Change settings via command line:

downsrc set maxConcurrentDownloads 5
downsrc set defaultZipAfterDownload true

☆-Architecture

  • Pure JavaScript (no TypeScript or frameworks)
  • Modular and configurable design
  • All variables in coolshits.json
  • Custom actions in actions.json
  • Simple symbols instead of emoji (»*+-#$!)
  • Orange accent color theme

☆-Project Structure

downsrc/
├── bin/
│   └── downsrc.js          # CLI entry point
├── resources/
│   ├── index.js            # Main module
│   ├── logic.js            # Download logic
│   ├── terminal-wowies.js  # Terminal UI
│   ├── fs.js               # File operations
│   ├── settings.js         # Configuration
│   ├── debugger.js         # Logging system
│   ├── server.js           # Web UI server
│   ├── coolshits.json      # Settings file
│   ├── actions.json        # Custom actions
│   ├── commands/           # Command handlers
│   │   ├── zipper.js
│   │   ├── htmlgen.js
│   │   ├── report.js
│   │   ├── check-vul.js
│   │   ├── timelimit.js
│   │   └── actions.js
│   └── symbols/
│       └── cat.txt
├── docs/                   # Documentation
└── package.json

☆-Dependencies

Big help! thank u so much

  • minimist - Argument parsing
  • chalk - Terminal colors
  • cli-progress - Progress bars
  • archiver - Zip creation
  • cheerio - HTML parsing
  • p-limit - Concurrency control
  • prompts - User input
  • open - Open files

☆-Contributing

Free to do something. in fact.. free to do anything, did u read the LICENSE file??

☆-Author - everm4iva (m4iva)