Skip to main content

WebCloner

Clone, update, package & serve websites for offline use – all from one tiny Python script.


Made by Synthfax


Features

Command What it does
clone Recursively downloads a live site to a local folder and rewrites internal links.
run Fires up a lightweight Flask web server that serves a cloned repo.
update Refreshes an existing repo safely by cloning into a temp dir and syncing changes
savewcof Bundles an entire repo into a single .wcof archive (ZIP under the hood).
runwcof Serves a .wcof file directly – no manual extraction required.

Additional features:

  • Progress bars via tqdm so you’re never in the dark.
  • Domain‑locked crawling – stays on the origin host.
  • Depth limiter so you don’t mirror the whole internet by accident.
  • Pure‑Python – works on Windows, macOS & Linux (incl. WSL & Termux).

Requirements

  • Python ≥ 3.8

  • The following packages (installed automatically via pip):

    • requests
    • beautifulsoup4
    • tqdm
    • flask

Installation

python -m pip install webcloner

(Use python3 instead of python if needed.)


Quick Start

# 1. Clone a website (max 2 levels deep)
webcloner clone https://example.com ./offline_copy --depth 2

# 2. Serve the local copy in your browser
webcloner run ./offline_copy 8000

# 3. Package the local copy into a single .wcof file
webcloner savewcof mysite.wcof ./offline_copy

# 4. Serve directly from a .wcof archive
webcloner runwcof mysite.wcof 8080

Command Reference

clone

webcloner clone <url> <output_dir> [--depth N]
  • url – starting URL (with http:// or https://).
  • output_dir – local folder for files.
  • --depth – recursion depth (default 2).

Downloads and rewrites same-domain links for offline use.


run

webcloner run <repo_dir> <port> [--host 0.0.0.0]

Serves the cloned site via Flask.


update

webcloner update <url> <repo_dir> [--depth N]

Safely refreshes the repo by syncing changes from the live site.


savewcof

webcloner savewcof <filename.wcof> <dest_dir> <repo_dir>

Bundles the repo into a .wcof ZIP archive.


runwcof

webcloner runwcof <file.wcof> <port> [--host 0.0.0.0]

Extracts and serves from a .wcof archive on the fly.


FAQ

Question Answer
Why does it download external CDNs? Only same-domain links are crawled. Some CSS/JS may load CDN assets.
Can I clone login-required sites? Not yet. You’d need to add cookies manually in the script.
Is JavaScript executed? No. This is a static grabber, no JS rendering.

License

Licensed under the Apache License 2.0 – see LICENSE for full terms.

Metadata

Release files for webcloner 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for webcloner 1.0.2
File Size Uploaded
webcloner-1.0.2.tar.gz 10.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for webcloner 1.0.2
File Interpreter ABI Platform
webcloner-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 20.8 kB

Release files / webcloner-1.0.2.tar.gz

Download URL webcloner-1.0.2.tar.gz
Size 10.3 kB
Tags Source
SHA-256 checksum
How to use checksums
180789ddc3414d8cc6fb26514ac2518c7b56f9749ab8594d7886b4692756ec31
BLAKE2b-256 checksum
How to use checksums
f78216d115be7e6b31388986d817d5fec9d2b07dda2674acbb8cc5b3c5a92cab
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.4

Release files / webcloner-1.0.2-py3-none-any.whl

Download URL webcloner-1.0.2-py3-none-any.whl
Size 10.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e12cc7054044e29dc6e03397db24c8835a7d17697256744fc2884b54435d61b
BLAKE2b-256 checksum
How to use checksums
7bc2804a0057b16ab1d145f463c2eb8a7443b4fce7f8bb56ec92dfeea2a4400f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.0.1 CPython/3.12.4

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page