Skip to content

Latest commit

 

History

History
75 lines (51 loc) · 3.79 KB

File metadata and controls

75 lines (51 loc) · 3.79 KB

Complete Website Downloader 💾

Download the complete source code of any website (including all assets) 🔨.

👉 Live Demo: https://website-downloader.onrender.com

enter image description here

CodeFactor

Description 📒

Website downloader works with wget and archiver to download all websites assets and compress then sends it back to the user through socket channel

wget params the being used

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent http://example.org

Explanation of the various flags:

  • --mirror – Makes (among other things) the download recursive.
  • --convert-links – convert all the links (also to stuff like CSS stylesheets) to relative, so it will be suitable for offline viewing.
  • --adjust-extension – Adds suitable extensions to filenames (html or css) depending on their content-type.
  • --page-requisites – Download things like CSS style-sheets and images required to properly display the page offline.
  • --no-parent – When recursing do not ascend to the parent directory. It useful for restricting the download to only a portion of the site

Deploy on cloud providers

Run on Replit Remix on Glitch Deploy on Railway Deploy to Cyclic Deploy to Koyeb Deploy to Render

Requirements 📦

  • Node.js 16 or newer
  • wget on the PATH. The app shells out to it, and nothing will download without it:
    • Debian/Ubuntu: apt install wget
    • macOS: brew install wget
    • Windows: winget install JernejSimoncic.Wget

How to run it 🤔

  • git clone https://github.com/AhmadIbrahiim/Website-downloader.git
  • cd Website-downloader
  • $ npm install
  • $ npm start
  • http://localhost:3000/

Optional settings

Variable Default What it does
PORT 3000 Port the server listens on
DOWNLOAD_QUOTA 100m Size ceiling passed to wget, so one request cannot fill the disk
DOWNLOAD_TIMEOUT_MS 300000 How long a single download may run before it is stopped

How To Contribute:

  • Open Issue(s) with any bugs you notice.
  • Please create Pull Requests if you think it would be an added value towards our program.

Liked it ? You can buy a coffee:

Buy Me A Coffee

Thank you,

Email: me@ahmed-ibrahim.com

https://www.ahmed-ibrahim.com