https://github.com/akhaled01/go-get
A simpler version of wget written in golang
https://github.com/akhaled01/go-get
go makefile rate-limiting wget
Last synced: 3 months ago
JSON representation
A simpler version of wget written in golang
- Host: GitHub
- URL: https://github.com/akhaled01/go-get
- Owner: akhaled01
- Created: 2024-01-13T11:34:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-16T20:45:12.000Z (about 1 year ago)
- Last Synced: 2025-01-19T23:44:43.635Z (5 months ago)
- Topics: go, makefile, rate-limiting, wget
- Language: Go
- Homepage:
- Size: 12.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-get
This is a lightweight basic version of GNU `wget` written purely in
## Implemented Options
1. `-B` : Enables Silent Mode. All output will be written to a file called `wget-log.txt`.
2. `-O` and `-P` : rename the file under a different name and under a different path respectively.
3. The project implements a rate limiter (still in works). Basically the program can control the speed of the download by using the flag `--rate-limit`. If you download a huge file you can limit the speed of your download, preventing the program from using the full possible bandwidth of your connection.
4. Downloading different files is possible. For this the program will receive the `-i` flag followed by a file name that will contain all links that are to be downloaded. The downloads will be done in async.
5. Finally, the project is able to mirror a website using the `-mirror` tag (in works).## More Information
* The project is written in pure golang, with a makefile for creating a build by running the `make` command.
* Multiple different external repositories were used, such as `github.com/progressbar/v3` for progress bar functionality.
* The project tried to use as much of the stdlibs as possible, but had to resort to external packages for some functionality like HTML parsing.### Written By akhaled01