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.js
and set your configuration:SITE_URL
: The URL of the website you want to captureSAVE_DIRECTORY
: The directory where files will be savedisDownloadMode
: Set totrue
for initial capture,false
for 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