How ahmadibrahiim/website-downloader works
The product accepts a website address, mirrors the site with wget, compresses the downloaded files into a ZIP, and makes the result available to the user. The README describes socket-based progress and delivery; source confirms the socket-to-download-to-archive flow. The browser-side client and server startup wiring were not sampled, so their internal connections are omitted.
Main entry points: wget/index.js Site download job · app.js Express app · socket.js Socket handler · routes/index.js Home route
Components 10
Web interface
- Express app
app.js - Home route
routes/index.js - Socket handler
socket/socket.js - Page templates
views/index.hbs
Download jobs
- Site download job
wget/index.js - wget process
Archive output
- ZIP compressor
archiver/index.js - ZIP files
public/sites
Other components
- User
- Target website
Connections 12
- User → Express app: requests page
- Express app → Home route: routes request
- Home route → Page templates: renders page
- User → Socket handler: submits job
- Socket handler → Site download job: starts job
- Site download job → wget process: runs mirror
- wget process → Target website: fetches assets
- Site download job → Socket handler: emits progress
- Site download job → ZIP compressor: compresses files
- ZIP compressor → ZIP files: writes ZIP
- Express app → ZIP files: serves static files
- User → Express app: downloads ZIP