AhmadIbrahiim/Website-downloader
๐ก Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js
About AhmadIbrahiim/Website-downloader
AhmadIbrahiim/Website-downloader is an open-source project on GitHub, mainly written in HTML. ๐ก Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js It currently holds 5,904 stars and 1,365 forks with 26 open issues, and was last pushed on 2026-08-12 (repository created 2019-10-26).
Project Overview
Git Homed tracks it on the Today's Trending board, currently at rank #34 with 114 new stars today.
GitHub Repository Details
README
Complete Website Downloader ๐พ
Download the complete source code of any website (including all assets) ๐จ.๐ Live Demo: https://website-downloader.onrender.com
Description ๐
Website downloader works withwget 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
Requirements ๐ฆ
- Node.js 16 or newer
wgeton thePATH. 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.gitcd Website-downloader$ npm install$ npm starthttp://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:
Thank you,
Email: [email protected]
https://www.ahmed-ibrahim.com
