Skip to content

Releases: burhancodes/webss

WebSS API v1.0.5

05 Aug 13:06
2252c87

Choose a tag to compare

Released: August 5, 2025

  • Split main.py into focused modules in src/core/ directory
  • Enhanced image loading for YouTube and The Verge
  • Added block_images parameter for better compatibility
  • Improved code organization and maintainability

Docker Images

  • ghcr.io/burhancodes/webss:v1.0.5
  • ghcr.io/burhancodes/webss:latest

Installation

docker pull ghcr.io/burhancodes/webss:v1.0.5

WebSS API v1.0.4

05 Aug 12:18
09be44d

Choose a tag to compare

Released: August 5, 2025

New Features

  • Smart waiting for heavy sites (YouTube, Facebook, Reddit)
  • 4 new API parameters: smart_wait, wait_for_network_idle, aggressive_wait, extra_wait_time
  • Framework detection for React/Angular/Vue
  • Progressive retry system with 6 strategies

Performance

  • Better timeout handling and error recovery
  • Improved resource blocking

Other

  • Simplified README
  • Moved API docs to separate API.md file
  • Default delay increased to 8000ms

Docker Images

  • ghcr.io/burhancodes/webss:v1.0.4
  • ghcr.io/burhancodes/webss:latest

Installation

docker pull ghcr.io/burhancodes/webss:v1.0.4

Full Changelog: v1.0.3...v1.0.4

WebSS API v1.0.3

04 Aug 18:57
0f35f4e

Choose a tag to compare

Released: August 5, 2025

🚀 Enhanced navigation reliability with multi-strategy retry logic and improved bot detection evasion

🆕 New Features

  • Multi-Strategy Navigation System: Implemented robust page loading with 4 different wait strategies:
    • networkidle - Wait for network activity to cease
    • domcontentloaded - Wait for DOM to be fully loaded
    • load - Wait for all resources to load
    • commit - Wait for navigation to commit
  • Ultimate Fallback Navigation: Added final fallback attempt with no wait conditions and 10-second timeout for extremely problematic sites
  • Enhanced Bot Detection Evasion: Added advanced browser arguments to bypass detection:
    • --disable-blink-features=AutomationControlled - Hide automation indicators
    • --disable-component-update - Prevent component updates that may reveal automation
    • --disable-component-extensions-with-background-pages - Disable background extensions
    • Additional stealth mode improvements

🔧 Technical Improvements

  • Intelligent Timeout Management: Dynamic timeout adjustment for retry attempts (50% reduction on retries)
  • Enhanced Retry Logic: Up to 2 retry attempts with 4 strategies each (8 total attempts before final fallback)
  • Comprehensive Navigation Logging: Detailed logging for each navigation attempt with strategy, attempt number, and timeout information
  • Improved Error Recovery: Better handling of navigation failures with graceful degradation
  • Updated API Documentation: Refined delay parameter description to reflect current behavior

🐛 Bug Fixes

  • Navigation Timeout Resolution: Significantly improved success rate for sites that previously failed to load
  • Heavy Site Compatibility: Better handling of resource-intensive websites with multiple fallback strategies
  • Error Messaging: More informative error messages when all navigation attempts fail

📈 Performance Improvements

  • Faster Failure Detection: Reduced timeout on retry attempts for quicker failover
  • Optimized Loading Strategies: Prioritized loading strategies for better success rates
  • Resource Management: Improved cleanup and error handling for failed navigation attempts

Docker Images

  • ghcr.io/burhancodes/webss:v1.0.3
  • ghcr.io/burhancodes/webss:latest

Installation

docker pull ghcr.io/burhancodes/webss:v1.0.3

WebSS API v1.0.2

04 Aug 18:26
43db111

Choose a tag to compare

Released: August 4, 2025%0A%0A🚀 Improved performance and reliability for heavy websites with enhanced blocking and fallback strategies%0A%0A### 🆕 New Features%0A- Facebook Domain Unblocked: Removed Facebook from blocked domains to allow proper loading of Facebook widgets and social media content%0A- Enhanced Ad/Tracker Blocking: Added comprehensive blocking for analytics and tracking domains including:%0A - scorecardresearch.com, quantserve.com, chartbeat.com, parsely.com%0A - krxd.net, adsystem.com, ads.yahoo.com, advertising.com%0A - hotjar.com, fullstory.com, mouseflow.com%0A- Pattern-Based Blocking: Added intelligent blocking for URLs containing 'analytics', 'tracking', 'advertisement', 'doubleclick'%0A%0A### 🔧 Technical Improvements%0A- Fallback Navigation Strategy: Implemented robust timeout handling with automatic fallback from networkidle to domcontentloaded when pages timeout%0A- Enhanced Error Handling: Better logging and recovery for slow-loading websites like The Verge%0A- Improved Blocking Performance: More aggressive resource blocking for faster page loading%0A- Dual Navigation Modes: Applied fallback strategy to both base64 and binary screenshot endpoints%0A%0A### 🐛 Bug Fixes%0A- Timeout Resolution: Fixed timeout issues with heavy websites that previously failed to load within 30 seconds%0A- Facebook Content Loading: Facebook widgets, login buttons, and social media elements now load correctly in screenshots%0A%0A---%0A


Docker Images

  • ghcr.io/burhancodes/webss:v1.0.2
  • ghcr.io/burhancodes/webss:latest

Installation

docker pull ghcr.io/burhancodes/webss:v1.0.2

1.0.1

04 Aug 12:15
baa5638

Choose a tag to compare

Version 1.0.1 - Heavy Site Optimization

Released: August 4, 2025

🚀 Improved support for heavy sites with automatic delay optimization

🆕 New Features

  • Automatic Delay for Heavy Sites: Added 5-second minimum delay before screenshots to ensure sites like YouTube fully load
  • Smart Delay Logic: Uses maximum of user-specified delay or default minimum (5000ms)
  • Enhanced Logging: Detailed logging of applied delays for debugging
  • Configurable Default: New DEFAULT_DELAY environment variable for customization

🔧 Technical Improvements

  • Updated configuration system with new default_delay setting
  • Enhanced delay application in both base64 and binary response paths
  • Improved API documentation with delay behavior explanation
  • Updated setup scripts and environment templates

1.0.0

04 Aug 11:30
c88d9d8

Choose a tag to compare

WebSS Release Notes

Version 1.0.0 - Initial Release

Released: August 4, 2025

🎉 First stable release of WebSS - Website Screenshot API

WebSS is a Python API for capturing website screenshots using Playwright, built with FastAPI for high performance and reliability.

🚀 Live Demo


✨ Key Features

Screenshot Capabilities

  • Multiple Output Formats: PNG, JPEG, WebP with quality control
  • Flexible Output: Base64 encoded strings or raw binary data
  • Full Page Screenshots: Capture entire page content beyond viewport
  • Element-Specific Screenshots: Target specific CSS selectors
  • Mobile Viewport Support: Device simulation with touch and scale factor
  • Custom Viewport Sizes: Configurable from 320x240 to 3840x2160 pixels

Advanced Browser Control

  • Custom User Agents: Simulate different browsers and devices
  • HTTP Headers: Set custom headers for authentication or API keys
  • Cookie Management: Set cookies for authenticated sessions
  • JavaScript Control: Configurable JavaScript execution
  • Animation Disabling: Speed up captures by disabling CSS animations
  • Network Timing: Wait for network idle or custom delays (0-30s)

Performance & Security

  • Built-in Ad Blocking: Block ads, trackers, and unnecessary resources
  • Rate Limiting: Configurable request throttling (default: 10 req/sec)
  • Concurrent Control: Manage multiple browser instances
  • Memory Optimization: In-memory processing, no file storage
  • SSL Support: Handle HTTPS errors gracefully
  • Timeout Management: Configurable page load timeouts (5s-120s)

Production Features

  • FastAPI Framework: High-performance async API with automatic OpenAPI docs
  • Structured Logging: JSON-formatted logs with request tracing
  • Health Monitoring: Detailed health checks including browser status
  • CORS Support: Configurable cross-origin resource sharing
  • Environment Configuration: Full .env support with Pydantic validation
  • Docker Ready: Multi-architecture container support (amd64/arm64)
  • CI/CD Pipeline: Automated builds and deployments via GitHub Actions

🔧 Technical Specifications

API Endpoints

  • POST /screenshot - Capture website screenshots
  • GET / - Basic health check
  • GET /health - Detailed health check with browser status

Supported Parameters

Parameter Type Default Range Description
url string required HTTP/HTTPS Target website URL
width integer 1920 320-3840 Viewport width
height integer 1080 240-2160 Viewport height
format string "png" png/jpeg/webp Image format
quality integer null 1-100 JPEG quality
full_page boolean false - Capture full page
delay integer 0 0-30000 Wait time (ms)
timeout integer 30000 5000-120000 Load timeout (ms)
mobile boolean false - Mobile simulation
block_ads boolean true - Block ads/trackers
output_format string "base64" base64/binary Response format

Browser Engine

  • Playwright: Latest Chromium with full JavaScript support
  • Security: Sandboxed execution, no file system access
  • Performance: Optimized browser arguments for container environments

📦 Distribution

Docker Images

  • Registry: GitHub Container Registry (GHCR)
  • Base Image: ghcr.io/burhancodes/webss:latest
  • Architectures: linux/amd64, linux/arm64
  • Size: ~800MB (includes Chromium browser)

Python Package

  • Requirements: Python 3.8+
  • Dependencies: FastAPI, Playwright, Uvicorn, Pydantic, Pillow
  • Installation: pip install -r requirements.txt && playwright install chromium

🚀 Deployment Options

Cloud Platforms

  • Render (Live demo deployment)
  • Railway
  • Fly.io
  • Google Cloud Run
  • AWS App Runner
  • DigitalOcean App Platform

Container Orchestration

  • Docker Compose
  • Kubernetes
  • Docker Swarm

Local Development

  • Virtual Environment
  • Development Scripts
  • Auto-reload Support

🧪 Testing & Quality

Test Coverage

  • ✅ Basic screenshot functionality
  • ✅ Multiple output formats (PNG, JPEG, WebP)
  • ✅ Binary and base64 responses
  • ✅ Health check endpoints
  • ✅ Error handling and validation
  • ✅ Mobile viewport simulation
  • ✅ Element-specific screenshots
  • ✅ Custom headers and cookies

Code Quality

  • Type Hints: Full typing support with mypy
  • API Validation: Pydantic models for request/response validation
  • Error Handling: Comprehensive exception handling
  • Documentation: Auto-generated OpenAPI/Swagger docs

🔒 Security Features

Input Validation

  • URL validation (HTTP/HTTPS only)
  • Parameter range validation
  • CSS selector sanitization
  • Header and cookie validation

Browser Security

  • Sandboxed browser execution
  • No file system access
  • Blocked external downloads
  • Disabled plugins and extensions

Container Security

  • Non-root user execution
  • Minimal attack surface
  • Regular security scanning in CI/CD

📖 Documentation & Support

Resources

  • README: Comprehensive setup and usage guide
  • API Docs: Interactive Swagger/OpenAPI documentation
  • Python Client: Both async and sync client libraries included
  • Examples: Real-world use cases and code samples

Support Channels


🛠️ Known Limitations

  1. Memory Usage: ~200MB per concurrent browser instance
  2. Browser Startup: Initial cold start may take 2-3 seconds
  3. Resource Blocking: Ad blocking rules are predefined (not customizable)
  4. File Storage: No persistent storage - all processing in-memory

🔮 Roadmap

Planned Features

  • 🌍 Internationalization support
  • 🔌 Plugin system for custom processing
  • 📊 Metrics and monitoring endpoints
  • 🚀 Performance optimizations
  • 📝 Enhanced documentation
  • 🧪 Additional test coverage

🙏 Acknowledgments

  • Playwright Team: For the excellent browser automation framework
  • FastAPI: For the high-performance web framework
  • Render: For hosting the live demo
  • Contributors: All community members who provided feedback

📄 License

MIT License - see LICENSE file for details.


Made with ❤️ by Burhanverse

WebSS v1.0.0 provides a modern solution for website screenshot automation with a focus on performance, reliability, and ease of use.