{"id":13344175,"url":"https://github.com/duncanhall/gounzip","last_synced_at":"2026-01-23T01:04:26.998Z","repository":{"id":57647038,"uuid":"128910033","full_name":"duncanhall/gounzip","owner":"duncanhall","description":"A cross-platform utility for unzipping files in Go","archived":false,"fork":false,"pushed_at":"2018-08-22T09:51:57.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T06:33:22.093Z","etag":null,"topics":["go","golang","unzip","unzipping-files","util","zip"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/duncanhall.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}},"created_at":"2018-04-10T09:44:11.000Z","updated_at":"2018-08-22T09:51:59.000Z","dependencies_parsed_at":"2022-09-17T15:41:29.987Z","dependency_job_id":null,"html_url":"https://github.com/duncanhall/gounzip","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/duncanhall/gounzip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duncanhall%2Fgounzip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duncanhall%2Fgounzip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duncanhall%2Fgounzip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duncanhall%2Fgounzip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/duncanhall","download_url":"https://codeload.github.com/duncanhall/gounzip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/duncanhall%2Fgounzip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28676501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T01:00:35.747Z","status":"ssl_error","status_checked_at":"2026-01-23T01:00:19.529Z","response_time":144,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["go","golang","unzip","unzipping-files","util","zip"],"created_at":"2024-07-29T19:32:28.209Z","updated_at":"2026-01-23T01:04:26.977Z","avatar_url":"https://github.com/duncanhall.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gounzip\n\nA cross-platform utility for recursive unzipping in Go, with zero dependencies.\n\n## Install\n\n```\ngo get github.com/duncanhall/gounzip\n```\n\n## Usage\nBy default, only the source of the zip file is required:\n\n```go\ngounzip.Unzip(\"/home/project/archive.zip\")\n```\nThis will unzip to a folder next to the zip file, giving it the same name as the zip (with extension removed). If the default output directory does not exist, it is crated. \n\nEg, the the example above creates a new driectory at `/home/project/archive` and extracts the contents of the zip into it.\n\nTo specifiy a destination directory, provide a `gounzip.Destination` setter:\n\n```go\ngounzip.Unzip(\"/home/project/archive.zip\", gounzip.Destination(\"/home/output/project\"))\n```\n\nYou can skip parts of the zip hierarchy by providing a `gounzip.StripComponents` setter (similar to `tar --strip-components`). \n\nFor example supplying `gounzip.StripComponents(1)` will ignore the top-most folder from the output.` \n\n```go\ngounzip.Unzip(\"/home/project/archive.zip\", gounzip.StripComponents(1))\n\n```\nThis can be useful when a top-level folder was zipped, rather than just it's content and you don't want the folder to appear in the output.\n\nOptions can be combined, in any order:\n\n```go\ngounzip.Unzip(\"/project/templates.zip\", gounzip.StripComponents(1), gounzip.Destination(\"/project-templates\"))\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduncanhall%2Fgounzip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fduncanhall%2Fgounzip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fduncanhall%2Fgounzip/lists"}