{"id":19810163,"url":"https://github.com/cdhtlr/goparalleldownload","last_synced_at":"2026-05-15T21:33:04.853Z","repository":{"id":176462351,"uuid":"601358157","full_name":"cdhtlr/GoParallelDownload","owner":"cdhtlr","description":"Golang basic file downloader using Accept-Ranges for parallel downloads to download a file in efficient way with the help of concurrency. ","archived":false,"fork":false,"pushed_at":"2023-02-13T22:32:31.000Z","size":14,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-11T06:46:13.529Z","etag":null,"topics":["accept-range","concurrency","content-length","downloader","fast","golang","high-performance","high-speed","http","parallel","range-get"],"latest_commit_sha":null,"homepage":"","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/cdhtlr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-02-13T22:31:57.000Z","updated_at":"2024-06-28T09:56:16.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d8ea01a-5054-4c33-958c-23143d987d4f","html_url":"https://github.com/cdhtlr/GoParallelDownload","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"0b6faa6b94bb206f1a653efb4e2e6a7fb517ffe5"},"previous_names":["cdhtlr/goparalleldownload"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhtlr%2FGoParallelDownload","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhtlr%2FGoParallelDownload/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhtlr%2FGoParallelDownload/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdhtlr%2FGoParallelDownload/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdhtlr","download_url":"https://codeload.github.com/cdhtlr/GoParallelDownload/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241153537,"owners_count":19918817,"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":["accept-range","concurrency","content-length","downloader","fast","golang","high-performance","high-speed","http","parallel","range-get"],"created_at":"2024-11-12T09:19:40.851Z","updated_at":"2026-05-15T21:33:04.783Z","avatar_url":"https://github.com/cdhtlr.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoParallelDownload\nGolang basic file downloader using Accept-Ranges for parallel downloads to download a file in efficient way with the help of concurrency.\n\nIf a URL supports http header - `Accept-Ranges`, it will be divided into several parts and download it concurrently. Otherwise, the files will still be downloaded but not in parallel\n\n![](https://raw.githubusercontent.com/cdhtlr/GoParallelDownload/main/Run.png)\n\n## QuickStart\n\n```go\ngo get -u github.com/cdhtlr/GoParallelDownload\n```\n\n# how does it work?\n* Gets head of http response\n* Initializes go routines for partial downloads if range downloads are supported\n* Run them simultaneously until all is Done\n\n## Compile command\n\n    CGO_ENABLED=0 GOOS=linux go build -ldflags=\"-s -w -extldflags=-static\" -a -o downloader.exe .\n\n## Disclaimer\n\nThis program comes with no warranty. You must use this program at your own risk.\nThis program slightly copies the source code from \u003ca href=\"https://github.com/raviraa/speedtest\"\u003eRaviraa Speedtest\u003c/a\u003e\n\n### Note\n\n- Using a large number of connections to a single URL can lead to DOS attacks.\n\n## Todo\n\n* Performs memory efficiency without debug.FreeOSMemory()\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdhtlr%2Fgoparalleldownload","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdhtlr%2Fgoparalleldownload","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdhtlr%2Fgoparalleldownload/lists"}