{"id":13714409,"url":"https://github.com/pgollangi/fastget","last_synced_at":"2025-04-22T12:36:45.109Z","repository":{"id":57540732,"uuid":"289327663","full_name":"pgollangi/fastget","owner":"pgollangi","description":"⚡ A CLI tool and Go library to ultra fast download files over HTTP(S)","archived":false,"fork":false,"pushed_at":"2024-03-21T17:20:15.000Z","size":3999,"stargazers_count":48,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-02T00:07:16.550Z","etag":null,"topics":["cli","command-line","commnad","fastget","go","go-library","golang"],"latest_commit_sha":null,"homepage":"https://pgollangi.github.io/fastget","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pgollangi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-21T17:30:28.000Z","updated_at":"2025-02-28T21:54:23.000Z","dependencies_parsed_at":"2024-06-20T04:16:49.616Z","dependency_job_id":"1e2b8a52-c335-44c3-8fd2-53c5a00e20c4","html_url":"https://github.com/pgollangi/fastget","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgollangi%2Ffastget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgollangi%2Ffastget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgollangi%2Ffastget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgollangi%2Ffastget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgollangi","download_url":"https://codeload.github.com/pgollangi/fastget/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250242124,"owners_count":21398069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","command-line","commnad","fastget","go","go-library","golang"],"created_at":"2024-08-02T23:01:58.957Z","updated_at":"2025-04-22T12:36:44.593Z","avatar_url":"https://github.com/pgollangi.png","language":"Go","funding_links":[],"categories":["Repositories"],"sub_categories":[],"readme":"![build](https://github.com/pgollangi/fastget/workflows/build/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/github.com/pgollangi/fastget)](https://goreportcard.com/report/github.com/pgollangi/fastget)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/pgollangi/fastget)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/pgollangi/fastget)\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/pgollangi/netselect)](https://pkg.go.dev/github.com/pgollangi/fastget)\n[![Maintainability](https://api.codeclimate.com/v1/badges/76a0d1d3903c6f0683c7/maintainability)](https://codeclimate.com/github/pgollangi/fastget/maintainability)\n[![Code Climate technical debt](https://img.shields.io/codeclimate/tech-debt/pgollangi/fastget)](https://codeclimate.com/github/pgollangi/fastget/trends/technical_debt)\n![License: MIT](https://img.shields.io/github/license/pgollangi/fastget)\n\n# FastGet\n\nA CLI tool as well as go library to ultrafast download files over HTTP(s).\n\n\u003e DISCLAIMER: FastGet performance heavily reliant on the network and CPU performance of the client machine. More importantly HTTP(s) endpoint must allow partial requests presenting `Accept-Ranges` and accepting `Range` headers.\n\n\n## Demo \n![fastget Demo](examples/fastget_demo.gif)\n\n## Usage\n`fastget` available as Commnad-Line tool and Go library.\n### Commnad-Line\n\n```sh\nfastget [options] \u003cURL_TO_DOWNLOAD\u003e\n```\n#### Examples\n```sh\n$ fastget http://speedtest.tele2.net/10MB.zip\nDownload started..\n3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 267.59 KB/s\n3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 165.65 KB/s\n3.50 MB / 3.50 MB 100 % [===========================================================================| 0s ] 116.10 KB/s\nDownload finished in 3s. File: E:\\10MB.zip\n```\n\nRead the  [documentation](https://pgollangi.github.io/fastget)  for more information on the CLI usage.\n\n### Go Library\n\nHere is a simple example that finds fastest hosts:\n\n```go\nfg, err := fastget.NewFastGetter(\"http://speedtest.tele2.net/10MB.zip\")\nif err != nil {\n    panic(err)\n}\n\nresult, err := fg.Get()\nif err != nil {\n    panic(err)\n}\nfile := result.OutputFile\nelapsedTime := result.ElapsedTime\n\n```\nRead the  [API documentation](https://pkg.go.dev/github.com/pgollangi/fastget) for more information on the library usage.\n\n## Installation \n\nDownload suitable binary for your OS at the [releases page](https://github.com/pgollangi/fastget/releases/latest).\n\n### Bash Install\nYou can install or update `fastget` with:\n\n```\ncurl -s https://raw.githubusercontent.com/pgollangi/fastget/master/scripts/install.sh | sudo bash\n```\nInstalls into `/usr/local/bin`\n\n### Scoop\n```sh\nscoop bucket add pgollangi-bucket https://github.com/pgollangi/scoop-bucket.git\nscoop install fastget\n```\nUpdating:\n```\nscoop update fastget\n```\n### Homebrew\n```sh\nbrew install pgollangi/tap/fastget\n```\nUpdating:\n```\nbrew upgrade fastget\n```\n### Go\n```sh\n$ go get github.com/pgollangi/fastget/cmd/fastget\n$ fastget\n```\n\n### Manual\n1. Download and install binary from the [latest release](https://github.com/pgollangi/fastget/releases/latest).\n2. Recommended: add `fastget` executable to your $PATH.\n\n## Building from source\n\n`fastget` CLI is written in the [Go programming language](https://golang.org/), so to build the CLI yourself, you first need to have Go installed and configured on your machine.\n\n### Install Go\n\nTo download and install  `Go`, please refer to the  [Go documentation](https://golang.org/doc/install). Please download  `Go 1.14.x`  or above.\n\n### Clone this repository\n```sh\n$ git clone https://gitlab.com/pgollangi/fastget.git\n$ cd fastget\n```\n### Build\n\n```sh\n$ go build cmd/fastget/main.go\n$ fastget\n```\n\n## Contributing\nThanks for considering contributing to this project!\n\nPlease read the [Contributions](.github/CONTRIBUTING.md) and [Code of conduct](.github/CODE_OF_CONDUCT.md). \n\nFeel free to open an issue or submit a pull request!\n\n## License\nCopyright © [Prasanna Kumar](https://pgollangi.github.io/)\n\n`fastget` is open-sourced software licensed under the [MIT](LICENSE) license.\n\n## Author\nBuilt with ❤ by [Prasanna Kumar](https://pgollangi.github.io/tabs/about/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgollangi%2Ffastget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpgollangi%2Ffastget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpgollangi%2Ffastget/lists"}