Enterprise-grade web automation platform powered by Puppeteer
Features β’ Quick Start β’ Architecture β’ API Reference β’ Examples
Snap Kit is a production-ready web automation platform that transforms how you handle web scraping, screenshot generation, and SEO optimization. Built on the powerful Blocklet ecosystem, it delivers enterprise-grade reliability with developer-friendly APIs.
- Zero Configuration: Deploy instantly with Docker or Blocklet Server
- Production Scale: Handle thousands of concurrent requests with built-in queuing
- SEO Powerhouse: Pre-render SPAs for perfect search engine indexing
- Developer Experience: Modern TypeScript APIs with comprehensive documentation
- Cost Effective: Self-hosted solution with no per-request fees
- High-Fidelity Screenshots: Capture pixel-perfect web page snapshots
- Smart Content Extraction: Extract structured data with advanced parsing
- Batch Processing: Process multiple URLs efficiently with queue management
- Sitemap Crawling: Automatically discover and crawl entire websites
- SEO Pre-rendering: Generate search-engine-friendly HTML for SPAs
- Custom Headers & Cookies: Full control over request customization
- Puppeteer Integration: Latest Chrome automation capabilities
- SQLite Database: Efficient data storage with Sequelize ORM
- React 19.1 UI: Modern, responsive web interface
- Express 4.21 API: RESTful endpoints with TypeScript
- Blocklet Platform: One-click deployment and scaling
This monorepo contains three production-ready modules:
Location: blocklets/snap-kit
The main application featuring:
- React Frontend: Modern UI for managing crawling tasks
- Express API: RESTful endpoints for automation
- DID Authentication: Secure access control
- Real-time Dashboard: Monitor crawling progress
Location: packages/crawler
Core automation engine with:
- Puppeteer Integration: Latest Chrome automation
- Database Management: SQLite with migrations
- Queue System: Efficient batch processing
- Scheduled Tasks: Automated crawling workflows
Location: packages/middleware
Express middleware for:
- Pre-rendering: Generate static HTML for SPAs
- Cache Management: Intelligent caching strategies
- Search Engine Optimization: Perfect SEO for dynamic content
- Node.js 18+
- pnpm (recommended) or npm
- Docker (optional)
# Clone the repository
git clone https://github.com/blocklet/snap-kit.git
cd snap-kit
# Install dependencies
pnpm install
# Start development environment
pnpm dev# Build and run with Docker
docker run -p 3000:3000 arcblock/snap-kit# Deploy to Blocklet Server
npm run deployβββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββ
β β β β β β
β React Frontend βββββΆβ Express API βββββΆβ Crawler Engine β
β β β β β β
β β’ Modern UI β β β’ RESTful API β β β’ Puppeteer β
β β’ Real-time β β β’ Authentication β β β’ Queue System β
β β’ Dashboard β β β’ Rate Limiting β β β’ SQLite Storage β
β β β β β β
βββββββββββββββββββββββ βββββββββββββββββββββββ βββββββββββββββββββββββ
- Frontend: React 19.1, TypeScript, Vite 7.0
- Backend: Express 4.21, TypeScript, DID Auth
- Database: SQLite with Sequelize ORM
- Automation: Puppeteer, @blocklet/puppeteer
- Deployment: Blocklet Platform, Docker
POST /api/screenshot
{
"url": "https://example.com",
"options": {
"width": 1920,
"height": 1080,
"fullPage": true
}
}POST /api/extract
{
"url": "https://example.com",
"selectors": {
"title": "h1",
"description": "meta[name='description']"
}
}POST /api/crawl/batch
{
"urls": ["https://site1.com", "https://site2.com"],
"options": {
"priority": "high",
"schedule": "immediate"
}
}Monitor competitor websites and track changes automatically.
Pre-render SPAs for perfect search engine indexing.
Extract structured data from websites for business intelligence.
Generate screenshots for visual regression testing.
Create automated social media preview generation.
# Development
pnpm dev # Start all services
pnpm build:packages # Build all packages
pnpm lint # Lint all packages
pnpm lint:fix # Fix lint issues
# Snap Kit Blocklet
cd blocklets/snap-kit
npm run dev # Development server
npm run bundle # Production build
npm run deploy # Deploy to Blocklet Serversnap-kit/
βββ blocklets/snap-kit/ # Main Blocklet application
β βββ src/ # React frontend
β βββ api/ # Express API
β βββ public/ # Static assets
βββ packages/
β βββ crawler/ # Core crawler engine
β βββ middleware/ # SEO middleware
βββ scripts/ # Build and utility scripts
- DID Authentication: Secure decentralized identity
- Rate Limiting: Prevent abuse and ensure fair usage
- Input Validation: Comprehensive request sanitization
- CORS Configuration: Secure cross-origin requests
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see LICENSE for details.
- π§ Email: [email protected]
- π Issues: GitHub Issues