How abhi-dhakar/download24 works
Download24 is a Next.js video-downloader application. A visitor submits a media link, gets extraction results and quality options, then streams the selected file through a guided download flow. yt-dlp handles supported platforms; TeraBox has a native share-resolution path. The public site also provides platform and help pages, while a token-gated admin dashboard exposes PostHog analytics. README documentation establishes the overall flow and major capabilities; source excerpts confirm selected route and helper calls, so some connections are documented rather than verified in full source.
Main entry points: parse/route.ts Parse route · download/route.ts Download route · Downloader.tsx Link input · ytdlp.ts yt-dlp adapter
Components 25
Public experience
- Landing page
app/page.tsx - Platform pages
app/[slug]/page.tsx - Guides and FAQ
app/how-it-works/page.tsx - Platform catalog
lib/platforms.ts - Link input
components/Downloader.tsx - Quality selection
components/download/DownloadDetails.tsx - Download progress
components/download/DownloadFlow.tsx
Download pipeline
- Parse route
app/api/parse/route.ts - Download route
app/api/download/route.ts - Progress route
app/api/download/progress/route.ts - Format triage
lib/formats.ts - yt-dlp adapter
lib/ytdlp.ts - TeraBox resolver
lib/terabox.ts - Parse cache
lib/cache.ts - Live job state
lib/liveJobs.ts
Analytics and admin
- Browser analytics
instrumentation-client.ts - Server analytics
lib/posthogServer.ts - Admin dashboard
app/admin/(dashboard)/page.tsx - Admin authentication
lib/adminAuth.ts - PostHog API client
lib/posthogApi.ts - HogQL route
app/api/admin/hogql/route.ts
Other components
- Visitor
- Media platforms
- TeraBox CDN
- PostHog
Connections 26
- Visitor → Link input: submits link
README.md - Landing page → Link input: renders
app/page.tsx - Platform pages → Link input: reuses input
app/[slug]/page.tsx - Link input → Parse route: requests extraction
README.md - Parse route → yt-dlp adapter: extracts media
app/api/parse/route.ts - Parse route → TeraBox resolver: resolves shares
app/api/parse/route.ts - Parse route → Format triage: builds options
README.md - Parse route → Parse cache: caches results
README.md - yt-dlp adapter → Media platforms: extracts from
README.md - Parse route → Quality selection: returns options
README.md - Quality selection → Download progress: hands off choice
README.md - Download progress → Download route: streams selection
README.md - Download route → yt-dlp adapter: prepares file
app/api/download/route.ts - Download route → TeraBox resolver: opens share file
app/api/download/route.ts - TeraBox resolver → TeraBox CDN: proxies bytes
README.md - Download route → Live job state: updates job
app/api/download/route.ts - Progress route → Live job state: reads job
app/api/download/progress/route.ts - Landing page → Platform catalog: shows platforms
app/page.tsx - Platform pages → Platform catalog: uses registry
app/[slug]/page.tsx - Guides and FAQ → Visitor: explains workflow
README.md - Browser analytics → PostHog: sends events
- Server analytics → PostHog: sends outcomes
- Admin dashboard → PostHog API client: requests insights
app/admin/(dashboard)/page.tsx - HogQL route → Admin authentication: checks session
app/api/admin/hogql/route.ts - HogQL route → PostHog API client: runs query
app/api/admin/hogql/route.ts - PostHog API client → PostHog: queries project
README.md