Skip to content

A simple tool to download all files from a webserver's "Index of" page

License

Notifications You must be signed in to change notification settings

lazaroblanc/Index-of-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

"Index of" downloader

A simple PowerShell script to recursively download all files from an "Index of" page

GitHub release (latest by date) GitHub all releases GitHub

How do I use it?

  1. Download the latest release
  2. Run the script IndexOfDownloader.ps1 via:
    • Right-Click and selecting Run with PowerShell
    • the command-line: .\IndexOfDownloader.ps1

Features

  • uses wget to retrieve files
  • uses GUI elements for prompts to the user
  • Progress indicators
  • Support for HTTP authentication methods

Why not just use wget from the cli?

I've occasionally found myself sharing large files with friends and family that I have hosted on a private webserver.

Since I usually split very large files into multiple parts I wanted them to be able to download the multiple files easily without the need to get additional software or knowing how to use it (like wget or JDownloader)

This does exactly that while being user-friendly at the same time.
The user gets a WinForms GUI prompt for entering the URL and the download location. Afterwards the download is started and shown with a progress indicator.

Now I can just give them this script with a URL to where the downloads are et-voila: No hassle for me or for them! :)

Limitations (aka. What this script can't do for you)

  1. While this Script will run in Windows PowerShell (v3.0 - v5.1) and PowerShell (>= v6) it works only under Windows since it uses the Windows Binaries for wget and the WinForms library for the GUI elements

  2. I've used reasonable arguments for wget in the script. There currently is no need to use different arguments nor is there a way to supply your own arguments to the wget instance in this script. Feel free to modify them in the script itself or add a way for you to pass them into the script via a parameter(s). In that case I would welcome a pull request! :) I however do not currently need this functionality.

  3. Non-ASCII filenames (like UTF-8) are not supported (wget limitation under Windows, unfortunately nothing I can do). Non-ASCII characters get escaped.


🐛 Bug reports & Feature requests 🆕

If you've found a bug or want to request a new feature please open a new Issue

🤝 Contributing

✅ Pull requests are welcome!

📃 License

Published under "The Unlicense"
Please see the License for details