WebFreeze is a powerful tool that allows you to capture and serve static versions of dynamic web pages. It's perfect for archiving, offline viewing, or preserving specific site versions.
- Captures entire web pages including stylesheets, scripts, and images
- Saves resources locally for offline access
- Serves local files to recreate the page exactly as captured
- Supports both download and block modes
- Built with Puppeteer for robust web scraping capabilities
- Clone this repository:
git clone https://github.com/yourusername/webfreeze.git - Navigate to the project directory:
cd webfreeze - Install dependencies:
npm install
-
Open
webfreeze.jsand set your configuration:SITE_URL: The URL of the website you want to captureSAVE_DIRECTORY: The directory where files will be savedisDownloadMode: Set totruefor initial capture,falsefor serving local files
-
Run the script:
npm start -
The script will open a browser window. When in download mode, it will capture the site. In block mode, it will serve the local version.
-
Close the browser window when done, or let it remain open for inspection.
isDownloadMode:true: Downloads and saves web resourcesfalse: Serves local files and blocks new requests
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check issues page.
Project Link: https://github.com/pudochu/webfreeze