A TUI-based asynchronous Download Manager that leverages the power of IPC.
Built with ratatui for the terminal interface and tokio-console for async task monitoring.
Currently only supports UNIX systems due to the use of
Unix Domain Socketfor IPC.
Windows support vianamed_pipeis planned. (Work In Progress).
Uncomment thisconsole_subscriber::init();onserver/src/main.rsto use tokio-console.
backenddirectory: Contains core downloading logic (pausing/resuming via thread locking).Viewdirectory: Handles the TUI interface.
- π₯οΈ Intuitive Terminal User Interface (
ratatui) - π Async task debugging with
tokio-console - β‘ Concurrent multi-link downloads
- βΈοΈ Pause/Resume functionality
- π Download listing
- β² Retry upto 2 times if downloading fails.
- Windows support via
named_pipe - Error handling
git clone <repo-link>
cd dlm_rustRun the application using Docker Compose with a single command:
docker compose run --rm --build clientNote:
- This automatically builds the images, starts
dlm_serverin the background, waits for the socket to be ready, and launches the interactivedlm_clientTUI.- All downloaded files are automatically synced to the
./downloads/folder on your host machine.- Press
Escinside the TUI to exit.
To run the server as a persistent background daemon:
# Start server in background
docker compose up -d server
# Attach client TUI anytime
docker compose run --rm client1) Run server first
cargo run --bin dlm_server2) Run client (TUI)
cargo run --bin dlm_clientmulti_download
Test Links: Link1 (10MB): https://samplefile.com/samples/download/audio/mp3/mp3_sample_file_10MB.mp3/?utm_source=samplefile&utm_medium=format_page&utm_campaign=file_download

