A High-Performance Korean Raw Manhwa Scraper & Batch Downloader with a Modern Vercel-Style Web UI
WolfToon Scrapper is a full-stack Node.js + TypeScript web application designed to search, browse, view, and batch download raw Korean manhwa chapters into ZIP archives directly from Wolf Toon (늑대닷컴 / wfwf433.com).
Built with a high-contrast Vercel Black & White Glassmorphic UI, this tool offers real-time SSE progress tracking, server-side image proxying to bypass hotlink protections, and instant direct URL parsing.
Deploy your own live instance of WolfToon Scrapper to Vercel with one click:
- 🐺 Wolf Toon (늑대닷컴) Integration: Specifically crafted for
wfwf433.comand its raw manhwa repository. - 📦 Batch & Single Chapter ZIP Downloader:
- Download individual chapters as
.ziparchives. - Multi-select checkboxes or use Range Selection (e.g. select Ch. 1 to 50) to batch download multiple chapters simultaneously.
- Includes Direct Streaming ZIP Download endpoint (
/api/download-direct-zip) optimized for Vercel serverless functions!
- Download individual chapters as
- 🔄 EUC-KR Query Encoding: Transparent conversion of Korean search terms (
해골병사,나,나 혼자만) for accurate site search. - 🔗 Direct URL & Toon ID Parser: Paste any WFWF link (e.g.,
http://wfwf433.com/list?toon=75355or75355) into the search bar for instant series loading. - 🛡️ Built-in Image Proxy: Streams thumbnails and raw chapter images through
/api/proxy-imagewith customRefererandUser-Agentheaders to prevent broken image links. - ⚡ Real-Time Progress Streaming (SSE): Live progress bars, downloaded image counters, and status updates (Queued, Downloading, Zipping, Complete, Failed).
- 🎨 Vercel Black & White Glassmorphic UI: High-contrast monochrome aesthetic with responsive layouts and smooth micro-interactions.
- ⚙️ Configurable Target Domain: Update the base site URL (e.g.
https://wfwf434.com) directly in Settings without restarting the app if domain mirrors change.
| Layer | Technologies |
|---|---|
| Frontend | React 19, Vite, TypeScript, Tailwind CSS, Lucide Icons |
| Backend | Express 4, Node.js, tsx, iconv-lite, archiver |
| Serverless | Vercel Build Output API v3 (api/index.ts) |
| Packaging | archiver ZIP streams |
- Node.js (v18 or higher recommended)
npmorpnpm
-
Clone the repository:
git clone https://github.com/TypeAbdullah/WolfToon-Scrapper.git cd WolfToon-Scrapper -
Install dependencies:
npm install
-
Start Development Server:
npm run dev
- Frontend UI:
http://localhost:3000 - Express Server:
http://localhost:3001
- Frontend UI:
# Build client & server
npm run build
# Start production server
npm startThe server will run on http://localhost:3001 serving both the API and built static frontend.
WolfToon-Scrapper/
├── api/ # Vercel Serverless Function entry point
│ └── index.ts # Express app export for Vercel
├── src/
│ ├── client/ # Vite + React Frontend
│ │ ├── components/ # Navbar, ManhwaCard, ManhwaGrid, DetailModal, DownloadManager, SettingsModal
│ │ ├── api.ts # API fetch wrappers & SSE listener
│ │ ├── App.tsx # Main layout & state
│ │ └── index.css # Tailwind & Vercel Glassmorphism utility styles
│ ├── server/ # Express Backend
│ │ ├── index.ts # Express entry point & app export
│ │ ├── scraper.ts # EUC-KR scraper & HTML parser
│ │ ├── downloader.ts # Image fetcher, ZIP queue & SSE broadcaster
│ │ ├── routes.ts # API routes & Image proxy
│ │ └── config.ts # Persistent settings manager
│ └── shared/ # Shared TypeScript interfaces
├── downloads/ # Output folder for downloaded ZIP archives
├── vercel.json # Vercel deployment configuration
└── package.json
This tool is created for educational and personal archival purposes only. Respect the copyright holders and official publishing platforms (such as Naver Webtoon, Kakao, Tapas, Webtoon).
Distributed under the MIT License. See LICENSE for more information.