lsweb is a command-line tool designed to list and download files from websites. It acts as an ls command for websites, providing a quick way to view and fetch downloadable content from a given URL.
- List downloadable links from a website.
- Download files directly to the current working directory.
- Supports simultaneous and sequential downloading.
- Dynamic and colorful progress bar for each download.
- Automatically extracts links from JSON, XML, and HTML content.
- Special flag for fetching GitHub release assets.
- Go (version 1.22 or higher)
goreleaserfor building
-
Clone the repository:
git clone https://github.com/hemzaz/lsweb.git
-
Navigate to the project directory:
cd lsweb -
Build using
goreleaser:make build
lsweb [flags]-u: URL to fetch links from-f: File to fetch links from-o: Output format (json, txt, num, html)-filter: Regex to filter links-limit: Limit the number of links to fetch-ic: Ignore certificate errors-gh: Fetch GitHub releases-download: Download the files-list: List the links (default: true)-sim: Download files simultaneously-max-concurrent: Maximum number of concurrent downloads (default: 5)-overwrite: Overwrite existing files when downloading-timeout: Timeout in seconds for HTTP requests (default: 60)-version: Show version information
-
List downloadable links from a website:
lsweb -u https://example.com
-
Download files from a website:
lsweb -download -u https://example.com
-
Download files simultaneously:
lsweb -download -sim -u https://example.com
-
List GitHub release assets:
lsweb -gh -u https://github.com/telegramdesktop/tdesktop/
Screen.Recording.2023-08-18.at.15.07.13.mov
Contributions are welcome! Please feel free to submit a pull request or open an issue.
This project is licensed under the MIT License. See the LICENSE file for details.
Authored by: hemzaz the frogodile 🐸🐊