Smippo
Command-line website copier and scraper. Create complete offline mirrors with all assets, styles, and dynamic content preserved. Perfect for website duplication, archiving, and offline browsing.
Install / Use
/learn @pouyanafisi/SmippoQuality Score
Category
Development & EngineeringSupported Platforms
README
S.M.I.P.P.O. (Structured Mirroring of Internet Pages and Public Objects) is a command-line website copier and scraper that captures websites exactly as they appear in your browser. Create complete offline mirrors with all assets, styles, and dynamic content preserved. Perfect for website duplication, archiving, and offline browsing.
📚 View complete documentation →
Quick Start
Install globally:
npm install -g smippo
Capture a single page:
smippo https://example.com
Mirror a site (3 levels deep):
smippo https://example.com --depth 3
Or use without installing:
npx smippo https://example.com
Commands
Smippo provides several commands for different use cases:
smippo <url>— Capture and mirror websites with full fidelitysmippo capture <url>— Take screenshots of web pagessmippo serve <directory>— Serve captured sites locallysmippo continue— Resume an interrupted capturesmippo update— Update an existing mirror
Run smippo with no arguments to start the interactive guided mode.
Features
- 🚀 Vacuum Architecture — Parallel workers consume sites rapidly
- 📸 Complete Fidelity — Captures pages exactly as rendered, including CSS-in-JS, dynamic content, and lazy-loaded images
- 🎯 Smart Filtering — Filter by URL patterns, MIME types, and file sizes. Respects robots.txt
- 🌐 Built-in Server — Serve captured sites locally with directory browsing
- 📊 HAR Files — Generates HTTP Archive files for debugging and replay
- 💻 Programmatic API — Use Smippo in your Node.js applications
Documentation
For complete documentation, guides, and API reference, visit smippo.com:
- Installation Guide — Detailed installation instructions
- Commands Reference — All available commands and options
- Configuration — Filtering, scope control, performance tuning
- Guides — Output structure, link rewriting, troubleshooting
- Programmatic API — Use Smippo in your Node.js code
- Examples — Real-world use cases
Requirements
- Node.js 18 or later
- Chromium (automatically downloaded on first install)
Contributing
Contributions are welcome! Whether it's bug reports, feature requests, or pull requests — all contributions help make Smippo better.
Please read our Contributing Guide for details on development setup, code style guidelines, and the pull request process.
Quick start:
git clone https://github.com/pouyanafisi/smippo.git
cd smippo
npm install
npm test
License
MIT — feel free to use this in your own projects.
Acknowledgments
- Built with Playwright for reliable browser automation
- CLI powered by Commander.js and @clack/prompts
- Inspired by classic website copiers like HTTrack
