{"id":43088344,"url":"https://github.com/nikhilsbhat/unpackker","last_synced_at":"2026-01-31T15:38:20.048Z","repository":{"id":57535114,"uuid":"282712185","full_name":"nikhilsbhat/unpackker","owner":"nikhilsbhat","description":"utility to pack and unpack your asset","archived":false,"fork":false,"pushed_at":"2020-09-23T16:50:58.000Z","size":4614,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-25T17:53:58.582Z","etag":null,"topics":["cli","cloud-storages","go-cli","golang","package","unpackker-cli"],"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/nikhilsbhat.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":"2020-07-26T18:45:25.000Z","updated_at":"2022-11-21T04:01:31.000Z","dependencies_parsed_at":"2022-09-26T18:21:51.931Z","dependency_job_id":null,"html_url":"https://github.com/nikhilsbhat/unpackker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nikhilsbhat/unpackker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhilsbhat%2Funpackker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhilsbhat%2Funpackker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhilsbhat%2Funpackker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhilsbhat%2Funpackker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nikhilsbhat","download_url":"https://codeload.github.com/nikhilsbhat/unpackker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nikhilsbhat%2Funpackker/sbom","scorecard":{"id":687233,"data":{"date":"2025-08-11","repo":{"name":"github.com/nikhilsbhat/unpackker","commit":"ebca4f873280402b194ee0670658889440de586d"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.8,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/22 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: containerImage not pinned by hash: Dockerfile:2","Warn: containerImage not pinned by hash: Dockerfile:18: pin your Docker image by updating alpine:3.11 to alpine:3.11@sha256:bcae378eacedab83da66079d9366c8f5df542d7ed9ab23bf487e3e1a8481375d","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:38","Warn: goCommand not pinned by hash: vendor/google.golang.org/grpc/vet.sh:49","Info:   0 out of   2 containerImage dependencies pinned","Info:   2 out of   4 goCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"28 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0391 / GHSA-6jvc-q2x7-pchv / GHSA-76wf-9vgp-pj7w","Warn: Project is vulnerable to: GO-2022-0635 / GHSA-7f33-f4f5-xwgw","Warn: Project is vulnerable to: GO-2022-0646 / GHSA-f5pg-7wfw-84q9","Warn: Project is vulnerable to: GO-2022-0236 / GHSA-h86h-8ppg-mxmh","Warn: Project is vulnerable to: GO-2021-0238 / GHSA-83g2-8m93-v3w7","Warn: Project is vulnerable to: GO-2022-0288","Warn: Project is vulnerable to: GO-2022-0969 / GHSA-69cg-p879-7622","Warn: Project is vulnerable to: GO-2022-1144 / GHSA-xrjj-mj9h-534m","Warn: Project is vulnerable to: GO-2023-1571 / GHSA-vvpx-j8f3-3w6h","Warn: Project is vulnerable to: GO-2023-1988 / GHSA-2wrh-6pvc-2jm9","Warn: Project is vulnerable to: GO-2023-2102 / GHSA-4374-p667-p6c8","Warn: Project is vulnerable to: GO-2023-2153 / GHSA-m425-mq94-257g / GHSA-qppj-fm5r-hxr3","Warn: Project is vulnerable to: GO-2024-2687 / GHSA-4v7x-pqxf-cx7m","Warn: Project is vulnerable to: GO-2024-3333","Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66","Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw","Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8","Warn: Project is vulnerable to: GO-2025-3488 / GHSA-6v2p-p543-phr9","Warn: Project is vulnerable to: GO-2020-0015 / GHSA-5rcv-m4m3-hfh7","Warn: Project is vulnerable to: GO-2021-0113 / GHSA-ppp9-7jff-5vj2","Warn: Project is vulnerable to: GO-2022-1059 / GHSA-69ch-w2m2-3vjp","Warn: Project is vulnerable to: GO-2021-0061 / GHSA-r88r-gmrh-7j83","Warn: Project is vulnerable to: GO-2022-0956 / GHSA-6q6q-88xp-6f2r","Warn: Project is vulnerable to: GO-2020-0036 / GHSA-wxc4-f4m6-wwqv","Warn: Project is vulnerable to: GO-2022-0536 / GHSA-39qc-96h7-956f / GHSA-hgr8-6h9x-f7q9","Warn: Project is vulnerable to: GO-2022-0197 / GHSA-4r78-hx75-jjj2 / GHSA-mv93-wvcp-7m7r","Warn: Project is vulnerable to: GO-2020-0014 / GHSA-vfw5-hrgq-h5wf","Warn: Project is vulnerable to: GO-2025-3372 / GHSA-6wxm-mpqj-6jpf"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T01:14:36.208Z","repository_id":57535114,"created_at":"2025-08-22T01:14:36.208Z","updated_at":"2025-08-22T01:14:36.208Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28946780,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["cli","cloud-storages","go-cli","golang","package","unpackker-cli"],"created_at":"2026-01-31T15:38:18.961Z","updated_at":"2026-01-31T15:38:20.043Z","avatar_url":"https://github.com/nikhilsbhat.png","language":"Go","readme":"# unpackker\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/nikhilsbhat/unpackker)](https://goreportcard.com/report/github.com/nikhilsbhat/unpackker)  [![shields](https://img.shields.io/badge/license-mit-brightgreen)](https://github.com/nikhilsbhat/unpackker/blob/master/LICENSE) [![PkgGoDev](https://pkg.go.dev/badge/github.com/nikhilsbhat/unpackker?tab=overview)](https://pkg.go.dev/github.com/nikhilsbhat/unpackker?tab=overview)\n\nA utility to pack and unpack the  files and folders that could be transported easily with less overhead.\n\n## Introduction\n\nThis utility is no different to other tools that are available to zip and unzip assets. But this has major highlights such as its support for adding metadata, versioning and support of remote backend(cloud storage) for the zipped file or folder with programmatic access.\n\nOnly unpacker can understand the binary generated by [unpackker](https://github.com/nikhilsbhat/unpackker). Example on how to use client library can be found [here](https://github.com/nikhilsbhat/unpackker/blob/master/examples/unpacker/unpacker_fs.go). [Doc](https://pkg.go.dev/github.com/nikhilsbhat/unpackker/pkg/unpacker?tab=doc#NewConfig) on unpackker client library would give more insights on unpackker.\n\nIt is built with support of various other packages that are written in golang, predominantly [bindata](https://github.com/go-bindata/go-bindata).\n\n## Requires\n\n* Since there are no prebuilt libraries of Unpackker available, it expected that [go](https://golang.org/dl/) to be pre installed on the machine to build one. Installing go can be found [here](https://golang.org/doc/install).\n\n## Installation\n\n```golang\ngo get -u github.com/nikhilsbhat/unpackker\ngo build\n```\n\nUse the executable just like any other go-cli application.\n\nFound some of the codes useful? then start using it by importing the package in your line of codes.\n\n```golang\nimport (\n    \"github.com/nikhilsbhat/unpackker\"\n)\n```\n\n### unpackker commands\n\n```bash\nunpackker [command] [flags]\n```\n\nMake sure appropriate command is used for the actions, to check the available commands and flags use `unpackker --help`\n\n```bash\nUnpackker helps user to pack or unpack the asset and store at the designated backend.\n\nUsage:\n  unpackker [command] [flags]\n\nAvailable Commands:\n  generate    Command to generate package of the specified asset\n  help        Help about any command\n  version     Command to fetch the version of unpackker installed\n\nFlags:\n  -a, --asset string         path to asset which needs to be packed\n  -c, --config string        path where the config file exists (default \".\")\n  -e, --environment string   name of environment in which the asset is packed\n  -h, --help                 help for unpackker\n  -n, --name string          name of the asset that has to be created\n  -p, --path string          path where the asset has to be created\n  -v, --version string       version the asset that needs to be packed\n\nUse \"unpackker [command] --help\" for more information about a command.\"\n```\n\n## Usage\n\n### packing\n\nThere are multiple ways to pass parameters to unpackker-cli. This includes passing arguments to the flags while the cli is being invoked.  \nEven it supports config file, a file with all required parameters can be passed while invoking cli. It is a yaml file just like nay other tools seeks for.\n\nThe config file could be passed to `-c` flag of cli. By default unpackker seeks for file `.unpackker-config.yaml` in the directory where the cli was invoked.\n\n### example\n\n```bash\nunpackker generate -c path/to/config.yaml\n```\n\nSample config can be found under [example](https://github.com/nikhilsbhat/unpackker/tree/master/examples) in the repo.\n\n**Note** unpackker cli flags always takes higher precedence over the configs specified under `.unpackker-config.yaml`.\n\n### unpacking\n\nOnly unpackker's client library can understand the binary generated.  \nAn example on how to use the unpackker's client library can be found [here](https://github.com/nikhilsbhat/unpackker/blob/master/examples/unpacker/unpacker_fs.go).\n\n## `unpackker generate`\n\nThe command `generate` helps in generating the binary of specified files or folders.  \n\n```bash\nunpackker generate\n```\n\nPass the required falgs or use the config file as specified earlier to generate the binaries of the required assets.\n\n```bash\n# Before executing the below command, the assumption is that/\n# Config file is used for other parameters and we are just overriding path in the below example.\nunpackker generate -p /path/to/asset\n```\n\n## Limitations\n\nCurrently it just supports few cloud storages as a remote backend. GCP and AWS are supported at the moment.\n\n## TODO\n\n* [ ] Writing Tests\n* [ ] API Reference Doc\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhilsbhat%2Funpackker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnikhilsbhat%2Funpackker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnikhilsbhat%2Funpackker/lists"}