A simple, cute command-line tool for downloading files and websites.
- 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
npm install -g @everm4iva/downsrc# 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.comdownsrc <url>- Download from URLdownsrc help- Show help with examplesdownsrc details- Show package informationdownsrc cat- Display cat symbol
downsrc set <var> <value>- Change configurationdownsrc action add <name> <command>- Add custom actiondownsrc action remove <name>- Remove actiondownsrc action list- List all actionsdownsrc run <action>- Run custom action
-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)
--hr- Generate HTML report--hh- Host interactive HTML UI in browser--dr- Show download quality report-d- Include debug.txt in zip
-c- Check link accessibility-v- Check vulnerabilities/security
-y- Yes to all prompts-n- No to all prompts--debug-on- Enable debug mode--debug-off- Disable debug mode
For now.. none, keep exploring on ur own
Documentation is available in the docs folder:
Download and open a file
downsrc -o https://example.com/document.pdfDownload website with time limit
downsrc --tl 60 https://example.com/websiteDownload only specific file types
# Download only PNG images
downsrc --fe png https://example.com/gallery
# Download multiple image formats
downsrc --fe "png & jpg & webp" https://example.com/galleryAdvanced scraping - follow links
# 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/pageFile extension filtering
# 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/documentsComplete workflow
downsrc -z --hr --dr -p ./downloads https://example.com/projectCreate and run custom action
downsrc action add backup "tar -czf backup.tar.gz ./downloads"
downsrc run backupSettings 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- 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
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
Big help! thank u so much
minimist- Argument parsingchalk- Terminal colorscli-progress- Progress barsarchiver- Zip creationcheerio- HTML parsingp-limit- Concurrency controlprompts- User inputopen- Open files
Free to do something. in fact.. free to do anything, did u read the LICENSE file??