{"id":13344188,"url":"https://github.com/martin-sucha/zipserve","last_synced_at":"2025-06-18T02:06:47.476Z","repository":{"id":57519838,"uuid":"142605073","full_name":"martin-sucha/zipserve","owner":"martin-sucha","description":"Assemble virtual zip files and serve them over HTTP in Golang","archived":false,"fork":false,"pushed_at":"2022-09-11T16:30:54.000Z","size":58,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-07-30T21:09:17.725Z","etag":null,"topics":["download","golang","http","range-query","zip"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/martin-sucha.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-07-27T17:22:39.000Z","updated_at":"2022-02-05T19:35:51.000Z","dependencies_parsed_at":"2022-09-05T12:01:27.179Z","dependency_job_id":null,"html_url":"https://github.com/martin-sucha/zipserve","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martin-sucha%2Fzipserve","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martin-sucha%2Fzipserve/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martin-sucha%2Fzipserve/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martin-sucha%2Fzipserve/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/martin-sucha","download_url":"https://codeload.github.com/martin-sucha/zipserve/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221279930,"owners_count":16790555,"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":["download","golang","http","range-query","zip"],"created_at":"2024-07-29T19:32:28.323Z","updated_at":"2024-10-24T05:30:15.020Z","avatar_url":"https://github.com/martin-sucha.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://github.com/martin-sucha/zipserve/actions/workflows/build.yaml/badge.svg?branch=master)](https://github.com/martin-sucha/zipserve/actions/workflows/build.yaml?query=branch%3Amaster)\n[![Go Report Card](https://goreportcard.com/badge/github.com/martin-sucha/zipserve)](https://goreportcard.com/report/github.com/martin-sucha/zipserve)\n[![Go Reference](https://pkg.go.dev/badge/github.com/martin-sucha/zipserve.svg)](https://pkg.go.dev/github.com/martin-sucha/zipserve)\n\nzipserve\n========\n\nPackage zipserve implements serving virtual zip archives over HTTP,\nwith support for range queries and resumable downloads. Zipserve keeps only the\narchive headers in memory (similar to archive/zip when streaming).\nZipserve fetches file data on demand from user-provided `io.ReaderAt` or `zipserve.ReaderAt`,\nso the file data can be fetched from a remote location.\n`zipserve.ReaderAt` supports passing request context to the backing store.\n\nThe user has to provide CRC32 of the uncompressed data, compressed and uncompressed size of files in advance.\nThese can be computed for example during file uploads.\n\nDifferences to archive/zip\n--------------------------\n\n- Deprecated FileHeader fields present in archive/zip (`CompressedSize`, `UncompressedSize`, `ModifiedTime`,\n  `ModifiedDate`) were removed in this package. This means the extended time information (unix timestamp) is always\n  emitted. If you use `Modified` in archive/zip, the generated file should be identical.\n\nDocumentation\n-------------\n\n- Package documentation: https://godoc.org/github.com/martin-sucha/zipserve\n- ZIP format: https://support.pkware.com/display/PKZIP/APPNOTE\n\nStatus of the project\n---------------------\n\nThe module is stable and supports writing almost everything as archive/zip (see `Differences to archive/zip` above),\nso there aren't many commits. I update the module when a new version of Go is released or on request.\n\nLicense\n-------\n\nThree clause BSD (same as Go), see [LICENSE](LICENSE).\n\nAlternatives\n------------\n\n- [archive/zip](https://golang.org/pkg/archive/zip/) if you only want to stream archives\n- [mod_zip](https://github.com/evanmiller/mod_zip) module for nginx\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartin-sucha%2Fzipserve","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartin-sucha%2Fzipserve","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartin-sucha%2Fzipserve/lists"}