Options Reference
Complete reference of all Smippo command-line options. Options can be used with the main capture command.
Core Options
Output
-o, --output <dir> # Output directory (default: ./site)
Specify where to save the captured site:
smippo https://example.com --output ./my-mirror
smippo https://example.com -o ~/archives/example
Depth
-d, --depth <n> # Recursion depth (default: 0)
Control how many levels deep to follow links:
smippo https://example.com --depth 0 # Single page only
smippo https://example.com --depth 1 # Page + linked pages
smippo https://example.com --depth 3 # 3 levels deep
No Crawl
--no-crawl # Disable link following (same as -d 0)
Capture only the specified page:
smippo https://example.com --no-crawl
Dry Run
--dry-run # Show what would be captured
Preview what would be captured without downloading:
smippo https://example.com --depth 2 --dry-run
Scope Options
Scope
-s, --scope <type> # Link scope (default: domain)
Control which links to follow:
| Value | Description |
|---|---|
subdomain | Same subdomain only (www.example.com) |
domain | Same domain (example.com + subdomains) |
tld | Same TLD (not recommended) |
all | All links (use with caution!) |
smippo https://www.example.com --scope subdomain
smippo https://www.example.com --scope domain
smippo https://www.example.com --scope all --depth 2
Stay in Directory
--stay-in-dir # Only follow links in same directory
Restrict crawling to the current directory tree:
smippo https://example.com/docs/ --stay-in-dir
External Assets
--external-assets # Capture assets from external domains
Include CDN resources, fonts, and external assets:
smippo https://example.com --external-assets
Filter Options
Include/Exclude Patterns
-I, --include <glob> # Include URLs matching pattern
-E, --exclude <glob> # Exclude URLs matching pattern
Filter URLs with glob patterns:
smippo https://example.com --include "*.html" --include "*.css"
smippo https://example.com --exclude "*tracking*" --exclude "*ads*"
MIME Type Filters
--mime-include <type> # Include MIME types
--mime-exclude <type> # Exclude MIME types
Filter by content type:
smippo https://example.com --mime-include "image/*"
smippo https://example.com --mime-exclude "video/*"
Size Filters
--max-size <size> # Maximum file size
--min-size <size> # Minimum file size
Filter by file size (supports B, KB, MB, GB):
smippo https://example.com --max-size 5MB
smippo https://example.com --min-size 1KB --max-size 10MB
Browser Options
Wait Strategy
--wait <strategy> # Wait strategy (default: networkidle)
When to consider a page "loaded":
| Value | Description |
|---|---|
networkidle | No network requests for 500ms |
load | Full page load event |
domcontentloaded | DOM content loaded |
smippo https://example.com --wait networkidle
smippo https://example.com --wait domcontentloaded
Wait Time
--wait-time <ms> # Additional wait time (default: 0)
Extra time to wait after load condition:
smippo https://example.com --wait-time 5000
Timeout
--timeout <ms> # Page load timeout (default: 30000)
Maximum time to wait for page load:
smippo https://example.com --timeout 60000
User Agent
--user-agent <string> # Custom user agent
Set a custom user agent string:
smippo https://example.com --user-agent "MyBot/1.0"
Viewport
--viewport <WxH> # Viewport size (default: 1920x1080)
Set the browser viewport dimensions:
smippo https://example.com --viewport 1280x720
smippo https://example.com --viewport 375x667
Device Emulation
--device <name> # Emulate device
Emulate a specific device:
smippo https://example.com --device "iPhone 13"
smippo https://example.com --device "iPad Pro"
smippo https://example.com --device "Pixel 5"
Network Options
Proxy
--proxy <url> # Proxy server URL
Route requests through a proxy:
smippo https://example.com --proxy http://proxy.example.com:8080
Cookies
--cookies <file> # Load cookies from JSON file
Use saved cookies for authentication:
smippo https://example.com --cookies cookies.json
Headers
--headers <json> # Custom headers as JSON
Add custom HTTP headers:
smippo https://example.com --headers '{"Authorization": "Bearer token"}'
Capture Auth
--capture-auth # Interactive authentication
Open a browser window for manual login:
smippo https://private.example.com --capture-auth
Output Options
Structure
--structure <type> # Output structure (default: original)
How to organize captured files:
| Value | Description |
|---|---|
original | Preserve URL path structure |
flat | All files in one directory |
domain | Organized by domain |
smippo https://example.com --structure original
smippo https://example.com --structure flat
HAR File
--har # Generate HAR file (default)
--no-har # Disable HAR generation
Control HTTP Archive file generation:
smippo https://example.com --no-har
Screenshot
--screenshot # Take screenshot of each page
Capture a screenshot of every page:
smippo https://example.com --screenshot
--pdf # Save PDF of each page
Generate PDF of every captured page:
smippo https://example.com --pdf
Static Mode
--static # Remove scripts for offline viewing
Strip JavaScript for true offline viewing:
smippo https://example.com --static
Inline CSS
--inline-css # Inline CSS into HTML
Embed CSS directly in HTML for single-file output:
smippo https://example.com --inline-css
Performance Options
Workers
-w, --workers <n> # Parallel workers (default: 8)
Number of simultaneous browser tabs:
smippo https://example.com --workers 4
smippo https://example.com --workers 16
Max Pages
--max-pages <n> # Maximum pages to capture
Limit total number of pages:
smippo https://example.com --depth 10 --max-pages 100
Max Time
--max-time <seconds> # Maximum total time
Limit total capture time:
smippo https://example.com --max-time 300
Rate Limit
--rate-limit <ms> # Delay between requests
Throttle requests to be polite:
smippo https://example.com --rate-limit 1000
Robots Options
--ignore-robots # Ignore robots.txt
--respect-robots # Respect robots.txt (default)
Control robots.txt handling:
smippo https://example.com --ignore-robots
Cache Options
--no-cache # Don't use cache
Disable caching for fresh downloads:
smippo https://example.com --no-cache
Logging Options
-v, --verbose # Verbose output
-q, --quiet # Minimal output
--log-file <path> # Write logs to file
--debug # Debug mode (visible browser)
Control output verbosity:
smippo https://example.com --verbose
smippo https://example.com --quiet
smippo https://example.com --log-file capture.log
smippo https://example.com --debug
Interaction Options
--no-interaction # Non-interactive mode (for CI)
-y, --yes # Skip prompts, use defaults
For automated/scripted usage:
smippo https://example.com -y
smippo https://example.com --no-interaction
Next Steps
- Filtering — Advanced filtering techniques
- Scope Control — Understand scope options
- Performance — Optimize capture speed