Hello,
You can use XMLHTTPRequest using javascript or you can use PHP to generate a progress bar and other script to download it when it's finished or you can generate and use a hook system. There're many approaches to generate a custom progress bar, and the best and easiest solution depends on the project and the developer.
Regards.