How nayandas69/social-media-downloader works
Social Media Downloader is a command-line tool for retrieving public media from supported platforms. Users choose a platform, submit a URL or batch file, select a format, and save downloads locally; the README also documents download history and update checks. The implementation is concentrated in smd/downloader.py, so several responsibilities share that path. Batch, Instagram, and update capabilities are documented or exported, but their internal wiring is not fully visible in the sampled excerpts; edges are limited accordingly.
Main entry points: downloader.py Interactive CLI · __main__.py CLI entry point
Components 18
CLI interaction
- CLI entry point
smd/__main__.py - Interactive CLI
smd/downloader.py
Download workflow
- URL validation
smd/downloader.py - Batch input
smd/downloader.py - Format selection
smd/downloader.py - Platform downloads
smd/downloader.py - Instagram handling
smd/downloader.py - Update checker
smd/downloader.py
Local state
- Configuration
smd/downloader.py - Download history
smd/downloader.py - Downloaded media
- Config file
- History CSV
External services
- yt-dlp
- Instaloader
- FFmpeg
- Update service
Other components
- CLI user
Connections 20
- CLI user → CLI entry point: starts
- CLI entry point → Interactive CLI: invokes
- CLI user → Interactive CLI: provides choices
- Interactive CLI → URL validation: validates URL
- Interactive CLI → Batch input: dispatches batch
- Batch input → Platform downloads: submits URLs
- Interactive CLI → Format selection: selects format
- Interactive CLI → Platform downloads: dispatches download
- Interactive CLI → Instagram handling: dispatches Instagram
- Platform downloads → yt-dlp: downloads via
- Platform downloads → Downloaded media: writes media
- Instagram handling → Instaloader: uses
- Instagram handling → Downloaded media: writes media
- Format selection → FFmpeg: converts or merges
- Interactive CLI → Configuration: loads settings
- Configuration → Config file: reads and writes
- Platform downloads → Download history: records result
- Download history → History CSV: writes entries
- Interactive CLI → Update checker: checks updates
- Update checker → Update service: requests release data